*烟台大学计算机学院学生
*All rights reserved.
*文件名称:处理学生的信息
*作者:杨飞
*完成日期:2013年3月5日
*版本号:v1.0
*对任务及求解方法的描述部分:处理学生的信息
*我的程序:
#include <iostream>
#include <string>
#include <cstdlib>
#include <string.h>
using namespace std;
struct Student
{
char num[15];
string name;
string sex;
int age;
double score;
int state;
};
void delete1(Student[],int);
void chazhao(Student[],int);
void xiugai(Student[],int);
void sort(Student[],int);
void output(Student[],int);
int main()
{
Student stu[]={{"1001","王刚","男",18,80.00,1},{"1002","王飞","男",19,86.00,1},
{"1003","小艾","女",17,90.00,1},{"1004","小童","女",22,99.00,1}};
int n=sizeof(stu)/sizeof(stu[0]);
int m;
cout<<"1 删除学生的信息"<<endl;
cout<<"2 查找学生的信息"<<endl;
cout<<"3 修改学生的信息"<<endl;
cout<<"4 排序(按学生的成绩)"<<endl;
cout<<"5 退出"<<endl;
cout<<"请输入你的选择:"<<endl;
cin>>m;
switch(m)
{ case 0:
output(stu,n);
break;
case 1:
delete1(stu,n);
break;
case 2:
chazhao(stu,n);
break;
case 3:
xiugai(stu,n);
break;
case 4:
sort(stu,n);
break;
case 5:
exit(0);
break;
}
return 0;
}
void delete1(Student s[],int n)
{
int h;
string num;
cout<<"请输入你想要删除的学生的学号和姓名,谢谢"<<endl;
cin>>num;
for(int i=0;i<n;i++)
{
if(num==s[i].num)
{
s[i].state=0;
h=1;
break;
}
}
if(h!=1)
cout<<"查无此人"<<endl;
cout<<"删除之后"<<endl;
for(int i=0;i<n;i++)
{
if(s[i].state==1)
{
cout<<s[i].num<<" "<<s[i].name<<" "<<s[i].sex<<" "<<s[i].age<<" "<<s[i].score<<endl;
}
}
}
void chazhao(Student s[],int n)
{
int b;
char num[16];
cout<<"请输入你想查找的学生的学号"<<endl;
cin>>num;
for(int i=0;i<n;i++)
{
if(strcmp(num,s[i].num)==0)
{cout<<s[i].num<<" "<<s[i].name<<" "<<s[i].sex<<" "<<s[i].age<<" "<<s[i].score<<endl;
b=1;
break;
}
}
if(b!=1)
cout<<"查无此人"<<endl;
}
void sort(Student s[],int n)
{
int i,j;
Student t;
for(i=0;i<n-1;i++)
for(j=0;j<n-1-i;j++)
{
if(s[j].score<s[j+1].score)
{
t=s[j];
s[j]=s[j+1];
s[j+1]=t;
}
}
}
void output(Student s[],int n)
{ cout<<"学号"<<" "<<"姓名"<<" "<<"性别"<<" "<<"年龄"<<" "<<"成绩"<<" "<<endl;
for(int i=0;i<n;i++)
cout<<s[i].num<<" "<<s[i].name<<" "<<s[i].sex<<" "<<s[i].age<<" "<<s[i].score<<endl;
}
void xiugai(Student s[],int n)
{
int i,c,p;
string n1;
string s1;
int a,s2;
char num[16];
cout<<"请输入你想修改学生的学号"<<endl;
cin>>num;
for(i=0;i<n;i++)
{
if(strcmp(num,s[i].num)==0)
{
cout<<s[i].num<<" "<<s[i].name<<" "<<s[i].sex<<" "<<s[i].age<<" "<<s[i].score<<endl;
c=1;
p=i;
break;
}
}
if(c!=1)
cout<<"查无此人"<<endl;
if(c==1)
{
cout<<"请重新输入名字:"<<endl;
cin>>n1;
cout<<"请重新输入性别:"<<endl;
cin>>s1;
cout<<"请重新输入年龄:"<<endl;
cin>>a;
cout<<"请重输入分数:"<<endl;
cin>>s2;
for(i=0;i<n;i++)
{
s[p].name=n1;
s[p].sex=s1;
s[p].age=a;
s[p].score=s2;
}
}
for(int i=0;i<n;i++)
cout<<s[i].num<<" "<<s[i].name<<" "<<s[i].sex<<" "<<s[i].age<<" "<<s[i].score<<endl;
}
运行结果:
心得体会:不愧我费了这么多的时间!!!