学生成绩管理系统C++代码呕心沥血整理版Word文件下载.docx
《学生成绩管理系统C++代码呕心沥血整理版Word文件下载.docx》由会员分享,可在线阅读,更多相关《学生成绩管理系统C++代码呕心沥血整理版Word文件下载.docx(13页珍藏版)》请在冰豆网上搜索。
![学生成绩管理系统C++代码呕心沥血整理版Word文件下载.docx](https://file1.bdocx.com/fileroot1/2022-12/31/338f383a-86fb-4f6f-9d74-f5a66e43c962/338f383a-86fb-4f6f-9d74-f5a66e43c9621.gif)
19.
{
20.
”\t\t请输入学生的姓名:
;
cin〉>
name;
21.
cout〈〈"
\t\t请输入学生的学号:
”;
Id;
22.
”\t\t请输入C++课程的成绩:
”;
cin>
>
23.
\t\t请输入汇编课程的成绩:
Mnum;
24.
”\t\t请输入嵌入式操作系统课程的成绩:
〉Enum;
25.
sum=Cnum+Mnum+Enum;
26.
}
27.
ReadFile(istream
&
in)
28.
{
29.
in〉〉name〉〉Id〉〉Cnum>
Mnum〉>
Enum>
30.
31.
Show()
32.
33.
姓名:
”〈<
name〈〈endl〈〈”学号:
〈〈Id<
endl〈<
”C++:
Cnum〈〈endl
34.
〈〈”汇编:
〈Mnum〈〈endl<
嵌入式操作系统:
”<
〈Enum<
〈endl〈〈”总成绩:
”〈〈sum〈<
endl<
〈endl<
35.
36.};
37.
38.//﹌﹌﹌﹌﹌﹌﹌﹌﹌Studentmassage类﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌
39.class
Studentmassage
40.{
41.public:
42.
Studentmassage();
43.
~Studentmassage();
44.
ShowMenu();
45.
Find();
46.
Save();
47.
ModifyItem();
48.
RemoveItem();
49.
Swap(Student
*,Student
*);
50.
Sort();
51.
//void
Unpass();
52.
ListCount();
53.
Average();
54.
Display()
55.
56.
for(Student
*
p=Head—〉Next;
p!
=End;
p=p—>
Next)
57.
p—>
Show();
58.
输入任意字符!
继续……"
;
59.
getch();
60.
61.
AddItem()
62.
63.
End—〉Input();
64.
End—>
Next=new
Student;
65.
End=End—>
Next;
66.
”添加成功!
”〈〈endl;
67.
〈”输入任意字符!
继续……”;
68.
getch();
69.
70.private:
71.
Head,*
End;
72.
ifstream
in;
73.
ofstream
out;
74.
*FindItem(char
name)
75.
76.
p=Head;
p—〉Next!
p=p->
Next)//匹配成功则返回上一个指针,不成功就返回空
77.
if(!
strcmp(p—>
Next—>
name,name))return
p;
78.
return
NULL;
79.
80.
*FindID(char
Id)
81.
82.
p=Head;
Next!
p=p-〉Next)//匹配成功则返回上一个指针,不成功就返回空
83.
if(!
strcmp(p—〉Next—>
Id,Id))return
p;
84.
85.
86.};
87.
88.//﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌构造函数﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌
89.Studentmassage:
:
Studentmassage()
90.{
91.
Head=new
92.
Head—〉Next=new
93.
End=Head-〉Next;
94.
in。
open("
sort。
txt"
);
95.
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.
115.
temp;
Head-〉Next!
=End;
)
116.
117.
temp=Head—〉Next;
118.
Head-〉Next=Head->
119.
delete
120.
121.
Head,End;
122.}
123.
124.//﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌菜单﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌
125.void
Studentmassage:
ShowMenu()
126.{
127.
********************************************************************************”〈<
128.
〓〓〓〓〓〓〓〓〓〓
☆
学
生
成
绩
管
理
系
统
〓〓〓〓〓〓〓〓〓〓"
〈<
129.
cout〈〈”〓〓〓〓〓〓〓★★★★★
★★★★★★★
★★★★★〓〓〓〓〓〓〓"
130.
cout〈〈”〓〓〓〓〓〓〓〓〓★
1。
增加学生成绩
★〓〓〓〓〓〓〓〓〓”<
131.
〈”〓〓〓〓〓〓〓〓〓★
2.显示学生成绩
★〓〓〓〓〓〓〓〓〓"
132.
”〓〓〓〓〓〓〓〓〓★
3。
排序统计成绩
★〓〓〓〓〓〓〓〓〓”〈〈endl;
133.
4。
查找学生成绩
★〓〓〓〓〓〓〓〓〓”〈〈endl;
134.
〓〓〓〓〓〓〓〓〓★
5。
删除学生成绩
135.
6.修改学生信息
136.
0。
安全退出系统
137.
138.
”\n\t\t\n\t\t请选择:
139.}
140.
141.//﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌查找函数﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌
142.void
Studentmassage:
Find()
143.{
144.
name[20]
,Id[10];
145.
x;
146.
p=NULL;
147.
\n\t\t*********************************\n"
148.
cout〈〈”\t\t※
按学生的姓名查找\n\t\t※
2.按学生学号查找”;
149.
”\n\t\t*********************************\n请选择:
150.
x;
151.
switch(x)
152.
153.
case
1:
{cout〈<
”\t\t请输入要查找的学生的姓名:
cin〉〉name;
154.
if(p=FindItem(name))
155.
156.
Next—〉Show();
157.
”输入任意字符!
158.
159.
160.
161.
162.
\t\t没有找到该姓名的学生!
〈〈'
\n’〈〈endl;
163.
输入任意字符!
164.
165.
166.
}break;
167.
2:
168.
169.
cout〈〈”\t\t请输入要查找的学生的学号:
cin〉〉Id;
170.
if(p=FindID(Id))
171.
172.
p->
173.
174.
175.
176.
177.
178.
\t\t没有找到该学好的学生!
’\n'
179.
180.
181.
}
182.
}break;
183.
184.
185.}
186.
187.//﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌修改信息﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌
188.void
ModifyItem()
//修改信息
189.{
190.
name[20];
191.
192.
cout〈〈”\t\t请输入要修改的人的姓名:
193.
194.
195.
\t\t已找到学生的信息,请输入新的信息!
196.
p—〉Next—〉Input();
197.
修改成功!
198.
cout〈〈”输入任意字符!
199.
200.
201.
202.
203.
cout〈〈”\t\t没有找到!
204.
”输入任意字符!
205.
206.
207.}
208.
209.//﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌删除信息﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌
210.void
RemoveItem()
//
删除信息
211.{
212.
name[20];
213.
p=NULL,*temp=NULL;
214.
\t\t请输入要删除的学生的姓名:
〈〈endl;
215.
216.
217.
temp=p—>
218.
p—〉Next=p-〉Next—>
219.
temp;
220.
”\t\t删除成功!
221.
222.
223.
224.
225.
226.
\t\t没有找到!
227.
228.
229.
230.}
231.
232.//﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌
233.void
*p1,
*p2)//交换两个combox变量的数据域
234.{
235.
*temp=new
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—>
248.
sum=p2—>
sum;
249.
250.
strcpy(p2->
name,temp->
251.
strcpy(p2—〉Id,temp->
Id);
252.
p2—>
Cnum=temp—>
253.
p2-〉Mnum=temp—>
254.
p2—〉Enum=temp-〉Enum;
255.
p2->
sum=temp->
256.}
257.
258.//﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌
259.int
ListCount()//统计当前链表的记录总数,返回一个整数
260.{
261.
Head)
262.
0;
263.
n=0;
264.
265.
266.
n++;
267.
268.
n;
269.}
270.
271.//﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌
272.void
Sort()//对当前链表进行排序
273.{
274.
cout
〈”Sorting.。
.”<
275.
*p=NULL,*p1=NULL,*k=NULL;
276.
n=Studentmassage:
277.
if(n<
2)
278.
return;
279.
for(p=Head—〉Next;
p=p-〉Next)
280.
for(k=p—>
k!
k=k—>
281.
282.
if(p-〉sum〉k->
sum)
283.
284.
Swap(p,k);
285.
286.
287.
〈〈”排序完成!
288.
289.
290.}
291.
292.//﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌保存函数﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌
293.void
Save()
294.{
295.
out.open("
sort.txt"
296.
*p=Head—〉Next;
p!
297.
out<
p—〉name<
\t”〈<
Id〈〈”\t"
〈〈p-〉Cnum〈<
”\t”
298.
p—〉Mnum〈〈”\t”〈〈p—〉Enum〈〈”\t"
〈p—>
sum<
〈’\n'
299.
out。
close();
300.}
301.
302.//﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌主函数﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌
303.int
main()
304.{
305.
x,i=0;
306.
bool
quit=false;
307.
cout〈〈”\t\t§
§
”〈〈endl;
308.
for(i=0;
i<
3;
i++)
309.
\t\t◎\t\t\t\t\t\t
◎”〈〈endl;
310.
〈”\t\t◎★★★★【
欢迎进入学生成绩管理系统
】★★★★◎"
311.
312.
◎"
313.
”\t\t§
\n"
314.
Grade;
315.
cout〈〈”按任意键开始……"
316.
317.
while(!
quit)
318.
319.
system(”cls”);
320.
Grade.ShowMenu();
321.
322.
323.
324.
0:
quit=true;
break;
325.
Grade。
AddItem();
break;
326.
Grade.Display();
327.
3:
Sort();
328.
4:
Grade.Find();
329.
5:
330.
6:
331.
332.
333.
334.}<
/SPAN〉