《学生成绩管理系统(C++代码)(共12页).doc》由会员分享,可在线阅读,更多相关《学生成绩管理系统(C++代码)(共12页).doc(12页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、精选优质文档-倾情为你奉上 学生成绩管理系统 C+用C+编写一个学生成绩管理系统1、可以实现以下功能:cout 1.增加学生成绩 endl;cout 2.显示学生成绩 endl;cout 3.排序统计成绩 endl;cout 4.查找学生成绩 endl;cout 5.删除学生成绩 endl;cout 6.修改学生信息 endl;cout 0.安全退出系统 endl;2、用链表存储信息* 程序头部的注释结束*/cpp 1. #include2. #include 3. #include 4. #include/用getch(); 5. usingnamespacestd;6. 7. /Stude
2、nt类 8. classStudent9. 10. public:11. charname20;12. charId20;13. intCnum;/C+课程得分 14. intMnum;/汇编课程得分 15. intEnum;/嵌入式操作系统课程得分 16. intsum;/总分 17. Student*Next;18. voidInput()19. 20. coutname;21. coutId;22. coutCnum;23. coutMnum;24. coutEnum;25. sum=Cnum+Mnum+Enum;26. 27. voidReadFile(istream&in)28. 2
3、9. innameIdCnumMnumEnumsum;30. 31. voidShow()32. 33. cout姓名:nameendl学号:IdendlC+:Cnumendl34. 汇编:Mnumendl嵌入式操作系统:Enumendl总成绩:sumendlendlNext;p!=End;p=p-Next)57. p-Show();58. coutInput();64. End-Next=newStudent;65. End=End-Next;66. cout添加成功!endl;67. coutNext!=End;p=p-Next)/匹配成功则返回上一个指针,不成功就返回空 77. if(!
4、strcmp(p-Next-name,name)returnp;78. returnNULL;79. 80. Student*FindID(char*Id)81. 82. for(Student*p=Head;p-Next!=End;p=p-Next)/匹配成功则返回上一个指针,不成功就返回空 83. if(!strcmp(p-Next-Id,Id)returnp;84. returnNULL;85. 86. ;87. 88. /构造函数 89. Studentmassage:Studentmassage()90. 91. Head=newStudent;92. Head-Next=newSt
5、udent;93. End=Head-Next;94. in.open(sort.txt);95. if(!in)96. cout这是一个新系统,无学生信息。请先输入。ReadFile(in);102. if(End-name0=0)break;103. End-Next=newStudent;104. End=End-Next;105. 106. in.close();107. couttt读取学生信息成功!Next!=End;)116. 117. temp=Head-Next;118. Head-Next=Head-Next-Next;119. deletetemp;120. 121. d
6、eleteHead,End;122. 123. 124. /菜单 125. voidStudentmassage:ShowMenu()126. 127. cout*endl;128. cout学生成绩管理系统endl;129. coutendl;130. cout1.增加学生成绩endl;131. cout2.显示学生成绩endl;132. cout3.排序统计成绩endl;133. cout4.查找学生成绩endl;134. cout5.删除学生成绩endl;135. cout6.修改学生信息endl;136. cout0.安全退出系统endl;137. 138. coutnttntt请选择
7、:;139. 140. 141. /查找函数 142. voidStudentmassage:Find()143. 144. charname20,Id10;145. intx;146. Student*p=NULL;147. coutntt*n;148. couttt1.按学生的姓名查找ntt2.按学生学号查找;149. coutx;151. switch(x)152. 153. case1:coutname;154. if(p=FindItem(name)155. 156. p-Next-Show();157. cout输入任意字符!继续;158. getch();159. 160. el
8、se161. 162. couttt没有找到该姓名的学生!nendl;163. cout输入任意字符!继续;164. getch();165. 166. break;167. case2:168. 169. coutId;170. if(p=FindID(Id)171. 172. p-Next-Show();173. cout输入任意字符!继续;174. getch();175. 176. else177. 178. couttt没有找到该学好的学生!nendl;179. cout输入任意字符!继续;180. getch();181. 182. break;183. 184. 185. 186
9、. 187. /修改信息 188. voidStudentmassage:ModifyItem()/修改信息 189. 190. charname20;191. Student*p=NULL;192. coutname;193. if(p=FindItem(name)194. 195. couttt已找到学生的信息,请输入新的信息!Next-Input();197. cout修改成功!endl;198. cout输入任意字符!继续;199. getch();200. 201. else202. 203. couttt没有找到!endl;204. cout输入任意字符!继续;205. getch
10、();206. 207. 208. 209. /删除信息 210. voidStudentmassage:RemoveItem()/删除信息 211. 212. charname20;213. Student*p=NULL,*temp=NULL;214. couttt请输入要删除的学生的姓名:name;215. if(p=FindItem(name)216. 217. temp=p-Next;218. p-Next=p-Next-Next;219. deletetemp;220. couttt删除成功!endl;221. cout输入任意字符!继续;222. getch();223. 224.
11、 else225. 226. couttt没有找到!endl;227. coutname,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. 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
12、-sum=p2-sum;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-sum=temp-sum;256. 257. 258. / 259. intStudentmassage:ListCount()/统计当前链表的记录总数,返回一个整数 260. 261. if(!Head)262. return0;263. intn=0;264. for(Student*p=H
13、ead-Next;p!=End;p=p-Next)265. 266. n+;267. 268. returnn;269. 270. 271. / 272. voidStudentmassage:Sort()/对当前链表进行排序 273. 274. coutSorting.endl;275. Student*p=NULL,*p1=NULL,*k=NULL;276. intn=Studentmassage:ListCount();277. if(nNext;p!=End;p=p-Next)280. for(k=p-Next;k!=End;k=k-Next)281. 282. if(p-sumk-s
14、um)283. 284. Studentmassage:Swap(p,k);285. 286. 287. cout排序完成!Next;p!=End;p=p-Next)297. outnametIdtCnumt298. MnumtEnumtsumn;299. out.close();300. 301. 302. /主函数 303. intmain()304. 305. intx,i=0;306. boolquit=false;307. coutttendl;308. for(i=0;i3;i+)309. coutttttttttendl;310. couttt【欢迎进入学生成绩管理系统】endl
15、;311. for(i=0;i3;i+)312. coutttttttttendl;313. coutttnendl;314. StudentmassageGrade;315. coutx;322. switch(x)323. 324. case0:quit=true;break;325. case1:Grade.AddItem();break;326. case2:Grade.Display();break;327. case3:Grade.Sort();break;328. case4:Grade.Find();break;329. case5:Grade.RemoveItem();break;330. case6:Grade.ModifyItem();break;331. 332. 333. return0;334. 专心-专注-专业