




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、精選優(yōu)質(zhì)文檔-傾情為你奉上 學(xué)生成績管理系統(tǒng) C+用C+編寫一個(gè)學(xué)生成績管理系統(tǒng)1、可以實(shí)現(xiàn)以下功能:cout<<" 1.增加學(xué)生成績 "<<endl;cout<<" 2.顯示學(xué)生成績 "<<endl;cout<<" 3.排序統(tǒng)計(jì)成績 "<<endl;cout<<" 4.查找學(xué)生成績 "<<endl;cout<<" 5.刪除學(xué)生成績 "<<endl;cout<<&q
2、uot; 6.修改學(xué)生信息 "<<endl;cout<<" 0.安全退出系統(tǒng) "<<endl;2、用鏈表存儲(chǔ)信息* 程序頭部的注釋結(jié)束*/cpp 1. <SPAN style="FONT-SIZE: 16px"># include <iostream> 2. # include <fstream> 3. # include <string.h&
3、gt; 4. #include <conio.h>/用getch(); 5. using namespace std; 6. 7. /Student類 8. class Student 9. 10. public: 11. char name20; 12. char Id20;
4、60;13. int Cnum; /C+課程得分 14. int Mnum; /匯編課程得分 15. int Enum; /嵌入式操作系統(tǒng)課程得分 16. int sum;
5、; /總分 17. Student * Next; 18. void Input() 19. 20. cout<<"tt請輸入學(xué)生的姓名:" cin>>name; 21. co
6、ut<<"tt請輸入學(xué)生的學(xué)號(hào):" cin>>Id; 22. cout<<"tt請輸入C+課程的成績:" cin>>Cnum; 23. cout<<"tt請輸入?yún)R編課程的成績:" cin>>Mnum; 24. cout<<"tt請輸入嵌入式操
7、作系統(tǒng)課程的成績:" cin>>Enum; 25. sum=Cnum+Mnum+Enum; 26. 27. void ReadFile(istream & in) 28. 29. in>>name>>Id>>Cnum>>Mnum>>Enum>>su
8、m; 30. 31. void Show() 32. 33. cout<<"姓名:"<<name<<endl<<"學(xué)號(hào):"<<Id<<endl<<"C+:"<<Cnum<<endl 34. <<&qu
9、ot;匯編:"<<Mnum<<endl<<"嵌入式操作系統(tǒng):"<<Enum<<endl<<"總成績:"<<sum<<endl<<endl<<endl; 35. 36. ; 37. 38. /Studentmassage類 39. class Studentmassage
10、;40. 41. public: 42. Studentmassage(); 43. Studentmassage(); 44. void ShowMenu(); 45. void Find(); 46. void Save(); 47. void ModifyItem(); 48. void
11、160;RemoveItem(); 49. void Swap(Student *,Student *); 50. void Sort(); 51. /void Unpass(); 52. int ListCount(); 53. /void Average(); 54. void Display()
12、; 55. 56. for(Student * p=Head->Next;p!=End;p=p->Next) 57. p->Show(); 58. cout<<"輸入任意字符!繼續(xù)" 59. getch(); 60. 61. void
13、60;AddItem() 62. 63. End->Input(); 64. End->Next=new Student; 65. End=End->Next; 66. cout<<"添加成功!"<<endl; 67. cout<<"輸入任
14、意字符!繼續(xù)" 68. getch(); 69. 70. private: 71. Student * Head,* End; 72. ifstream in; 73. ofstream out; 74. Student *FindItem(char * name)
15、160; 75. 76. for(Student * p=Head;p->Next!=End;p=p->Next)/匹配成功則返回上一個(gè)指針,不成功就返回空 77. if(!strcmp(p->Next->name,name)return p; 78. return NULL; 79. 8
16、0. Student *FindID(char * Id) 81. 82. for(Student * p=Head;p->Next!=End;p=p->Next)/匹配成功則返回上一個(gè)指針,不成功就返回空 83. if(!strcmp(p->Next->Id,Id)return p; 84. retu
17、rn NULL; 85. 86. ; 87. 88. /構(gòu)造函數(shù) 89. Studentmassage:Studentmassage() 90. 91. Head=new Student; 92. Head->Next=new Student; 93. End=Head->Next;
18、0;94. in.open("sort.txt"); 95. if(!in) 96. cout<<"這是一個(gè)新系統(tǒng),無學(xué)生信息。請先輸入。"<<endl; 97. else 98. 99. while(!in.eof() 100. 101.
19、160; End->ReadFile(in); 102. if(End->name0='0')break; 103. End->Next=new Student; 104. End=End->Next; 105. 106. in.close(); 1
20、07. cout<<"tt讀取學(xué)生信息成功!"<<endl; 108. 109. 110. 111. /析構(gòu)函數(shù) 112. Studentmassage:Studentmassage() 113. 114. Save(); 115. for(Student * temp;Head->
21、Next!=End;) 116. 117. temp=Head->Next; 118. Head->Next=Head->Next->Next; 119. delete temp; 120. 121. delete Head,End; 122. 123.
22、; 124. /菜單 125. void Studentmassage:ShowMenu() 126. 127. cout<<"*"<<endl; 128. cout<<
23、;" 學(xué) 生 成 績 管 理 系 統(tǒng) "<<endl; 129. cout<<"
24、60; "<<endl; 130. cout<<" 1.增加學(xué)生成績 "<<endl; 131. cout<<" &
25、#160; 2.顯示學(xué)生成績 "<<endl; 132. cout<<" 3.排序統(tǒng)計(jì)成績
26、60; "<<endl; 133. cout<<" 4.查找學(xué)生成績 "<<endl; 134. cout<<"&
27、#160; 5.刪除學(xué)生成績 "<<endl; 135. cout<<" 6.修改學(xué)生信息
28、60; "<<endl; 136. cout<<" 0.安全退出系統(tǒng) "<<endl; 137. &
29、#160;138. cout<<"nttntt請選擇:" 139. 140. 141. /查找函數(shù) 142. void Studentmassage:Find() 143. 144. char name20 ,Id10; 145. int x; 146. Student *
30、p=NULL; 147. cout<<"ntt*n" 148. cout<<"tt 1.按學(xué)生的姓名查找ntt 2.按學(xué)生學(xué)號(hào)查找" 149. cout<<"ntt*n請選擇:" 150. cin>>x; 151. switch(x) 152.
31、;153. case 1:cout<<"tt請輸入要查找的學(xué)生的姓名:"cin>>name; 154. if(p=FindItem(name) 155. 156. p->Next->Show(); 157. cout<<"輸入任意字符!繼續(xù)" 158.
32、160; getch(); 159. 160. else 161. 162. cout<<"tt沒有找到該姓名的學(xué)生!"<<'n'<<endl; 163. cout<<"輸入任意字符!繼續(xù)" 1
33、64. getch(); 165. 166. break; 167. case 2: 168. 169. cout<<"tt請輸入要查找的學(xué)生的學(xué)號(hào):"cin>>Id; 170. i
34、f(p=FindID(Id) 171. 172. p->Next->Show(); 173. cout<<"輸入任意字符!繼續(xù)" 174. getch(); 175. 176. &
35、#160;else 177. 178. cout<<"tt沒有找到該學(xué)好的學(xué)生!"<<'n'<<endl; 179. cout<<"輸入任意字符!繼續(xù)" 180. getch(); 181.
36、 182. break; 183. 184. 185. 186. 187. /修改信息 188. void Studentmassage:ModifyItem() /修改信息 189. 190. char name20;
37、60; 191. Student * p=NULL; 192. cout<<"tt請輸入要修改的人的姓名:"cin>>name; 193. if(p=FindItem(name) 194. 195. cout<<"tt已找到學(xué)生的信息,請輸入新的信息!"<<endl; 196.
38、60;p->Next->Input(); 197. cout<<"修改成功!"<<endl; 198. cout<<"輸入任意字符!繼續(xù)" 199. getch(); 200. 201. else 202. 203. co
39、ut<<"tt沒有找到!"<<endl; 204. cout<<"輸入任意字符!繼續(xù)" 205. getch(); 206. 207. 208. 209. /刪除信息 210. void Studentmassage:RemoveItem() &
40、#160; / 刪除信息 211. 212. char name20; 213. Student * p=NULL,*temp=NULL; 214. cout<<"tt請輸入要?jiǎng)h除的學(xué)生的姓名:"<<endl;cin>>name; 215. if(p=FindItem(name)
41、160;216. 217. temp=p->Next; 218. p->Next=p->Next->Next; 219. delete temp; 220. cout<<"tt刪除成功!"<<endl; 221. cout<<"輸入任意字符!繼
42、續(xù)" 222. getch(); 223. 224. else 225. 226. cout<<"tt沒有找到!"<<endl; 227. cout<<"輸入任意字符!繼續(xù)" 228. g
43、etch(); 229. 230. 231. 232. / 233. void Studentmassage:Swap(Student *p1, Student *p2)/交換兩個(gè)combox變量的數(shù)據(jù)域 234. 235. Student *temp=new Student; 236. strcpy(
44、temp->name,p1->name); 237. strcpy(temp->Id,p1->Id); 238. temp->Cnum=p1->Cnum; 239. temp->Mnum=p1->Mnum; 240. temp->Enum=p1->Enum; 241. temp->sum=p1->sum; 242.
45、60; 243. strcpy(p1->name,p2->name); 244. strcpy(p1->Id,p2->Id); 245. p1->Cnum=p2->Cnum; 246. p1->Mnum=p2->Mnum; 247. p1->Enum=p2->Enum; 248. p1->sum=p2->sum;
46、;249. 250. strcpy(p2->name,temp->name); 251. strcpy(p2->Id,temp->Id); 252. p2->Cnum=temp->Cnum; 253. p2->Mnum=temp->Mnum; 254. p2->Enum=temp->Enum; 255. p2->s
47、um=temp->sum; 256. 257. 258. / 259. int Studentmassage:ListCount()/統(tǒng)計(jì)當(dāng)前鏈表的記錄總數(shù),返回一個(gè)整數(shù) 260. 261. if(! Head) 262. return 0; 263. int n=0; 264. fo
48、r(Student * p=Head->Next;p!=End;p=p->Next) 265. 266. n+; 267. 268. return n; 269. 270. 271. / 272. void Studentmassage:Sort()/對當(dāng)前鏈表進(jìn)行排序 273
49、. 274. cout <<"Sorting."<<endl; 275. Student *p=NULL,*p1=NULL,*k=NULL; 276. int n=Studentmassage:ListCount(); 277. if(n<2) 278. return; 279.
50、0;for(p=Head->Next;p!=End;p=p->Next) 280. for(k=p->Next;k!=End;k=k->Next) 281. 282. if(p->sum>k->sum) 283. 284. Studentmassage:Swap(p,k);&
51、#160; 285. 286. 287. cout <<"排序完成!"<<endl; 288. getch(); 289. return; 290. 291. 292. /保存函數(shù) 293. void Studentmassage:Save()
52、 294. 295. out.open("sort.txt"); 296. for(Student *p=Head->Next;p!=End;p=p->Next) 297. out<<p->name<<"t"<<p->Id<<"t"<<p->Cnum<<"t"
53、; 298. <<p->Mnum<<"t"<<p->Enum<<"t"<<p->sum<<'n' 299. out.close(); 300. 301. 302. /主函數(shù) 303. int main() 304. 305. int x,i=0; 306. bool quit=fal
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 月餅節(jié)日活動(dòng)方案
- 月度員工生日活動(dòng)方案
- 期刊編輯活動(dòng)方案
- 暑假漂流活動(dòng)方案
- 楊家將文化活動(dòng)方案
- 杭州快遞員工活動(dòng)方案
- 服裝生意活動(dòng)方案
- 晚會(huì)學(xué)?;顒?dòng)方案
- 朝鮮早教活動(dòng)方案
- 智能家電活動(dòng)方案
- 2025年北京市中考物理試卷真題(含答案)
- 2025年上海市中考語文試卷真題(含答案及解析)
- 全國衛(wèi)生健康系統(tǒng)職業(yè)技能競賽(傳染病防治監(jiān)督)參考試題庫(含答案)
- 樓梯 欄桿 欄板(一)22J403-1
- 北師大高考?xì)v史強(qiáng)基考試題目
- 無創(chuàng)腦血氧監(jiān)護(hù)儀技術(shù)審評報(bào)告
- 糖尿病足的診斷與治療ppt課件
- 非車險(xiǎn)銷售人員基礎(chǔ)培訓(xùn)系列第一講走進(jìn)非車險(xiǎn)世界
- 比選申請文件模板
- pt1000熱電阻分度表
- 汽車維修安全生產(chǎn)管理制度大全
評論
0/150
提交評論