学生成绩管理系统C++代码.docx

上传人:b****8 文档编号:10941491 上传时间:2023-02-23 格式:DOCX 页数:16 大小:19.75KB
下载 相关 举报
学生成绩管理系统C++代码.docx_第1页
第1页 / 共16页
学生成绩管理系统C++代码.docx_第2页
第2页 / 共16页
学生成绩管理系统C++代码.docx_第3页
第3页 / 共16页
学生成绩管理系统C++代码.docx_第4页
第4页 / 共16页
学生成绩管理系统C++代码.docx_第5页
第5页 / 共16页
点击查看更多>>
下载资源
资源描述

学生成绩管理系统C++代码.docx

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

学生成绩管理系统C++代码.docx

学生成绩管理系统C++代码

学生成绩管理系统C++

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

1、可以实现以下功能:

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

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

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

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

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

排序统计成绩☆★〓〓〓〓〓〓〓〓〓”<

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

查找学生成绩☆★〓〓〓〓〓〓〓〓〓"<

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

cout〈〈”〓〓〓〓〓〓〓〓〓★☆6。

修改学生信息☆★〓〓〓〓〓〓〓〓〓"<〈endl;

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

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

2、用链表存储信息

*程序头部的注释结束

*/

[cpp]viewplaincopyprint?

1.〈SPAN style="FONT—SIZE:

 16px"># include 〈iostream〉  

2.# include   

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<〈"姓名:

”〈〈name<

"〈〈Id<

”〈

34.   〈<”汇编:

”<

”<

”〈

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〈〈”添加成功!

"<

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<〈"这是一个新系统,无学生信息。

请先输入.”<〈endl;  

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读取学生信息成功!

"〈

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〈〈"〓〓〓〓〓〓〓〓〓〓  ☆   学 生 成 绩 管 理 系  统     ☆  〓〓〓〓〓〓〓〓〓〓”<〈endl;  

129.  cout<〈”〓〓〓〓〓〓〓★★★★★         ★★★★★★★         ★★★★★〓〓〓〓〓〓〓”<

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

增加学生成绩        ☆  ★〓〓〓〓〓〓〓〓〓"〈

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

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

132.  cout〈<”〓〓〓〓〓〓〓〓〓★  ☆          3.排序统计成绩        ☆  ★〓〓〓〓〓〓〓〓〓"〈〈endl;  

133.  cout〈<"〓〓〓〓〓〓〓〓〓★  ☆          4。

查找学生成绩        ☆  ★〓〓〓〓〓〓〓〓〓”<

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

135.  cout<〈”〓〓〓〓〓〓〓〓〓★  ☆          6。

修改学生信息        ☆  ★〓〓〓〓〓〓〓〓〓"〈

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'〈

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’〈

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没有找到!

"〈

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没有找到!

”〈

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.。

.”〈

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<〈p—>name<〈"\t"〈Id〈〈"\t”〈〈p-〉Cnum<〈"\t”  

298.  〈Mnum〈〈"\t”<

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  ◎"<

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