C語言博客做業06--結構體&文件

1.本章學習總結(2分)

1.1思惟導圖

1.2.本章學習體會

學習告終構體和文件,其實仍是很實用的,經過對文件的學習,能夠用代碼對文件進行修改,就像打開了新世界的大門。從難度上看,結構體那一部分比較簡單,記住一些基本語法,大致上都能掌握。我的以爲,文件那一部分裏,重點是要學習如何去使用那些文件函數,函數內容也比較多,須要較多練習才能更好的鞏固。從目前我的掌握得狀況上看,結構體得知識都能掌握,可是因爲本週學習的學習比較緊張,文件部分其實學得不是特別好......文件的那一部分知識點,不少函數的運用很不熟練,致使文件那一部分的應用能力較弱還需繼續練習。node

2.大做業(8分)

2.1.文件介紹

1.頭文件mssage.h編程

結構體struct node 儲存了一次運行中的答題狀況,用於後續排名並寫入文件
函數

2.其餘文件介紹
文件1:main.c學習

主體構架,以調用函數爲主。與以往不一樣的是修改告終束語與一些很是很是簡單的可視化編程......
指針

文件2:users.c調試

登入系統採用簡單的帳號密碼登入,若帳號或密碼出錯則沒法進入答題模塊。輸入數據的函數InputMessage在每次答題後將數據寫入結構體,Ranking函數將結構體內得數據經過得分進行排序。OutputMessage函數將內容寫入文件並輸出。
blog

文件3:text.c排序

這個就是出題+答題的模塊,和之前沒什麼區別。
編譯器

2.2.運行結果

1.登陸界面

2.排名結果

2.3改進大做業總結

1.碰到問題及解決辦法

  • 第一次寫的時候的問題:對於計算結果爲小數時沒有很好的處理方法
  • 解決:後來在助教的提醒下采用精確度的方式來解決這個問題。(後來在修改的時候考慮程序要友好,因此去掉了這個部分)
  • 第一次改的時候的問題:這一次修改主要把參數改成地址與指針,可是在改的時候出現了屢次程序莫名其妙崩潰的狀況。
  • 解決:通過調試查錯分析,發現問題是本身在傳參時出現了將
  • 第二次改的時候的問題:1.文件間出現了野指針 2.出現了編譯器沒法編譯的問題
  • 解決:1.因爲本身的結構體是在main中定義的,而本身的部分函數在message文件中,這就致使,函數比main更早出現告終構體。修改順序後問題就迎刃而解了。2.關於編譯器沒法從新編譯的問題,一開始我也是一頭霧水,後來舍友提到文件夾中的 .o 文件因而將它所有刪除,這個問題就解決了。

2.小結

通過此次對於大做業的編寫、調試、改造、升級,我對於編寫代碼有了很大的進步,尤爲是對於函數和指針的運用也更加熟練了。更值得一提的是,在本次大做業過程當中對於一些bug的檢查與修正讓個人查錯糾錯能力有了質的飛躍。再有就是對於變量名的選取、如何使程序更友好方面也下了很大的功夫,固然效果也不錯。對於程序的結構有了更深入的感悟。在第二次對於大做業的更改時,引入了多文件,這無疑使得個人程序的模塊劃分更加清晰了。固然,在這幾回對於大做業的修改,也發現了本身的不足。尤爲是第二次對它修改的時候,出現了野指針亂飛的狀況,讓人頭疼。好在通過修改以後,問題獲得解決。編譯

相關文章
相關標籤/搜索