学生信息管理系统设计
要求:学生信息包括:学号,姓名,年龄,性别,出生年月,地址,电话,E-mail
等。试设计一学生信息管理系统,使之能提供以下功能:
1)系统以菜单方式工作
2)学生信息录入功能(学生信息用文件保存)---输入
3)学生信息浏览功能---输出
4)排序功能
5)按学号查询
6)按姓名查询
7)学生信息的删除与修改
# include
# include
# include
# include
# include
//*****定义一个学生原子的的数据结构*****//
struct stuatom
{
*name;
id;
sex;
char
int
char
float math, eng, comp, totll, aver;
void show();
void setup();
};
//*********定义一系列对学生的操作**********//
class student
{
private:
stuatom ob[100];
int stulen;
public:
student();
void input();
void order();
void save();
void Query();
void read();
void add();
void del();
};
//********对学生数据的初始化(类的构造函数)**********//
student::student()
{
//用 for 循环对全部数组中的数据初始化
for(int i=0;i<100;i++)
{
ob[i].math=ob[i].eng=ob[i].comp =ob[i].totll =ob[i].aver =0;
ob[i].id =0;
ob[i].sex =' ';
ob[i].name =NULL;
}
this->stulen =0;
}
//********输入学生的数据,并判断是否在规定数据域内*******//
void stuatom::setup()
{
char
int
n[20];
b;
char
s;
//如果输入学好在数据域内,跳出循环并且赋值。
//如果不再数据域内,一直循环到输入数据符合数据域为止
do {
cout<<" 学号: ";
cin>>b;
if(b>1020||b<1001)
cout<<"Bad data input!!"<1020);
id=b;
//如果输入学好在数据域内,跳出循环并且赋值。
//如果不再数据域内,一直循环到输入数据符合数据域为止
do{
name=new char[strlen(n)+1];
cout<<" 姓名: ";
cin>>n;
if( strlen(n)>6 || strlen(n)<4 )
cout<<"Bad data input!!"<6 && strlen(n)<4 );
strcpy(name,n);
cout<<" 性别(m/f):" ;
cin>>s;
//如果输入学好在数据域内,跳出循环并且赋值。
//如果不再数据域内,一直循环到输入数据符合数据域为止
while (s!='m' && s!='f')
{
cout<<"Bad data input!!"<>s;
}
sex=s;
float m, e, co;
cout<<" 数学: ";
cin>>m;
//如果输入学好在数据域内,跳出循环并且赋值。
//如果不再数据域内,一直循环到输入数据符合数据域为止
while (m<0 || m>100)
{
cout<<"Bad data input!!"<>m;
}
math=m;
cout<<" 英语: ";
cin>>e;
//如果输入学好在数据域内,跳出循环并且赋值。
//如果不再数据域内,一直循环到输入数据符合数据域为止
while (e<0 || e>100)
{
}
cout<<"Bad data input!!"<>e;
eng=e;
cout<<" 计算机: ";
cin>>co;
//如果输入学好在数据域内,跳出循环并且赋值。
//如果不再数据域内,一直循环到输入数据符合数据域为止
while (co<0 || co>100)
{
}
cout<<"Bad data input!!"<>co;
comp=co;
totll=math+eng+comp;
aver=(math+eng+comp)/3;
}
//*******按照规定格式把该学生的数据显示在屏幕上******//
void stuatom::show()
{
";
cout.setf(ios::left);
cout.width(6);
cout<<""<>n;
int j;
//通过循环输入要求输入学生个数的学生的数据。
for(j=0; jstulen=n;
//学生个数赋值
//学生数据显示格式
system("cls");
cout<>Y;
system("cls");
}
//**************按照一定格式显示所要查询学生的信息。**************//
void student::Query()
{
int x , i;
cout<>x;
cout<stulen ;i++)
{
if (x==ob[i].id)
{
cout.setf(ios::left);
cout.width(6);
";
cout<<""<
stulen; i++)
{
outfile<cout<
stulen; i++)
{
ob[i].show();
}
getchar();
}
//*******************一个学生的数据****************//
void student::add()
{
int i, d=this->stulen ;
cout<<"输入要添加学生的信息:"<//*********************删除指定名字学生的数据*******************//
void student::del()
{
int i,p;
cout<<"
cin>>x;
char x[8];
输入要删除学生名字:"<read ();
cout<<" 删除成功!"<