首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計疑難解答

C 語言畢業設計選題系統:完整代碼修復與邏輯優化

     編輯:程式設計疑難解答

原代碼主要問題

  • for(;n>5||n 條件寫法錯誤,導致無限循環
  • feof(fp) 控制循環會多讀一行
  • scanf("%d%d,&s.snum,&s.cnum") 格式字符串缺少引號閉合
  • 結構體賦值未初始化,文件讀寫模式不匹配

修復要點

  1. 輸入驗證改用 do-while 循環
  2. 文件讀取改用 fscanf(...) == 8 判斷
  3. 選題操作中先查詢課程是否存在,再寫入學生文件
  4. 統計功能修正文件讀取循環條件

核心修正片段

// 正確的文件讀取循環
while (fscanf(fp, "%d%s%s%d%d%d%d%d",
    &c.num, c.name, c.kind, &c.ttime, &c.etime,
    &c.taltime, &c.mark, &c.term) == 8) {
    // 處理數據
}

完整代碼

見最佳回答提供的完整修正版,可直接編譯運行。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved