亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > C++ > 正文

C++實現簡單的學生管理系統

2020-05-23 14:19:03
字體:
來源:轉載
供稿:網友

本文給大家分享的是使用C++實現的簡單的學生管理系統的代碼,主要是通過鏈表來實現,非常簡潔,有需要的小伙伴可以參考下。

C++實現簡單的學生管理系統

//Student.cpp

 

 
  1. #include<iostream> 
  2.  
  3. using namespace std; 
  4.  
  5. struct Stu 
  6. char no[10]; 
  7. char name[16]; 
  8. int math; 
  9. int chi; 
  10. double ave; 
  11. }; 
  12.  
  13. class Student 
  14. public
  15. Stu st; 
  16. Student * next; 
  17. public
  18. Student(){} 
  19. Student(Stu s) 
  20. st=s; 
  21. next=NULL; 
  22. st.ave=(st.math+st.chi)/2.0; 
  23. void setst(Stu s) 
  24. st=s; 
  25. st.ave=(st.math+st.chi)/2.0; 
  26. Stu getst() 
  27. return st; 
  28. void show() 
  29. cout<<"----------------------------"<<endl; 
  30. cout<<"學號:"<<st.no<<endl; 
  31. cout<<"姓名:"<<st.name<<endl; 
  32. cout<<"數學成績:"<<st.math<<endl; 
  33. cout<<"語文成績:"<<st.chi<<endl; 
  34. cout<<"平均成績:"<<st.ave<<endl; 
  35. cout<<"----------------------------"<<endl; 
  36. }; 

