舜发于畎亩之中,傅说举于版筑之间,胶鬲举于鱼盐之中,管夷吾举于士,孙叔敖举于海,百里奚举于市。故天将降大任于是人也,必先苦其心志,劳其筋骨,饿其体肤,空乏其身,行拂乱其所为,所以动心忍性,曾益其所不能。
下面是一段C++的学生管理系统源码,可直接运行在软件上。
#include<iostream>
#define N 20
using namespace std;
struct student{
int number;
int age;
int score;
char sex[8];
char name[20];};
struct student xx[N];
void main(){
int select;
select=1;
cout<<" 姓名** ***********学号 ***班"<<endl;
cout<<endl<<endl;
cout<<" ________________________________"<<endl;
cout<<" ** **"<<endl;
cout<<" **欢迎进入学生管理系统**"<<endl;
cout<<" ** **"<<endl;
cout<<" ________________________________"<<endl;
while(select){
cout<<endl<<endl;
cout<<" 请选择您的操作;"<<endl<<endl;
cout<<" 1.输入学生信息;"<<endl;
cout<<" 2.查找学生信息;"<<endl;
cout<<" 3.修改学生信息;"<<endl;
cout<<" 4.删除学生信息;"<<endl;
cout<<" 5.增加学生信息;"<<endl;
cout<<" 6.按学号小到大排序;"<<endl;
cout<<" 7.对学生信息分页列表;"<<endl;
cout<<" 0.退出;"<<endl;
cout<<" 请选择按键(0~7)";
cin>>select;
cout<<endl;
if(select>=0&&select<=7)
{
switch (select)
{
case 1: //输入学生信息
int i;
for( i=0;i<N;i++)
{
cout<<"请输入学号";
cin>>xx[i].number;
cout<<"请输入年龄";
cin>>xx[i].age;
cout<<"请输入成绩";
cin>>xx[i].score;
cout<<"请输入性别";
cin>>xx[i].sex;
cout<<"请输入姓名";
cin>>xx[i].name;
char tem;
cout<<"是否退出,按n退出,其他任意键继续";
cin>>tem;
if(tem=='n')
break;
if(tem!='n')
continue;
}
break;
case 2: //查找学生信息
int searchN;
cout<<"请输入要查找的学号:";
cin>>searchN;
for(i=0;i<N;i++)
{
if(searchN==xx[i].number)
{
cout<<"学号:"<<xx[i].number;
cout<<"\t年龄:"<<xx[i].age;
cout<<"\t成绩:"<<xx[i].score;
cout<<"\t性别:"<<xx[i].sex;
cout<<"\t姓名:"<<xx[i].name<<endl;
}
}
if(searchN==N)
cout<<"没有找到";
break;
case 3: //修改学生信息
int moD;
cout<<"请输入要修改的学号:"<<endl;
cin>>moD;
for(i=0;i<N;i++)
{
if(moD==xx[i].number)
{
cout<<"请输入改正后的学生学号:";
cin>>xx[i].number;
cout<<"\t请输入改正后的学生年龄:";
cin>>xx[i].age;
cout<<"\t请输入改正后的学生成绩:";
cin>>xx[i].score;
cout<<"\t请输入改正后的学生性别:";
cin>>xx[i].sex;
cout<<"\t请输入改正后的学生姓名:"<<endl;
cin>>xx[i].name;
cout<<"修改成功"<<endl;
break;
}
else
cout<<"没有找到:"<<endl;
}
break;
case 4: //删除学生信息
int delM;
cout<<"请输入要删除的学号:"<<endl;
cin>>delM;
for(i=0;i<N;i++)
{
if(delM==xx[i].number)
{
for(int j=i;j<N;j++)
{
xx[j]=xx[j+1];
}
cout<<"已成功删除该学生信息."<<endl;
break;
}
if(delM!=xx[i].number)
cout<<"没有该学生信息."<<endl;
break;
}
break;
case 5: //增加学生信息
for(i=0;i<N;i++)
{
xx[i+1]=xx[i];
cout<<"请输入要添加的学号";
cin>>xx[i].number;
cout<<"请输入要添加的年龄";
cin>>xx[i].age;
cout<<"请输入要添加的成绩";
cin>>xx[i].score;
cout<<"请输入要添加的性别";
cin>>xx[i].sex;
cout<<"请输入要添加的姓名";
cin>>xx[i].name;
cout<<"已成功增加该学生信息."<<endl;
break;
}
break;
case 6: //按学号小到大排序
struct student t;
for(i=1;i<N;i++)
for(int j=0;j<N-i;j++)
{
if(xx[j].number>xx[j+1].number)
{
t=xx[j];
xx[j]=xx[j+1];
xx[j+1]=t;
}
}
for(i=0;i<N;i++)
{
cout<<"学号:"<<xx[i].number;
cout<<"\t年龄:"<<xx[i].age;
cout<<"\t成绩:"<<xx[i].score;
cout<<"\t性别:"<<xx[i].sex;
cout<<"\t姓名:"<<xx[i].name<<endl;
}
break;
case 7: //对学生信息分页列表
for(i=0;i<N;i=i+5){
for(int j=i;j<i+5;j++)
{
if(xx[j].number==0)
{
break;
}
cout<<"学号:"<<xx[j].number;
cout<<"\t年龄:"<<xx[j].age;
cout<<"\t成绩:"<<xx[j].score;
cout<<"\t性别:"<<xx[j].sex;
cout<<"\t姓名:"<<xx[j].name<<endl;
}
cout<<"按数字'1'翻到下页,按数字'2'退出";
int x;
cin>>x;
if(x==1)
continue;
if(x==2)
break;
if(x!=1&&x!=2)
cout<<"输入错误"<<endl;
break;
}
case 0: //退出
break;
}
}
else
{
cout<<"输入有误"<<endl;
continue;
}
}
}
运行效果图如下: