学生成绩管理系统C++代码呕心沥血整理版.docx

上传人:b****6 文档编号:5678119 上传时间:2022-12-31 格式:DOCX 页数:13 大小:60.37KB
下载 相关 举报
学生成绩管理系统C++代码呕心沥血整理版.docx_第1页
第1页 / 共13页
学生成绩管理系统C++代码呕心沥血整理版.docx_第2页
第2页 / 共13页
学生成绩管理系统C++代码呕心沥血整理版.docx_第3页
第3页 / 共13页
学生成绩管理系统C++代码呕心沥血整理版.docx_第4页
第4页 / 共13页
学生成绩管理系统C++代码呕心沥血整理版.docx_第5页
第5页 / 共13页
点击查看更多>>
下载资源
资源描述

学生成绩管理系统C++代码呕心沥血整理版.docx

《学生成绩管理系统C++代码呕心沥血整理版.docx》由会员分享,可在线阅读,更多相关《学生成绩管理系统C++代码呕心沥血整理版.docx(13页珍藏版)》请在冰豆网上搜索。

学生成绩管理系统C++代码呕心沥血整理版.docx

学生成绩管理系统C++代码呕心沥血整理版

学生成绩管理系统C++

用C++编写一个学生成绩管理系统

1、可以实现以下功能:

cout〈<"〓〓〓〓〓〓〓〓〓★☆1。

增加学生成绩☆★〓〓〓〓〓〓〓〓〓"<〈endl;

cout<〈”〓〓〓〓〓〓〓〓〓★☆2。

显示学生成绩☆★〓〓〓〓〓〓〓〓〓”<〈endl;

cout〈<"〓〓〓〓〓〓〓〓〓★☆3.排序统计成绩☆★〓〓〓〓〓〓〓〓〓"<

cout〈<"〓〓〓〓〓〓〓〓〓★☆4.查找学生成绩☆★〓〓〓〓〓〓〓〓〓”〈〈endl;

cout<<”〓〓〓〓〓〓〓〓〓★☆5.删除学生成绩☆★〓〓〓〓〓〓〓〓〓”<〈endl;

cout<〈"〓〓〓〓〓〓〓〓〓★☆6.修改学生信息☆★〓〓〓〓〓〓〓〓〓”〈

cout<<”〓〓〓〓〓〓〓〓〓★☆0.安全退出系统☆★〓〓〓〓〓〓〓〓〓”〈〈endl;

2、用链表存储信息

*程序头部的注释结束

*/

[cpp]viewplaincopyprint?

1.〈SPAN style=”FONT-SIZE:

 16px”># include 〈iostream〉  

2.# include 〈fstream〉  

3.# include 

h〉  

4.#include 〈conio.h〉//用getch();  

5.using namespace std;  

6.  

7.//﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌Student类﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌  

8.class Student  

9.{  

10.public:

  

11. char name[20];  

12. char Id[20];  

13. int Cnum;       //C++课程得分  

14. int Mnum;       //汇编课程得分  

15. int Enum;       //嵌入式操作系统课程得分  

16. int sum;        //总分       

17. Student * Next;  

18. void Input()  

19. {  

20.  cout〈<”\t\t请输入学生的姓名:

";  cin〉>name;  

21.  cout〈〈"\t\t请输入学生的学号:

”;  cin〉>Id;  

22.  cout〈<”\t\t请输入C++课程的成绩:

”;  cin>>Cnum;  

23.  cout〈〈"\t\t请输入汇编课程的成绩:

”;  cin〉>Mnum;  

24.  cout〈<”\t\t请输入嵌入式操作系统课程的成绩:

";  cin>〉Enum;  

25.  sum=Cnum+Mnum+Enum;  

26. }  

27. void ReadFile(istream & in)  

28. {  

29.  in〉〉name〉〉Id〉〉Cnum>>Mnum〉>Enum>>sum;  

30. }  

31. void Show()  

32. {  

33.  cout〈〈"姓名:

”〈

"〈〈Id<

”〈

34.   〈〈”汇编:

"<〈Mnum〈〈endl<<"嵌入式操作系统:

”<〈Enum<〈endl〈〈”总成绩:

”〈〈sum〈

35. }  

36.};  

37.  

38.//﹌﹌﹌﹌﹌﹌﹌﹌﹌Studentmassage类﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌  

39.class Studentmassage  

40.{  

41.public:

  

42. Studentmassage();  

43. ~Studentmassage();  

44. void ShowMenu();  

45. void Find();  

46. void Save();  

47. void ModifyItem();  

48. void RemoveItem();  

49. void Swap(Student *,Student *);  

50. void Sort();  

51. //void Unpass();  

52. int ListCount();  

53. //void Average();  

54. void Display()  

55. {  

56.  for(Student * p=Head—〉Next;p!

=End;p=p—>Next)  

57.   p—>Show();  

58.  cout〈〈"输入任意字符!

继续……";  

59.  getch();  

60. }  

61. void AddItem()  

62. {  

63.  End—〉Input();  

64.  End—>Next=new Student;  

65.  End=End—>Next;  

66.  cout〈<”添加成功!

”〈〈endl;  

67.  cout<〈”输入任意字符!

继续……”;  

68.  getch();  

69. }  

70.private:

  

71. Student * Head,* End;  

72. ifstream in;  

73. ofstream out;  

74. Student *FindItem(char * name)  

75. {  

76.  for(Student * p=Head;p—〉Next!

=End;p=p->Next)//匹配成功则返回上一个指针,不成功就返回空  

77.   if(!

strcmp(p—>Next—>name,name))return p;  

78.   return NULL;  

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))return p;  

