天天看點

《C語言及程式設計》實踐項目——結構體應用

【項目1-學生成績統計】

每位同學的資訊學号、姓名、c、高數、英語成績。定義一個學生成績的結構體數組,其中的資料成員包括學号(char num[13])、姓名(name)、三門課的成績(grade)、總分(score)、均分(average))。

(1)從鍵盤上輸入n名學生的資訊(n定義為常變量);

(2)求出每名同學的總分和均分,并存儲在結構體數組中(可以讀入過程中“順便”計算);

(3)輸出每位同學的資訊學号、姓名、總分和均分。

請參考下面的代碼,将需要的其他代碼寫出來。

參考運作結果如圖:

《C語言及程式設計》實踐項目——結構體應用

(4)使用相同的結構體類型,在main函數中已經對結構體數組進行了初始化,請完成相關函數的定義,實作main函數中要求的功能。

從檔案中讀出資料,存放到結構體數組中;

求出每名同學的總分(可以在讀入過程中“順便”計算);

輸出結構體數組中所有同學的記錄;

按總分排序(降序);

輸出排序後的成績單;

有30名同學可以獲得獎學金,規則是總分高者優先,有挂科不能得獎學金。請輸出可以得獎學金同學的名單。若符合得将的最後一名同學有重複(例如總分全為s),則總分為s的同學全得獎。

所有功能可以在main()函數中實作,推薦設計自定義函數實作任務,更推薦用多檔案組織完成。

(6)在前面工作的基礎拟出新的需求,将程式用一個“菜單”組織起來(如圖所示),做成一個“學生成績管理系統”之類的應用程式。

《C語言及程式設計》實踐項目——結構體應用

【項目2-玩轉日期和時間】

定義一個表示時間(包括年、月、日、時、分、秒)的結構體,然後完成下面的功能。

提示:将各個功能分别設計成函數實作,在main函數中調用,進行測試。可以設計一個函數,即刻進行測試,以降低複雜度。

要實作的功能是:

(1)輸入一個時間(注意各部分資料的取值範圍)将輸入的時間儲存在一個結構體變量中;

(2)輸出該日在本年中是第幾天(注意閏年問題);

(3)輸出這是這一天中的第幾秒;

(4)輸出這是這一年中的第幾秒;(不要認為這個數荒唐,在計算中需要取随機數時需要一個不會重複的“種子數”,這個秒數是常用的。)

(5)求你輸入的時間d天後是哪年哪月哪日,将結果儲存在一個結構體變量中輸出。

【項目3-區号查詢】

繼續閱讀