p2->sum = temp->sum ; }
void StudentMassage::Sort() //排序 {
Student *p = NULL , *p1 = NULL , *k = NULL ; int n = StudentMassage::ListCount() , x , y ; if(n < 2) {
cout<<\数据较少,无法排序!\ return ; }
cout<<\ cout<<\、按数学成绩排序\ cout<<\、按语文成绩排序\ cout<<\、按英语成绩排序\ cout<<\、按总分排序\
cout<<\请选择:\
cin>>x ; switch(x) {
case 1: {
cout<<\ cout<<\、按降序排序\\n\\t\\t\\t 2、按升序排序\ cout<<\请选择:\
cin>>y ; if(y == 1) {
for(p = Head->next ; p != End ; p = p->next) for(k = p->next ; k != End ; k = k->next) {
if(p->math < k->math)
StudentMassage::Swap(p , k) ; }
cout<<\排序完成!\ StudentMassage::Display() ; getch() ; } else {
for(p = Head->next ; p != End ; p = p->next)
16
for(k = p->next ; k != End ; k = k->next) {
if(p->math > k->math)
StudentMassage::Swap(p , k) ; }
cout<<\排序完成!\ StudentMassage::Display() ; getch() ; }
} ; break ; case 2: {
cout<<\ cout<<\、按降序排序\\n\\t\\t\\t 2、按升序排序\ cout<<\请选择:\
cin>>y ; if(y == 1) {
for(p = Head->next ; p != End ; p = p->next) for(k = p->next ; k != End ; k = k->next) {
if(p->chinese < k->chinese)
StudentMassage::Swap(p , k) ; }
cout<<\排序完成!\ StudentMassage::Display() ; getch() ; } else {
for(p = Head->next ; p != End ; p = p->next) for(k = p->next ; k != End ; k = k->next) {
if(p->chinese > k->chinese)
StudentMassage::Swap(p , k) ; }
cout<<\排序完成!\ StudentMassage::Display() ; getch() ; }
} ; break ; case 3: {
17
cout<<\ cout<<\、按降序排序\\n\\t\\t\\t 2、按升序排序\ cout<<\请选择:\
cin>>y ; if(y == 1) {
for(p = Head->next ; p != End ; p = p->next) for(k = p->next ; k != End ; k = k->next) {
if(p->english < k->english)
StudentMassage::Swap(p , k) ; }
cout<<\排序完成!\ StudentMassage::Display() ; getch() ; } else {
for(p = Head->next ; p != End ; p = p->next) for(k = p->next ; k != End ; k = k->next) {
if(p->english > k->english)
StudentMassage::Swap(p , k) ; }
cout<<\排序完成!\ StudentMassage::Display() ; getch() ; }
} ; break ; case 4: {
cout<<\ cout<<\、按降序排序\\n\\t\\t\\t 2、按升序排序\ cout<<\请选择:\
cin>>y ; if(y == 1) {
for(p = Head->next ; p != End ; p = p->next) for(k = p->next ; k != End ; k = k->next) {
if(p->sum < k->sum)
StudentMassage::Swap(p , k) ;
18
}
cout<<\排序完成!\ StudentMassage::Display() ; getch() ; } else {
for(p = Head->next ; p != End ; p = p->next) for(k = p->next ; k != End ; k = k->next) {
if(p->sum > k->sum)
StudentMassage::Swap(p , k) ; }
cout<<\排序完成!\ StudentMassage::Display() ; getch() ; }
} ; break ; } }
void StudentMassage::save() //存入文件 {
out.open(\
for(Student *p=Head->next;p!=End;p=p->next)
out<
void main() {
int x ;
bool quit = false ;
cout<<\
cout<<\ cout<<\欢迎使用学生成绩管理系统!\
cout<<\ StudentMassage Grade ; Sleep(1000) ; while(!quit) {
system(\
19
}
}
Grade.ShowMenu() ; cin>>x ; switch(x) {
case 0:quit = true ; break ;
case 1:Grade.AddItem() ; break ; case 2:Grade.RemoveItem() ; break ; case 3:Grade.ModifyItem() ; break ; case 4:Grade.Display() ; break ; case 5:Grade.Find() ; break ; case 6:Grade.Sort() ; break ; case 7:Grade.Count() ; break ; }
5、实验总结
通过编写这个纯dos系统下的控制台程序,加深了我对如何用C++编写一个简单的应用程序的理解。首先要对程序的设计要求有一个比较明确的认识,然后系统分析与系统设计,最后是代码设计与调试。程序实现上,设计了简单的菜单界面,将各个功能集中出来按照程序编写原则,便于查询。
20