《C語言及程式設計》實踐專案 檔案操作

2021-09-23 17:37:31 字數 1552 閱讀 8841

返回:賀老師課程教學鏈結

【專案1 - 小玩檔案】

1、下面程式的功能是統計文字檔案abc.txt中的字元個數,請填空將程式補充完整。

#include 

#include

int main()

int i=0;

while(________) // (2)

printf("character: %d\n", i);

fclose(________);// (4)

return

0;}

2、用鍵盤輸入檔名,統計輸出檔案中每個字母、數字字元出現的次數;

[參考解答]

【專案2-用文字檔案儲存的學生名單】

檔案score.dat中儲存的是若干名學生的姓名和c語言課、高數和英語成績。

(1)定義學生結構體,其中包含姓名、c++課、高數和英語成績及總分資料成員。

//定義學生結構體

typedef

struct

student

(2)用物件陣列進行儲存學生的成績,讀入成績並計算總分;將總分高於平均總分且沒掛科的同學的資訊儲存到檔案pass_score.dat中。

int main( )
[參考解答]

【專案3 - 處理c語言源**的程式】

用c語言寫的源程式是一種文字檔案。本專案將以c語言的源程式為操作物件,完成對源程式的一系列處理,如判斷是否有main函式、將某些行加上注釋等。各功能可以分別編制乙個程式實現(建議用這種簡單的方案),也可以將其整合在一起(向著自己做出ide努力)。

(1)讀入乙個c++程式,判斷其中是否只有乙個main()函式,輸出「暫時沒有發現問題」,或者「沒有main()函式」,或者「不能定義多個main()函式」;

提示1:簡單處理,可以只比較判斷「main()」,考慮實際上的各種可能,main後面的括號中有任意多個空格及void的都應該算在內。建議按最簡單的情形處理。

提示2:建議設計乙個函式,將讀到的**與字串「main()」進行比較。函式用於判斷s1是否「包含」在讀入的一行s2中,呼叫時,形參s1處的實參用」main()」即可,這樣寫提公升了「抽象」級別,更容易實現,對應更高的**質量。

(2)讀入乙個c語言程式,使程式中的所有左花括號「」都單獨佔一行,新程式儲存到另乙個.c檔案中,並在螢幕上顯示處理過的程式,顯示時加上行號。

(3)讀入乙個c語言程式,輸入m、n兩個數字,從第m行起的n行**將作為注釋使用(即在這些行前面加上」//」),新程式儲存到另乙個.c檔案中,並在螢幕上顯示處理過的程式,顯示時加上行號。

[參考解答]

【專案4 - 間隔選職工】

(1)從鍵盤輸入10名職工的工號、姓名和年齡,並儲存到二進位制檔案worker.rec中

用下面的結構體表示一名職工的記錄

typedef

struct

worker;

(2)從檔案中讀取並顯示順序號為奇數的職工記錄。(即第 1,3,5,…號職工的資料)

[參考解答]

《C語言及程式設計》實踐專案 迴圈巢狀

返回 賀老師課程教學鏈結 專案1 位乘大於位和 下面程式的功能是輸出1 至100 之間每位數的乘積大於每位數的和的數,請將空白處缺少的成份補齊。include int main if k s printf d n n return 0 參考解答 專案2 乘法口訣表 程式設計序,輸出乙個乘法口訣表,形...

《C語言及程式設計》實踐專案 發現Bug

返回 賀老師課程教學鏈結 專案1 sin泰勒展式中的錯誤 下面是sin函式的泰勒展式 編寫了double mysin double x 用於求sin值,卻 死 在了123 上。劇透一下,迴圈沒有問題 當然問題會表現在迴圈中 試著用除錯工具找出問題出現在 然後給出解決問題的方案。include def...

《C語言及程式設計》實踐專案 迴圈巢狀

專案1 位乘大於位和 下面程式的功能是輸出1 至100 之間每位數的乘積大於每位數的和的數,請將空白處缺少的成份補齊。include int main if k s printf d n n return 0 參考解答 專案2 乘法口訣表 程式設計序,輸出乙個乘法口訣表,形如 行,每一行 參考解答 ...