217. cout<<"输入任意字符!
继续……";
218. getch();
219. }
220.}
221.//﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌
222.void Studentmassage:
:
Swap(Student *p1, Student *p2)//交换两个combox变量的数据域
223.{
224. Student *temp=new Student;
225. strcpy(temp->name,p1->name);
226. strcpy(temp->Id,p1->Id);
227. temp->Cnum=p1->Cnum;
228. temp->Mnum=p1->Mnum;
229. temp->Enum=p1->Enum;
230. temp->sum=p1->sum;
231. strcpy(p1->name,p2->name);
232. strcpy(p1->Id,p2->Id);
233. p1->Cnum=p2->Cnum;
234. p1->Mnum=p2->Mnum;
235. p1->Enum=p2->Enum;
236. p1->sum=p2->sum;
237. strcpy(p2->name,temp->name);
238. strcpy(p2->Id,temp->Id);
239. p2->Cnum=temp->Cnum;
240. p2->Mnum=temp->Mnum;
241. p2->Enum=temp->Enum;
242. p2->sum=temp->sum;
243.}
244.//﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌
245.int Studentmassage:
:
ListCount()//统计当前链表的记录总数,返回一个整数
246.{
247. if(!
Head)
248. return 0;
249. int n=0;
250. for(Student * p=Head->Next;p!
=End;p=p->Next)
251. {
252. n++;
253. }
254. return n;
255.}
256.//﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌
257.void Studentmassage:
:
Sort()//对当前链表进行排序
258.{
259. cout <<"Sorting..."<260. Student *p=NULL,*p1=NULL,*k=NULL;
261. int n=Studentmassage:
:
ListCount();
262. if(n<2)
263. return;
264. for(p=Head->Next;p!
=End;p=p->Next)
265. for(k=p->Next;k!
=End;k=k->Next)
266. {
267. if(p->sum>k->sum)
268. {
269. Studentmassage:
:
Swap(p,k);
270. }
271. }
272. cout <<"排序完成!
"<273. getch();
274. return;
275.}
276.//﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌保存函数﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌
277.void Studentmassage:
:
Save()
278.{
279. out.open("sort.txt");
280. for(Student *p=Head->Next;p!
=End;p=p->Next)
281. out<name<<"\t"<Id<<"\t"<Cnum<<"\t"
282. <Mnum<<"\t"<Enum<<"\t"<sum<<'\n';
283. out.close();
284.}
285.//﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌主函数﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌
286.int main()
287.{
288. int x,i=0;
289. bool quit=false;
290. cout<<"\t\t§§§§§§§§§§§§§§§§§§§§§§§§§§"<291. for(i=0;i<3;i++)
292. cout<<"\t\t◎\t\t\t\t\t\t ◎"<293. cout<<"\t\t◎★★★★【 欢迎进入学生成绩管理系统 】★★★★◎"<294. for(i=0;i<3;i++)
295. cout<<"\t\t◎\t\t\t\t\t\t ◎"<296. cout<<"\t\t§§§§§§§§§§§§§§§§§§§§§§§§§§\n"<297. Studentmassage Grade;
298. cout<<"按任意键开始……";
299. getch();
300. while(!
quit)
301. {
302. system("cls");
303. Grade.ShowMenu();
304. cin>>x;
305. switch(x)
306. {
307. case 0:
quit=true;break;
308. case 1:
Grade.AddItem();break;
309. case 2:
Grade.Display();break;
310. case 3:
Grade.Sort();break;
311. case 4:
Grade.Find();break;
312. case 5:
Grade.RemoveItem();break;
313. case 6:
Grade.ModifyItem();break;
314. }
315. }
316. return 0;
317.}