同学录管理系统.docx
《同学录管理系统.docx》由会员分享,可在线阅读,更多相关《同学录管理系统.docx(13页珍藏版)》请在冰豆网上搜索。
同学录管理系统
/*同学录管理系统
*程序员:
江陈瓒
*制作时间:
2013-07-02
*修改履历:
*/
#include//iostream为内置型类型对象提供了输入输出支持,同时也支持文件的输入输出
#include//使用CString可以对字符串的操作更加直截了当
#include//文件流,主要提供操作文件函数
usingnamespacestd;
constintm=100;//定义常量m
inti;
structstudent1//定义结构体
{
longnum;
charname[20];//自动申请内存空间,用完自动释放内存空间,下同
intage;
charsex[10];
longyear;
intmonth;
charaddress[30];
longphonenumber;
charemail[100];
};
classstudent2//定义类
{
public:
voidadd();//添加录入函数
voiddisplay();//申明一个名为display的显示输出函数
voidinquiry();//查询信息函数
voiddel();//删除信息函数
voidupdate();//修改信息函数
voidface();//界面浏览函数
voidtishi();//提示用户下一步操作函数
voidquit();//退出操作函数
protected:
student1stud[m];
intrenshu;
};
//对同学信息的录入
voidstudent2:
:
add()
{
ofstream
outfile("D:
\\classmates.txt",ios:
:
binary);//建立classmates.txt文件,用于存储录入的内容,并以二进制的方式进存储
if(!
outfile)//如果目录不存在
{
cout<<"对不起,文件打开失败!
"<abort();//程序异常终止进程
}
cout<<"请输入你们班人数:
";
cin>>renshu;
cout<for(i=0;i{
cout<<"这是第"<<(i+1)<<"个同学的信息:
"<cout<<"姓名:
";
cin>>stud[i].name;
cin>>stud[i].month;
cout<<"地址:
";
cin>>stud[i].address;
cout<<"电话:
";
cin>>stud[i].email;
cout<outfile.write((char*)&stud[i],sizeof(student1));//将&stud[i]这个指针所指向的内容输出,每次输出的数据单元占sizeof(student1)个字节
}
outfile.close();//输出文件关闭
}
//对同学信息的显示
voidstudent2:
:
display()
{
student1s[m];
ifstreaminfile("D:
\\classmates.txt",ios:
:
binary);//将信息从硬盘中调到内存中,以二进制的方式进行读取内存
if(!
infile)
{
cout<<"对不起,打开失败哦!
"<abort();
//终止
}
for(i=0;iinfile.read((char*)&s[i],sizeof(student1));//一旦读取成功,循环读取,读取&s[i]这个指针所指向的内容,每次输出的数据单元占sizeof(student1))个字节
infile.close();
for(i=0;i{
cout<<"第"<<(i+1)<<"个同学的信息:
"<cout<<"姓名:
"<
cout<<"地址:
"<
cout<<"电话:
"<
cout<}
}
//对同学信息的查询
voidstudent2:
:
inquiry()
{
intm,flag=0;
longn;
charxm[20];
cout<<"1.按姓名查询;2.按电话查询.请选择!
"<cin>>m;
if(m==1)
{
cout<<"请输入姓名:
";
cin>>n;
cout<for(i=0;i{
if(stud[i].num==n)
{
cout<<"这是第"<<(i+1)<<"个同学"<cout<<"姓名:
"<cout<<"地址:
"<cout<<"电话:
"<flag=1;//用flag提示用户有没有找到所要查询的同学信息
}
}
if(flag==0)//0表没有找到
cout<<"没有找到您查查找的同学信息!
"<}
if(m==2)
{
cout<<"请输入姓名:
"<cin>>xm;//输入姓名
for(i=0;i{
if(strcmp(stud[i].name,xm)==0)
//strcmp用来比较字符串和xm
{
cout<<"这是第"<<(i+1)<<"个同学"<cout<<"学号:
"<cout<<"姓名:
"<cout<<"年龄:
"<cout<<"性别:
"<cout<<"出生年月:
"<cout<<"年:
"<cout<<"月:
"<cout<<"地址:
"<cout<<"电话:
"<cout<<"Email:
"<flag=1;
}
}
if(flag==0)
cout<<"没有您要查找的同学信息!
"<}
}
//对同学信息的删除
voidstudent2:
:
del()
{
intj,a[m],t,flag=0;
longn;
charna[20];
for(i=0;i{
a[i]=i;
}
cout<<"1.按电话删除;2.按姓名删除.";
cout<<"请您做出选择!
"<cin>>j;
if(j==1)
{
cout<<"输入您要删除的学号:
";
cin>>n;
for(i=0;i{
if(stud[i].num==n)
{
t=i;
flag=1;
cout<<"找到了您要删除的同学信息!
"<for(t{
a[t]=t+1;
}
for(i=0;i{
cout<<"这是第"<<(i+1)<<"个同学"<cout<<"学号:
"<cout<<"姓名:
"<cout<<"年龄:
"<cout<<"性别:
"<cout<<"出生年月:
"<cout<<"年:
"<cout<<"月:
"<cout<<"地址:
"<cout<<"电话:
"<cout<<"Email:
"<cout<}
}
}
if(flag==0)
{
cout<<"没有找到您要的删除同学的信息!
"<}
}
}
//对同学信息的修改
voidstudent2:
:
update()
{
intn,flag=0;
charna[20];
inta;
chars[10];
longy;
intm;
charadd[30];
longphn;
chare[100];
cout<<"输入您要修改的同学学号:
";
cin>>n;
for(i=0;i{
if(stud[i].num==n)
{
cout<<"新的姓名:
";
cin>>na;
strcpy(stud[i].name,na);
cout<<"新的年龄:
";
cin>>a;
stud[i].age=a;
cout<<"新的性别:
";
cin>>s;
strcpy(stud[i].sex,s);
cout<<"新的出生年月:
"<cout<<"年:
";
cin>>y;
stud[i].year=y;
cout<<"月:
"<cin>>m;
stud[i].month=m;
cout<<"新的姓名:
";
cin>>na;
strcpy(stud[i].name,na);cout<<"新的年龄:
";
cin>>a;
stud[i].age=a;
cout<<"新的性别:
";
cin>>s;
strcpy(stud[i].sex,s);
cout<<"新的出生年月:
"<cout<<"年:
";
cin>>y;