//main.cpp

 

 
  1. #include<fstream> 
  2. #include"Student.cpp" 
  3.  
  4. using namespace std; 
  5.  
  6. Student * create_List(); 
  7. void traverse_List(Student * pHead); 
  8. bool is_empty(Student * pHead); 
  9. int length_List(Student * pHead); 
  10. bool insert_List(Student * pHead,int position,Stu st); 
  11. bool delete_List(Student * pHead,int position,Stu * st); 
  12. void sort_List(Student * pHead);  
  13. void menu_select(); 
  14. void handle_menu(int s); 
  15. void outFile(); 
  16. Student * inFile(); 
  17. void delFile(); 
  18.  
  19. Student * pHead; 
  20.  
  21.  
  22. void main() 
  23. menu_select(); 
  24.  
  25. void menu_select() 
  26. int s; 
  27. cout<<"請輸入您要操作的選項:"<<endl; 
  28. cout<<"1.增加原始記錄"<<endl; 
  29. cout<<"2.按平均分排序顯示所有記錄"<<endl; 
  30. cout<<"3.保存原始文件"<<endl; 
  31. cout<<"4.讀取原始文件"<<endl; 
  32. cout<<"5.刪除原始文件"<<endl; 
  33. cout<<"6.插入單條記錄"<<endl; 
  34. cout<<"7.刪除單條記錄"<<endl; 
  35. cout<<"8.顯示記錄總條數"<<endl; 
  36. cout<<"9.結束程序運行"<<endl<<endl; 
  37. cout<<"左邊數字對應功能選擇,請選擇1-9:"
  38. cin>>s; 
  39. handle_menu(s); 
  40.  
  41. void handle_menu(int s) 
  42. switch (s) 
  43. case 1: 
  44. system("cls"); 
  45. pHead=create_List(); 
  46. system("cls"); 
  47. menu_select(); 
  48. break
  49. case 2: 
  50. if(NULL==pHead) 
  51. cout<<"記錄總條數為零"<<endl; 
  52. getchar(); 
  53. getchar(); 
  54. system("cls"); 
  55. menu_select(); 
  56. system("cls"); 
  57. sort_List(pHead); 
  58. traverse_List(pHead); 
  59. getchar(); 
  60. getchar(); 
  61. system("cls"); 
  62. menu_select(); 
  63. break
  64. case 3: 
  65. if(pHead!=NULL) 
  66. system("cls"); 
  67. outFile(); 
  68. system("cls"); 
  69. menu_select(); 
  70. system("cls"); 
  71. menu_select(); 
  72. break
  73. case 4: 
  74. system("cls"); 
  75. pHead=inFile(); 
  76. system("cls"); 
  77. menu_select(); 
  78. break
  79. case 5: 
  80. system("cls"); 
  81. delFile(); 
  82. system("cls"); 
  83. menu_select(); 
  84. break
  85. case 6: 
  86. if(NULL==pHead) 
  87. cout<<"記錄總條數為零"<<endl; 
  88. getchar(); 
  89. getchar(); 
  90. system("cls"); 
  91. menu_select(); 
  92. system("cls"); 
  93. int num; 
  94. Stu st; 
  95. traverse_List(pHead); 
  96. cout<<"您想在哪條記錄后插入,請輸入序號:"
  97. cin>>num; 
  98. cout<<"編輯要插入的記錄:"<<endl; 
  99. cout<<"學號:"
  100. cin>>st.no; 
  101. cout<<"姓名:"
  102. cin>>st.name; 
  103. cout<<"數學成績:"
  104. cin>>st.math; 
  105. cout<<"語文成績:"
  106. cin>>st.chi; 
  107. if(insert_List(pHead,num-1,st)) 
  108. cout<<"插入成功!"<<endl; 
  109. else 
  110. cout<<"插入失敗!"<<endl; 
  111. getchar(); 
  112. getchar(); 
  113. system("cls"); 
  114. menu_select(); 
  115. break
  116. case 7: 
  117. if(NULL==pHead) 
  118. cout<<"記錄總條數為零"<<endl; 
  119. getchar(); 
  120. getchar(); 
  121. system("cls"); 
  122. menu_select(); 
  123. int num; 
  124. Stu * st=(Stu *)malloc(sizeof(Stu)); 
  125. traverse_List(pHead); 
  126. cout<<endl<<"請輸入您要刪除的記錄的序號:"
  127. cin>>num; 
  128. if(delete_List(pHead,num,st)) 
  129. cout<<endl<<"成功刪除的記錄如下:"<<endl; 
  130. cout<<"學號:"<<st->no<<endl<<"姓名:"<<st->name<<endl; 
  131. else 
  132. cout<<"刪除失敗!"<<endl; 
  133. getchar(); 
  134. getchar(); 
  135. system("cls"); 
  136. menu_select(); 
  137. break
  138. case 8: 
  139. if(NULL!=pHead) 
  140. system("cls"); 
  141. cout<<"記錄總條數:"<<length_List(pHead)<<"條"<<endl; 
  142. getchar(); 
  143. getchar(); 
  144. system("cls"); 
  145. menu_select(); 
  146. else 
  147. cout<<"記錄總條數為零"<<endl; 
  148. getchar(); 
  149. getchar(); 
  150. system("cls"); 
  151. menu_select(); 
  152. break
  153. case 9: 
  154. system("cls"); 
  155. cout<<"成功退出!"<<endl; 
  156. exit(0); 
  157. break
  158.  
  159.  
  160. void delFile() 
  161. ofstream fileout; 
  162. fileout.open("c://kcsj.txt",ios_base::out); 
  163. fileout<<""
  164. fileout.close(); 
  165.  
  166.  
  167. Student * inFile() 
  168. Student * pHead=(Student *)malloc(sizeof(Student)); 
  169. if(NULL==pHead) 
  170. cout<<"分配失敗,程序終止!"<<endl; 
  171. exit(0); 
  172. Student * pTail=pHead; 
  173. pTail->next=NULL; 
  174. ifstream in("c://kcsj.txt"); 
  175. if (!in.is_open()) 
  176. cout << "Error opening file"<<endl;  
  177. exit(0); 
  178. while (!in.eof()) 
  179. Stu st; 
  180. in.read(reinterpret_cast<char *>(&st), sizeof(st)); 
  181. if (in.fail())  
  182. break
  183. Student * pNew=new Student(); 
  184. if(NULL==pNew) 
  185. printf("分配失敗,程序終止/n"); 
  186. exit(0); 
  187. pNew->setst(st); 
  188. pTail->next=pNew; 
  189. pNew->next=NULL; 
  190. pTail=pNew; 
  191. in.close(); 
  192. return pHead; 
  193.  
  194.  
  195. void outFile() 
  196. ofstream out; 
  197. out.open("c://kcsj.txt",ios_base::out|ios_base::app|ios::binary); 
  198. if(!out) 
  199. cout<<"文件不存在,退出時別忘記保存文件!"<<endl; 
  200. out.close(); 
  201. out.open("stu.dat",ios_base::out|ios::binary); 
  202. else 
  203. {  
  204. out.close(); 
  205. out.open("c://kcsj.txt",ios_base::out|ios_base::app|ios::binary); 
  206. Student * temp=pHead->next; 
  207. while(temp!=NULL) 
  208. Stu st=temp->getst(); 
  209. out.write(reinterpret_cast<char *>(&st), sizeof(st)); 
  210. temp=temp->next; 
  211. }  
  212. out.close(); 
  213.  
  214. Student * create_List() 
  215. int len; 
  216. Student * pHead=(Student *)malloc(sizeof(Student)); 
  217. if(NULL==pHead) 
  218. cout<<"分配失敗,程序終止!"<<endl; 
  219. exit(0); 
  220. Student * pTail=pHead; 
  221. pTail->next=NULL; 
  222. cout<<"請輸入要存儲的學生人數:"
  223. cin>>len; 
  224. for(int i=0;i<len;i++) 
  225. Stu st; 
  226. cout<<"請輸入第"<<i+1<<"個學生的學號:"
  227. cin>>st.no; 
  228. cout<<"請輸入第"<<i+1<<"個學生的姓名:"
  229. cin>>st.name; 
  230. cout<<"請輸入第"<<i+1<<"個學生的數學成績:"
  231. cin>>st.math; 
  232. cout<<"請輸入第"<<i+1<<"個學生的語文成績:"
  233. cin>>st.chi; 
  234. Student * pNew=new Student(); 
  235. if(NULL==pNew) 
  236. printf("分配失敗,程序終止/n"); 
  237. exit(0); 
  238. pNew->setst(st); 
  239. pTail->next=pNew; 
  240. pNew->next=NULL; 
  241. pTail=pNew; 
  242. return pHead; 
  243.  
  244. void traverse_List(Student * pHead) 
  245. int i=1; 
  246. Student * temp=pHead->next; 
  247. while(temp!=NULL) 
  248. cout<<endl<<"序號:"<<i<<endl; 
  249. temp->show(); 
  250. temp=temp->next; 
  251. i++; 
  252. }  
  253.  
  254. bool is_empty(Student * pHead) 
  255. if(NULL==pHead->next) 
  256. return true
  257. else 
  258. return false
  259.  
  260. int length_List(Student * pHead) 
  261. int len=0; 
  262. Student * temp=pHead->next; 
  263. while(temp) 
  264. len++; 
  265. temp=temp->next; 
  266. return len; 
  267.  
  268. bool insert_List(Student * pHead,int position,Stu st) 
  269. int i=0; 
  270. Student * p=pHead; 
  271.  
  272. while(NULL!=p&&i<position-1) 
  273. p=p->next; 
  274. i++; 
  275. if(i>position-i||NULL==p) 
  276. return false
  277. Student * pNew=(Student *)malloc(sizeof(Student)); 
  278. if(NULL==pNew) 
  279. cout<<"分配失敗,程序終止"<<endl; 
  280. exit(0); 
  281. pNew->setst(st); 
  282. pNew->next=p->next; 
  283. p->next=pNew; 
  284. return true
  285.  
  286. bool delete_List(Student * pHead,int position,Stu * st) 
  287. int i=0; 
  288. Student * p=pHead; 
  289.  
  290. while(NULL!=p->next&&i<position-1) 
  291. p=p->next; 
  292. i++; 
  293. Student * q=p->next; 
  294. *st=q->getst(); 
  295. p->next=p->next->next; 
  296. free(q); 
  297. q=NULL; 
  298. return true
  299.  
  300. void sort_List(Student * pHead) 
  301. Student * p,* q; 
  302. Stu temp; 
  303. int i,j; 
  304. int len=length_List(pHead); 
  305. for(i=0,p=pHead->next;i<len-1;i++,p=p->next) 
  306. for(j=i+1,q=p->next;j<len;j++,q=q->next) 
  307. if(q->st.ave>p->st.ave) 
  308. temp=q->st; 
  309. q->st=p->st; 
  310. p->st=temp; 
  311. }  

