第一部分 結構體應用
【項目1-學生成績統計】
每位同學的資訊學号、姓名、c++、高數、英語成績,定義一個學生成績的結構體數組,其中的資料成員包括學号(char num[12])、姓名(name)、三門課的成績(grade)、總分(score)、均分(average))。
(1)從鍵盤上輸入n名學生的資訊(n定義為常變量);
(2)求出每名同學的總分和均分,并存儲在結構體數組中(可以讀入過程中“順便”計算);
(3)輸出每位同學的資訊學号、姓名、總分和均分。
(4)輸出所有同學均分的均值。
參考運作結果如圖:
【項目2-有序的結構體數組】使用同項目1相同的結構體類型,在main函數中已經對結構體數組進行了初始化,請完成相關函數的定義,實作main函數中要求的功能。
提示:(1)排序中涉及對數組元素的交換,數組元素可以作為整體指派,如定義了student t,指派t=stu[i]、stu[j]=stu[i]都是合法的;(2)當涉及到字元數組表示的字元串的操作時,相關的函數需要#include<cstring>。
【項目3-檔案+結構體實作實用系統】score.txt(本文後提供了一部分資料,自行copy建文本檔案)中是一些同學的學号、姓名、c++、高數、英語成績,利用前兩個項目中定義的結構體數組,讀取檔案中的資料,完成下面的應用:
(1)從檔案中讀出資料,存放到結構體數組中;
為使後續工作能夠順利進行,自行實作實在有困難,可以在本項目後找到讀score.txt檔案部分的參考代碼,用“抄之有道”,突破這一關,學會從檔案中讀取資料。
(2)求出每名同學的總分(可以在讀入過程中“順便”計算);
(3)輸出結構體數組中所有同學的記錄。
(4)按總分排序(降序);
(5)輸出排序後的成績單;
(5)有30名同學可以獲得獎學金,規則是總分高者優先,有挂科不能得獎學金。請輸出可以得獎學金同學的名單。
(6)選做:統計各門課及總分的平均成績、最高和最低成績、标準偏差,并輸出。
所有功能可以在main()函數中實作,更推薦設計自定義函數實作任務。
【項目3-拓展(選做)】你是否可以在項目3基礎上拟出新的需求,将程式用一個“菜單”組織起來(如圖所示),做成一個“學生成績管理系統”之類的應用程式。(可以參考周末公布的參考解答。)
附:項目3中從檔案中讀取資料的參考代碼
【項目4-玩日期】
定義一個表示時間(包括年、月、日、時、分、秒)的結構體,然後完成下面的功能。
要實作的功能是:
(1)輸入一個時間(注意各部分資料的取值範圍)将輸入的時間儲存在一個結構體變量中;
(2)輸出該日在本年中是第幾天(注意閏年問題);
(3)輸出這是這一天中的第幾秒;
(4)輸出這是這一年中的第幾秒;(不要認為這個數荒唐,在計算中需要取随機數時需要一個不會重複的“種子數”,這個秒數是常用的。)
(5)求你輸入的時間d天後是哪年哪月哪日,将結果儲存在一個結構體變量中輸出;(你的萬天日期靠這個功能了)——插講一個故事。當年老賀由小孩兒過百日,想到自己的萬日在哪天。程式設計計算,結果剛過了十幾天,那個懊惱啊。第二個萬日得再等26年多,第三個萬日,誰敢說一定能過上?20歲左右的你,要算清楚了。在第(1)問中輸入你的生日及時辰,d值取為10000,可以算出你的萬日,大概在26歲多。
(6)求你輸入的時間s秒後是何日何時,将結果儲存在一個結構體變量中輸出;
【項目4擴充(選做】用結構體變量給定兩個時間,求(1)相差多少天?(2)相差多少秒?
【項目5-點結構體與枚舉】讀程式,寫出函數的定義,注意其中枚舉類型的用法
第二部分 動态連結清單體驗
下面是一個建立動态連結清單。閱讀程式,在草稿紙上畫對外連結表建立的過程,借此學會如何建立連結清單。然後改造程式,完成項目6的要求
【項目6-動态連結清單體驗】
在上面的程式基礎上定義下面的函數,實作相應的功能。為簡便起見,每編寫一個函數,立刻在main函數中調用進行測試。
(1)編寫make_list2()函數建立連結清單,使建立連結清單時,後輸入的資料,将新輸入的數字對應的結點放在連結清單末尾。若輸入為3 5 2 9 4 7 0,建立的連結清單為:
(2)編寫函數void search(int x),輸對外連結表中是否有值為x的結點。
(3)編寫函數delete_first_node(),删除連結清單中的第一個結點。
(4)編寫函數delete_node(int x),删除結點值為x的結點。
(5)編寫make_list3()函數建立連結清單,使建立連結清單時,使結點中的資料呈現升序。若輸入為3 5 2 9 4 7 0,建立的連結清單為:
(6)編寫函數void insert(int x),将值為x的結點插入到由make_list3建立起來的有序連結清單中。
==================== 迂者 賀利堅 csdn部落格專欄=================
======== 為it菜鳥起飛鋪跑道,和學生一起享受快樂和激情的大學 =======
附:score.txt中資料
201152501104 田程 65 69 68
201152501114 楊金龍 94 89 63
201152501115 周琳霄 92 84 60
201152501138 張強 67 62 84
201152501140 鄭好 80 60 86
201152501145 曹為尚 88 56 67
201152501201 倪婷 80 92 71
201152501202 李奧 59 80 55
201152501203 張佳怡 62 62 95
201152501204 鄧臣冬 100 65 91
201152501205 汪美娟 73 90 94
201152501206 趙格君 96 80 58
201152501207 張文韬 91 63 91
201152501208 車宜霖 88 84 79
201152501209 劉正 61 79 99
201152501210 李東航 62 58 66
201152501211 李華 96 96 83
201152501212 李曉鵬 73 88 93
201152501213 姜君孝 69 64 62
201152501214 董越 74 59 69
201152501215 趙浚源 63 58 96
201152501216 宮凡奇 89 82 60
201152501217 張詠晖 94 89 77
201152501218 丁夢瑤 78 93 58
201152501219 金婷 75 87 84
201152501220 張娟 90 65 62
201152501221 姜莉 76 78 81
201152501222 孫亞雯 90 87 73
201152501223 郭重 88 68 63
201152501224 王潇哲 85 94 97
201152501225 宋心潔 99 69 82
201152501226 杜婧霏 91 80 98
201152501227 于曉霞 69 72 99
201152501228 王莉莉 84 95 94
201152501229 萬雅璐 98 95 64
201152501230 曲淑霞 67 100 83
201152501231 高晶 98 81 67
201152501232 于澤瑩 67 64 77
201152501233 李婧怡 84 72 90
201152501234 姚宇 92 78 95
201152501235 于超 87 82 86
201152501236 李劍 78 86 95
201152501237 孟雨薇 66 64 58
201152501238 孫華澤 98 98 74
201152501239 朱绮夢 73 83 96
201152501240 周易 56 69 84
201152501241 蔡慶 60 78 71
201152501242 姜懿宸 86 94 59
201152501243 孫雪梅 64 92 66
201152501244 李芊潭 97 100 55
201152501245 周祥 100 86 74
201152501246 吐魯洪江 73 94 75
201153503240 王婷婷 68 73 69
201153503242 宗雪燕 60 82 61
201153503243 于小涵 79 60 78
201153503245 鐘藝 82 91 97
201153503246 耿清敏 67 77 60
201153503248 耿夢啟 79 100 57
201153503249 劉軒辰 59 86 90
201153503251 賀巧霞 56 87 88
201153503254 張麗芳 57 81 87
201154503207 劉蕊 57 89 69
201158501330 李濤 96 89 73
201158501332 張新明 68 59 64
201158501334 曹文戰 82 89 73
201160602108 孔令濤 63 86 80
201160602124 劉大偉 96 69 98
201163501101 孟站 58 100 70
201163501102 王超奇 75 63 89
201163501104 周濤 68 95 84
201163501105 賈治國 86 84 100
201163501106 楊磊 92 66 88
201163501107 萬建新 71 56 83
201163501108 李甯 70 95 73
201163501110 趙江彥 58 63 79
201163501111 杜俊一 61 75 70
201163501113 邢士峰 56 70 66
201163501114 李傳良 95 90 86
201163501115 宋吉超 78 91 80
201163501118 趙方義 70 100 94
201163501119 闫魯梅 72 80 100
201163501121 張明珠 83 89 65
201163501122 劉沙沙 86 94 71
201163501123 張星雨 57 82 87
201163501125 王曉佳 68 97 65
201163501129 周立軍 75 89 87
201163501130 周穎穎 80 95 68
201163501131 許倩 71 69 80
201163501132 于克美 57 82 63
201163501133 姜芹 89 99 88
201163501134 姚華玲 75 80 75
201163501135 楊慧 75 73 70
201163501136 于媛 73 89 69
201163501137 楊曉 61 96 74
201163501139 季瑩 71 87 68
201163501140 周夢如 85 97 77
201163501228 楊芳豔 57 70 87
201163501230 吳紅麗 55 63 84
201163501231 程銘 90 77 79
201163501232 劉雪 65 86 95
201163501234 黃瑤 100 78 71
201163502202 陳佩鴻 71 78 76
201163502204 王曉北 74 56 60
201163502205 馮科峰 57 79 73
201163502206 亢亞偉 95 96 79
201163502207 李夢 87 55 69
201163502208 何文豪 99 73 85
201163502210 王柯 60 63 67
201163502211 唐科軍 99 56 66
201163502212 劉帥 67 92 74
201163502214 鄧佩雲 56 55 89
201163502215 尹琪 92 98 62
201163502216 叢林 67 93 75
201163502217 趙東超 59 60 90
201163502220 郭鵬飛 83 70 96
201163502221 王金梯 64 92 99
201163502227 王學 81 63 79
201163502229 莫敏 80 55 86
201163502230 李輝 60 70 84
201163502231 歐陽燕平 75 90 86
201163502233 任金梅 83 55 91
201163502238 董文平 55 73 89
201163502239 王骎 56 60 59
201163502241 陳龍 78 72 68
201163502243 楊康迪 82 100 67
201163503120 邵娅楠 66 73 89
201163503124 盛善愛 87 70 90
201163503125 吳秋宇 56 94 77
201163503127 趙亞振 69 78 89
201163503128 尹源 66 79 81
201163503138 張偉鳳 71 90 73
201163503143 劉超超 62 93 95
201169503132 趙雅楠 100 86 81
201169503140 高美 58 94 57
201169503141 甯曉波 98 62 75
201169503142 王丹 89 70 89
201169503143 朱影 55 64 63
201169503144 楊玉萍 73 74 98
201169503145 魏穎穎 84 57 57
201170501147 任麗穎 84 64 72
201170501148 婁俊傑 99 61 86
201170501155 郭宏超 57 62 97
201170501156 張偉 100 68 66
201170501201 楊茂林 55 71 88
201170501247 範雯婷 77 94 79
201170502105 齊鵬 87 98 89
201170502106 尹承志 64 84 75
201170502107 丁友劍 89 85 71
201170502108 王旭 71 88 64
201170502113 王偉傑 100 80 64
201170502114 齊國鑫 93 92 71
201170502115 孫琦琦 85 74 70
201170502116 孫中華 59 61 60
201170502117 馬中平 93 74 58
201170502118 張秘 64 72 74
201170502119 楊其星 89 66 83
201170502120 趙加玉 69 93 99
201170502121 徐長清 98 81 62
201170502122 劉小虎 77 65 79
201170502125 柴志軍 94 61 75
201170502130 張偉平 78 92 100
201170502131 丁邱紅 67 87 100
201170502134 劉盼 78 67 93
201170502135 李文潔 56 68 81
201170502136 車麗娜 99 55 63
201170502137 李馥辛 100 77 59
201170502138 劉群 69 79 83
201170502139 石雨 73 62 93
201170502140 蔡冬雪 62 56 71
201170502141 季傳貞 86 96 71
201170502222 李發庭 85 83 82
201170505101 蔡杭 84 60 90
201170505249 張倩倩 94 82 68
201170504112 徐志嬌 80 93 76
201170504113 王彥 96 99 62
201170504114 夏冬梅 91 87 87
201170504115 王晶 85 91 57
201170504116 甯新梅 59 68 68
201170504124 房饷妤 90 79 66
201170504142 王甜 57 82 80