84.   return NULL;  

85. }  

86.};  

87.  

88.//﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌构造函数﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌  

89.Studentmassage:

:

Studentmassage()  

90.{  

91. Head=new Student;  

92. Head—〉Next=new Student;  

93. End=Head-〉Next;  

94. in。

open("sort。

txt");  

95. if(!

in)  

96.  cout〈〈”这是一个新系统,无学生信息。

请先输入。

”〈

97. else  

98. {  

99.  while(!

in.eof())  

100.  {  

101.   End—〉ReadFile(in);  

102.   if(End—>name[0]==’\0')break;  

103.   End-〉Next=new Student;  

104.   End=End-〉Next;  

105.  }  

106.  in.close();  

107.  cout〈〈”\t\t读取学生信息成功!

"〈〈endl;  

108. }  

109.}  

110.  

111.//﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌析构函数﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌  

112.Studentmassage:

~Studentmassage()  

113.{  

114. Save();  

115. for(Student * temp;Head-〉Next!

=End;)  

116. {  

117.  temp=Head—〉Next;  

118.  Head-〉Next=Head->Next—>Next;  

119.  delete temp;  

120. }  

121. delete Head,End;  

122.}  

123.  

124.//﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌菜单﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌  

125.void Studentmassage:

:

ShowMenu()                    

126.{  

127.  cout〈〈"********************************************************************************”〈

128.  cout〈〈"〓〓〓〓〓〓〓〓〓〓  ☆   学 生 成 绩 管 理 系  统     ☆  〓〓〓〓〓〓〓〓〓〓"〈

129.  cout〈〈”〓〓〓〓〓〓〓★★★★★         ★★★★★★★         ★★★★★〓〓〓〓〓〓〓"<〈endl;  

130.  cout〈〈”〓〓〓〓〓〓〓〓〓★  ☆          1。

增加学生成绩        ☆  ★〓〓〓〓〓〓〓〓〓”<〈endl;  

131.  cout<〈”〓〓〓〓〓〓〓〓〓★  ☆          2.显示学生成绩        ☆  ★〓〓〓〓〓〓〓〓〓"〈〈endl;  

132.  cout〈<”〓〓〓〓〓〓〓〓〓★  ☆          3。

排序统计成绩        ☆  ★〓〓〓〓〓〓〓〓〓”〈〈endl;  

133.  cout〈〈”〓〓〓〓〓〓〓〓〓★  ☆          4。

查找学生成绩        ☆  ★〓〓〓〓〓〓〓〓〓”〈〈endl;  

134.  cout〈〈"〓〓〓〓〓〓〓〓〓★  ☆          5。

删除学生成绩        ☆  ★〓〓〓〓〓〓〓〓〓”<

135.  cout〈〈”〓〓〓〓〓〓〓〓〓★  ☆          6.修改学生信息        ☆  ★〓〓〓〓〓〓〓〓〓"〈〈endl;  

136.  cout〈〈"〓〓〓〓〓〓〓〓〓★  ☆          0。

安全退出系统        ☆  ★〓〓〓〓〓〓〓〓〓”〈〈endl;  

137.   

138. cout<<”\n\t\t\n\t\t请选择:

”;  

139.}  

140.  

141.//﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌查找函数﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌  

142.void Studentmassage:

Find()  

143.{  

144. char name[20] ,Id[10];  

145. int x;  

146. Student * p=NULL;  

147. cout〈<"\n\t\t*********************************\n";  

148. cout〈〈”\t\t※ 1。

按学生的姓名查找\n\t\t※ 2.按学生学号查找”;  

149. cout〈<”\n\t\t*********************************\n请选择:

”;  

150. cin〉>x;  

151. switch(x)  

152. {  

153. case 1:

{cout〈<”\t\t请输入要查找的学生的姓名:

”;cin〉〉name;  

154.  if(p=FindItem(name))  

155.  {  

156.   p—>Next—〉Show();  

157.   cout<<”输入任意字符!

继续……”;  

158.   getch();  

159.  }  

160.  else  

161.  {  

162.   cout〈〈"\t\t没有找到该姓名的学生!

"〈〈'\n’〈〈endl;  

163.   cout<〈"输入任意字符!

继续……";  

164.   getch();  

165.  }  

166.     }break;  

167. case 2:

  

168.  {  

169.   cout〈〈”\t\t请输入要查找的学生的学号:

”;cin〉〉Id;  

170.   if(p=FindID(Id))  

171.   {  

172.    p->Next—〉Show();  

173.    cout〈〈"输入任意字符!

继续……";  

174.    getch();  

175.   }  

176.   else  

177.   {  

178.    cout<〈"\t\t没有找到该学好的学生!

"〈<’\n'〈〈endl;  

179.    cout<〈"输入任意字符!

继续……";  

180.    getch();  

181.   }  

182.  }break;  

183. }  

184.   

185.}  

186.  

187.//﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌修改信息﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌  

188.void Studentmassage:

ModifyItem()     //修改信息  

189.{  

190. char name[20];  

191. Student * p=NULL;  

192. cout〈〈”\t\t请输入要修改的人的姓名:

";cin〉>name;  

193. if(p=FindItem(name))  

194. {  

195.  cout〈〈"\t\t已找到学生的信息,请输入新的信息!

"〈〈endl;  

196.  p—〉Next—〉Input();  

197.  cout<〈"修改成功!

"〈

198.  cout〈〈”输入任意字符!

继续……";  

199.  getch();  

200. }  

201. else  

202. {  

203.  cout〈〈”\t\t没有找到!

"<〈endl;  

204.  cout<<”输入任意字符!

继续……”;  

205.  getch();  

206. }  

207.}  

208.  

209.//﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌删除信息﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌  

210.void Studentmassage:

:

RemoveItem()         // 删除信息  

211.{  

212. char name[20];  

213. Student * p=NULL,*temp=NULL;  

214. cout<〈"\t\t请输入要删除的学生的姓名:

"〈〈endl;cin〉〉name;  

215. if(p=FindItem(name))  

216. {  

217.  temp=p—>Next;  

218.  p—〉Next=p-〉Next—>Next;   

219.  delete temp;  

220.  cout<<”\t\t删除成功!

"<

221.  cout〈〈”输入任意字符!

继续……";  

222.  getch();  

223. }  

224. else  

225. {  

226.  cout〈〈"\t\t没有找到!

”<〈endl;  

227.     cout〈〈"输入任意字符!

继续……";  

228.  getch();  

229. }  

230.}  

231.  

232.//﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌  

233.void Studentmassage:

Swap(Student *p1, Student *p2)//交换两个combox变量的数据域  

234.{  

235. Student *temp=new Student;   

236. strcpy(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.   

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;  

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.int Studentmassage:

:

ListCount()//统计当前链表的记录总数,返回一个整数  

260.{  

261. if(!

 Head)  

262.  return 0;  

263. int n=0;  

264. for(Student * p=Head—〉Next;p!

=End;p=p—>Next)  

265. {  

266.  n++;  

267. }  

268. return n;  

269.}  

270.  

271.//﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌  

272.void Studentmassage:

:

Sort()//对当前链表进行排序  

273.{   

274. cout <〈”Sorting.。

.”<〈endl;  

275. Student *p=NULL,*p1=NULL,*k=NULL;  

276. int n=Studentmassage:

:

ListCount();  

277. if(n<2)   

278.  return;  

279. 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);  

285.   }  

286.  }  

287. cout 〈〈”排序完成!

"〈

288. getch();  

289. return;  

290.}  

291.  

292.//﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌保存函数﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌  

293.void Studentmassage:

:

Save()  

294.{  

295. out.open("sort.txt");  

296. for(Student *p=Head—〉Next;p!

=End;p=p-〉Next)  

297.  out<Id〈〈”\t"〈〈p-〉Cnum〈<”\t”  

298.  <sum<〈’\n';  

299. out。

close();  

300.}  

301.  

302.//﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌主函数﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌  

303.int main()  

304.{  

305. int x,i=0;  

306. bool quit=false;  

307. cout〈〈”\t\t§§§§§§§§§§§§§§§§§§§§§§§§§§”〈〈endl;  

308. for(i=0;i<3;i++)  

309.  cout〈〈"\t\t◎\t\t\t\t\t\t  ◎”〈〈endl;  

310. cout<〈”\t\t◎★★★★【  欢迎进入学生成绩管理系统  】★★★★◎"〈〈endl;  

311. for(i=0;i<3;i++)  

312.  cout<〈"\t\t◎\t\t\t\t\t\t  ◎"〈〈endl;  

313. cout<<”\t\t§§§§§§§§§§§§§§§§§§§§§§§§§§\n"〈〈endl;;  

314. Studentmassage Grade;  

315. cout〈〈”按任意键开始……";  

316.  getch();  

317. while(!

quit)  

318. {  

319.  system(”cls”);  

320.  Grade.ShowMenu();  

321.  cin〉>x;  

322.  switch(x)  

323.  {  

324.  case 0:

quit=true;break;  

325.  case 1:

Grade。

AddItem();break;  

326.  case 2:

Grade.Display();break;  

327.  case 3:

Grade。

Sort();break;  

328.  case 4:

Grade.Find();break;  

329.  case 5:

Grade。

RemoveItem();break;  

330.  case 6:

Grade。

ModifyItem();break;  

331.  }  

332. }  

333. return 0;  

334.}

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 经管营销

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1