以上所述就是本文的全部內容了,希望大家能夠喜歡。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产精品第七十二页| 欧美人在线观看| 欧美高清视频在线| 国产一区二区三区在线| 国产成人av网| 亚洲最大成人免费视频| 91麻豆国产语对白在线观看| wwwwwwww亚洲| 91系列在线播放| 亚洲free嫩bbb| 国产日产久久高清欧美一区| 日韩在线资源网| 一本色道久久88综合日韩精品| 欧美精品免费看| 中文字幕免费精品一区高清| 欧美大片免费看| 亚洲最大av网| 亚洲国语精品自产拍在线观看| 久久九九国产精品怡红院| 中文字幕自拍vr一区二区三区| 精品成人av一区| 中文字幕精品—区二区| 热久久视久久精品18亚洲精品| 欧美日韩美女在线观看| 国产一区二区三区毛片| 欧美激情videos| 国产精品一香蕉国产线看观看| 欧美日韩亚洲天堂| 国内精品免费午夜毛片| 精品视频在线播放色网色视频| 久久视频在线视频| 91久久久久久久一区二区| 国产啪精品视频| 国产精品精品一区二区三区午夜版| 日本人成精品视频在线| 国产精品久久国产精品99gif| 久久久久免费精品国产| 欧美在线www| 在线播放精品一区二区三区| 亚洲国产精品高清久久久| xxx一区二区| 午夜精品蜜臀一区二区三区免费| 91精品国产综合久久香蕉922| 久久视频这里只有精品| 国产999精品| 欧美黑人极品猛少妇色xxxxx| 亚洲精品乱码久久久久久金桔影视| 国产精品视频永久免费播放| 国产极品精品在线观看| 日本最新高清不卡中文字幕| 欧美最猛黑人xxxx黑人猛叫黄| 欧美日韩激情网| 国产suv精品一区二区| 欧美日韩综合视频| 国产一区二区三区视频免费| 久久综合久中文字幕青草| www.欧美免费| 78色国产精品| 久久精品青青大伊人av| 在线观看欧美成人| 亚洲乱码国产乱码精品精天堂| 亚洲第一级黄色片| 国产成人精品电影久久久| 国产精品影院在线观看| 亚洲欧美国产精品| 在线亚洲欧美视频| 欧美性20hd另类| 亚洲欧美日韩直播| 国产精品88a∨| 亚洲成人亚洲激情| 亚洲乱码国产乱码精品精天堂| 69国产精品成人在线播放| 久久这里只有精品视频首页| 国产日本欧美一区二区三区在线| 久久久久久com| 日韩中文字在线| 欧美国产亚洲精品久久久8v| 69久久夜色精品国产69乱青草| 在线视频欧美日韩精品| 91国产美女在线观看| 综合136福利视频在线| 国产成人精彩在线视频九色| 尤物九九久久国产精品的分类| 日韩免费在线视频| 欧美麻豆久久久久久中文| 国产精品久久久久国产a级| 国产91精品在线播放| 久久精品视频网站| 亚洲精品国产成人| 国产欧美日韩综合精品| 777午夜精品福利在线观看| 亚洲第一区第二区| 久久久久久国产三级电影| 亚洲电影免费观看高清完整版| 欧美日韩国内自拍| 国产网站欧美日韩免费精品在线观看| 91精品啪在线观看麻豆免费| 91丝袜美腿美女视频网站| 欧美洲成人男女午夜视频| 中文字幕欧美日韩精品| 午夜剧场成人观在线视频免费观看| 久久久久久久久电影| 狠狠操狠狠色综合网| 国产精品高潮呻吟视频| 亚洲欧洲一区二区三区在线观看| 在线视频中文亚洲| 日韩三级影视基地| 久久福利视频导航| 97久久精品人搡人人玩| 国产69精品久久久久9| 国产精品999| 91中文字幕在线| 欧美精品一本久久男人的天堂| 久久久久久久香蕉网| 日韩成人激情在线| 欧美在线视频免费观看| 精品成人国产在线观看男人呻吟| 亚洲第一区中文字幕| 成人xxxx视频| 成人美女免费网站视频| 美女少妇精品视频| 亚洲一区二区在线播放| 精品福利在线视频| 国产精品久久久久久久久久99| 57pao成人国产永久免费| 欧美大奶子在线| 亚洲男女自偷自拍图片另类| 亚洲国产精品va在线看黑人动漫| 久久97精品久久久久久久不卡| 亚洲自拍偷拍福利| 欧美激情喷水视频| 国产精品美女久久| 国产精品美女www| 国产有码一区二区| 最近2019中文字幕大全第二页| 欧美日韩国产在线| 亚洲精品理论电影| 啊v视频在线一区二区三区| 亚洲专区国产精品| 国产成人久久精品| 欧美专区在线视频| 午夜精品一区二区三区在线视频| 国产欧美va欧美va香蕉在| 北条麻妃一区二区三区中文字幕| 69久久夜色精品国产7777| 91av福利视频| 欧美激情图片区| 欧美成人久久久| 国产精品欧美亚洲777777| 色妞色视频一区二区三区四区| 亚洲国产精品va在线| 久久中文久久字幕| 日韩成人中文电影| 亚洲黄色片网站| 欧美激情免费在线| 一二美女精品欧洲| 日韩欧美aaa| 欧美在线中文字幕| 亚洲成色www8888| 成人免费大片黄在线播放| 国产丝袜一区视频在线观看| 国产欧美一区二区三区在线| 中文字幕在线视频日韩| 国产精品高潮呻吟久久av野狼|