/* *程序的版权和版本声明部分: *Copyright(c)2014,烟台大学计算机学院学生 *All rights reserved. *文件名称: *作者:田成琳 *完成日期:2014 年 3月 6 日 *版本号:v1.0 *对任务及求解方法的描述部分: *输入描述: - *问题描述:学生信息管理系统 *程序输出:学生信息 *问题分析: *算法设计: */ #include<iostream> #include<cstdlib> using namespace std; struct Student { int stunum; string name; string sex; int age; double score; int state;//代表学生状态 1为正常 0为删除 }; void menu(); void increase(); void search(); void delet(); void show(); void sort(); Student A[20]= {{10001,"王刚","男",18,88.00,1}, {10002,"张国立","男",19,86.50,1}, {10003,"邓婕","女",17,88.00,1}, {10004,"李幼斌","男",20,90.50,1}, {10005,"王菲","女",18,88.00,1} }; int size=5;//代表数组中原有元素个数 int main() { menu(); return 0; } void menu() { int chose; cout <<"请选择以下命令:" <<endl; cout<<"1.增加学生信息"<<endl; cout<<"2.查找学生信息"<<endl; cout<<"3.删除学生信息"<<endl; cout<<"4.显示学生信息"<<endl; cout<<"5.根据学生成绩排序"<<endl; cout<<"0.退出"<<endl; cin>>chose; switch(chose) { case 0: exit(1); case 1: increase(); menu(); break; case 2: search(); menu(); break; case 3: delet(); menu(); break; case 4: show(); menu(); break; case 5: sort(); show(); menu(); } } void increase() { cout<<"请输入学号、姓名、性别、年龄、成绩:"<<endl; size=size+1; cin>>A[size].stunum>>A[size].name>>A[size].sex>>A[size].age>>A[size].score; A[size].state=1; cout<<"增加成功!"<<endl; } void search() { int num,chose,i; string sname; cout<<"请输入查找方式:"<<endl; cout<<"1.学号查找:"<<endl; cout<<"2.姓名查找:"<<endl; cin>>chose; if(chose==1) { cout<<"请输入学号:"<<endl; cin>>num; for(i=0; i<=size; i++) { if((num==A[i].stunum)&&(A[i].state=1)) { cout<<"学号 姓名 性别 年龄 成绩"<<endl; cout<<A[i].stunum<<" "<<A[i].name<<" "<<A[i].sex<<" "<<A[i].age<<" "<<A[i].score<<endl; break; } } if((num!=A[i].stunum)||(A[i].state=0)) { cout<<"查无此人!"<<endl; } } else { cout<<"请输入姓名:"<<endl; cin>>sname; for(i=0; i<=size; i++) { if(sname==A[i].name) { cout<<"学号 姓名 性别 年龄 成绩"<<endl; cout<<A[i].stunum<<" "<<A[i].name<<" "<<A[i].sex<<" "<<A[i].age<<" "<<A[i].score<<endl; break; } } if((sname!=A[i].name)||(A[i].state=0)) { cout<<"查无此人!"<<endl; } } } void delet() { int num,i; cout<<"请输入要删除的同学的学号:"<<endl; cin>>num; for(i=0; i<=size; i++) { if(num==A[i].stunum) { A[i].state=0; cout<<"删除成功!"<<endl; break; } else { cout<<"查无此人!"<<endl; menu(); } } } void show() { int i; for(i=0; i<=size; i++) { if(A[i].state==1) { cout<<A[i].stunum<<" "<<A[i].name<<" "<<A[i].sex<<" "<<A[i].age<<" "<<A[i].score<<endl; } } } void sort() { int i,j,chose; Student t; cout<<"请输入排序方式:"<<endl; cout<<"1.学号排序(升序)"<<endl; cout<<"2.成绩排序(降序)"<<endl; cin>>chose; if(chose==1) { for(i=0; i<size-1; i++) { for(j=i+1; j<size; j++) { if(A[i].stunum>A[j].stunum) { t=A[i]; A[i]=A[j]; A[j]=t; } } } } else { for(i=0; i<size-1; i++) { for(j=i+1; j<size; j++) { if(A[i].score<A[j].score) { t=A[i]; A[i]=A[j]; A[j]=t; } } } } }
运行结果:
心得体会:学以致用~!