C++编写 学生成绩管理系统Word文件下载.docx
《C++编写 学生成绩管理系统Word文件下载.docx》由会员分享,可在线阅读,更多相关《C++编写 学生成绩管理系统Word文件下载.docx(23页珍藏版)》请在冰豆网上搜索。
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<
C++:
Cnum<
endl
34.
汇编:
Mnum<
嵌入式操作系统:
Enum<
总成绩:
sum<
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->
p!
=End;
p=p->
Next)
57.
p->
Show();
58.
输入任意字符!
继续……"
59.
getch();
60.
61.
AddItem()
62.
63.
End->
Input();
64.
Next=new
Student;
65.
End=End->
66.
添加成功!
67.
68.
69.
70.private:
71.
Head,*
End;
72.
ifstream
in;
73.
ofstream
out;
74.
*FindItem(char
name)
75.
76.
p=Head;
Next!
Next)//匹配成功则返回上一个指针,不成功就返回空
77.
if(!
strcmp(p->
Next->
name,name))return
p;
78.
return
NULL;
79.
80.
*FindID(char
Id)
81.
82.
83.
Id,Id))return
84.
85.
86.};
87.
88.//﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌构造函数﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌
89.Studentmassage:
:
Studentmassage()
90.{
91.
Head=new
92.
Head->
93.
End=Head->
94.
in.open("
sort.txt"
);
95.
96.
这是一个新系统,无学生信息。
请先输入。
97.
else
98.
99.
while(!
in.eof())
100.
101.
ReadFile(in);
102.
if(End->
name[0]=='
\0'
)break;
103.
104.
105.
106.
in.close();
107.
\t\t读取学生信息成功!
108.
109.}
110.
111.//﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌析构函数﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌
112.Studentmassage:
~Studentmassage()
113.{
114.
115.
temp;
)
116.
117.
temp=Head->
118.
Next=Head->
119.
delete
120.
121.
Head,End;
122.}
123.
124.//﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌菜单﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌
125.void
Studentmassage:
ShowMenu()
126.{
127.
********************************************************************************"
128.
〓〓〓〓〓〓〓〓〓〓
☆
学
生
成
绩
管
理
系
统
〓〓〓〓〓〓〓〓〓〓"
129.
〓〓〓〓〓〓〓★★★★★
★★★★★★★
★★★★★〓〓〓〓〓〓〓"
130.
〓〓〓〓〓〓〓〓〓★
1.增加学生成绩
★〓〓〓〓〓〓〓〓〓"
131.
2.显示学生成绩
132.
3.排序统计成绩
133.
4.查找学生成绩
134.
5.删除学生成绩
135.
6.修改学生信息
136.
0.安全退出系统
137.
138.
\n\t\t\n\t\t请选择:
139.}
140.
141.//﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌查找函数﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌
142.void
Find()
143.{
144.
name[20]
Id[10];
145.
x;
146.
p=NULL;
147.
\n\t\t*********************************\n"
148.
\t\t※
1.按学生的姓名查找\n\t\t※
2.按学生学号查找"
149.
\n\t\t*********************************\n请选择:
150.
151.
switch(x)
152.
153.
case
1:
{cout<
\t\t请输入要查找的学生的姓名:
154.
if(p=FindItem(name))
155.
156.
157.
158.
159.
160.
161.
162.
\t\t没有找到该姓名的学生!
'
\n'
163.
164.
165.
166.
}break;
167.
2:
168.
169.
\t\t请输入要查找的学生的学号:
170.
if(p=FindID(Id))
171.
172.
173.
174.
175.
176.
177.
178.
\t\t没有找到该学好的学生!
179.
180.
181.
182.
183.
184.
185.}
186.
187.//﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌修改信息﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌
188.void
ModifyItem()
//修改信息
189.{
190.
191.
192.
\t\t请输入要修改的人的姓名:
193.
194.
195.
\t\t已找到学生的信息,请输入新的信息!
196.
197.
修改成功!
198.
199.
200.
201.
202.
203.
\t\t没有找到!
204.
205.
206.
207.}
208.
209.//﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌删除信息﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌
210.void
RemoveItem()
//
删除信息
211.{
212.
213.
p=NULL,*temp=NULL;
214.
\t\t请输入要删除的学生的姓名:
215.
216.
217.
temp=p->
218.
Next=p->
219.
220.
\t\t删除成功!
221.
222.
223.
224.
225.
226.
227.
228.
229.
230.}
231.
232.//﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌
233.void
*p1,
*p2)//交换两个combox变量的数据域
234.{
235.
*temp=new
236.
strcpy(temp->
name,p1->
name);
237.
Id,p1->
Id);
238.
temp->
Cnum=p1->
239.
Mnum=p1->
240.
Enum=p1->
241.
sum=p1->
242.
243.
strcpy(p1->
name,p2->
244.
Id,p2->
245.
p1->
Cnum=p2->
246.
Mnum=p2->
247.
Enum=p2->
248.
sum=p2->
249.
250.
strcpy(p2->
name,temp->
251.
Id,temp->
252.
p2->
Cnum=temp->
253.
Mnum=temp->
254.
Enum=temp->
255.
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->
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("
296.
*p=Head->
297.
out<
\t"
298.
299.
out.close();
300.}
301.
302.//﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌主函数﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌
303.int
main()
304.{
305.
x,i=0;
306.
bool
quit=false;
307.
\t\t◎★★★★【
欢迎进入学生成绩管理系统
】★★★★◎"
308.
Grade;
309.
按任意键开始……"
310.
311.
quit)
312.
313.
system("
cls"
314.
Grade.ShowMenu();
315.
316.
317.
318.
0:
quit=true;
break;
319.
Grade.AddItem();
320.
Grade.Display();
321.
3:
Grade.Sort();
322.
4:
Grade.Find();
323.
5:
Grade.RemoveItem();
324.
6:
Grade.ModifyItem();
325.
326.
327.
328.}
#include<
#include<
usingnamespacestd;
//﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌Student类﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌
classStudent
{
public:
charname[20];
charId[20];
intCnum;
//C++课程得分
intMnum;
//汇编课程得分
intEnum;
//嵌入式操作系统课程得分
intsum;
//总分
Student*Next;
voidInput()
{
cout<
cin>
sum=Cnum+Mnum+Enum;
}
voidReadFile(istream&
in)
in>
voidShow()
endl
<
};
//﹌﹌﹌﹌﹌﹌﹌﹌﹌Studentmassage类﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌
classStudentmassage
Studentmassage();
~Studentmassage();
voidShowMenu();
voidFind();
voidSave();
voidModifyItem();
voidRemoveItem();
voidSwap(Student*,Student*);
voidSort();
//voidUnpass();
intListCount();
//voidAverage();
voidDisplay()
for(Student*p=Head->
Next)
p->