课程设计同学录管理系统分工Word文档格式.docx
- 文档编号:22763410
- 上传时间:2023-02-05
- 格式:DOCX
- 页数:19
- 大小:62.13KB
课程设计同学录管理系统分工Word文档格式.docx
《课程设计同学录管理系统分工Word文档格式.docx》由会员分享,可在线阅读,更多相关《课程设计同学录管理系统分工Word文档格式.docx(19页珍藏版)》请在冰豆网上搜索。
stdafx.h"
#include<
iostream>
#include<
string>
cstring>
//使用CString对字符串的操作更直接。
如:
CString型转化成int型
fstream>
//文件流,主要提供操作文件函数
usingnamespacestd;
constintm=100;
inti;
structstudent1
{
longnum;
charname[20];
//自动申请内存空间,用完自动释放内存空间,下同
intage;
charsex[10];
longyear;
intmonth;
charaddress[20];
stringphonenumber;
charemail[100];
};
classstudent2//定义类
public:
voidadd();
//添加录入函数
voiddisplay();
//申明一个名为display的显示输出函数
voidinquiry();
//查询信息函数
voidsort();
//排序信息函数
voiddel();
//删除信息函数
voidupdate();
//修改信息函数
voidface();
//界面浏览函数
voidtishi();
//提示用户下一步操作函数
voidquit();
//退出操作函数
protected:
student1stud[m];
intrenshu;
//对同学信息的录入
voidstudent2:
:
add()
ofstreamoutfile("
C:
\\classmates.txt"
ios:
binary);
//建立classmates.txt文件,用于存储录入的内容,并以二进制的方式进行存储
if(!
outfile)//如果目录不存在
{
cerr<
<
"
对不起,文件打开失败!
endl;
//报错
abort();
//程序异常终止进程
}
cout<
请输入你们班人数:
;
cin>
>
renshu;
endl<
for(i=0;
i<
i++)
//用for循环语句实现对同学姓名,年龄,性别,出生年月,地址,电话等添加录入
这是第"
(i+1)<
个同学的信息:
学号:
stud[i].num;
姓名:
stud[i].name;
年龄:
stud[i].age;
性别:
stud[i].sex;
出生年月:
年:
stud[i].year;
月:
stud[i].month;
地址:
stud[i].address;
电话:
stud[i].phonenumber;
email:
stud[i].email;
outfile.write((char*)&
stud[i],sizeof(student1));
//将&
stud[i]指针所指向的内容输出,每次输出的数据单元占sizeof(student1)个字节
outfile.close();
//输出文件关闭
}
//对同学信息的显示
display()
student1s[m];
ifstreaminfile("
//将信息从硬盘中调到内存中
infile)
对不起,打开失败!
//终止
infile.read((char*)&
s[i],sizeof(student1));
//一旦读取成功,循环读取&
s[i]指针所指的内容,输出的数据占sizeof(student1))字节
infile.close();
i++)//循环输出
第"
s[i].num<
s[i].name<
s[i].age<
s[i].sex<
s[i].year<
s[i].month<
s[i].address<
s[i].phonenumber<
Email:
s[i].email<
//对同学信息的查询
inquiry()
intm,flag=0;
longn;
charxm[20];
1.按学号查询;
2.按姓名查询.请选择!
m;
if(m==1)
请输入学号:
n;
if(stud[i].num==n)
个同学的信息"
stud[i].num<
stud[i].name<
stud[i].age<
stud[i].sex<
stud[i].year<
stud[i].month<
stud[i].address<
stud[i].phonenumber<
stud[i].email<
flag=1;
//用flag提示用户是否查到信息
if(flag==0)//0表示没有查到
没有您要查询的信息!
if(m==2)
请输入姓名:
xm;
//输入姓名
if(strcmp(stud[i].name,xm)==0)//strcmp用来比较字符串name和xm
if(flag==0)
//对同学信息的排序
sort()
inta[m],j,t;
//利用冒泡法进行排序
a[i]=i;
for(j=0;
j<
renshu-1-i;
j++)
if(stud[a[j]].num>
stud[a[j+1]].num)//若前面学号比后面大,则交换
t=a[j];
a[j]=a[j+1];
a[j+1]=t;
这是排序后的信息:
stud[a[i]].num<
stud[a[i]].name<
stud[a[i]].age<
stud[a[i]].sex<
stud[a[i]].year<
stud[a[i]].month<
stud[a[i]].address<
stud[a[i]].phonenumber<
stud[a[i]].email<
//对同学信息的删除
del()
intj,a[m],t,flag=0;
charna[20];
{a[i]=i;
1.按学号删除;
2.按姓名删除."
请您做出选择!
j;
if(j==1)
输入您要删除的学号:
t=i;
查到您要删除的同学信息!
删除后的同学信息为:
for(;
t<
t++)
a[t]=t+1;
renshu-1;
没有查到您要删除的信息!
if(j==2)
输入您要删除的姓名:
na;
if(strcmp(stud[i].name,na)==0)//strcmp用来比较字符串
查到您删除的同学信息!
没有查到您要删除同学的信息!
//对同学信息的修改
update()
intn,flag=0;
inta;
chars[10];
longy;
intm;
charadd[30];
longphn;
chare[100];
输入您要修改的同学学号:
新的姓名:
strcpy(stud[i].name,na);
新的年龄:
a;
stud[i].age=a;
新的性别:
s;
strcpy(stud[i].sex,s);
新的出生年月:
y;
stud[i].year=y;
stud[i].month=m;
新的地址:
add;
strcpy(stud[i].address,add);
新的电话:
phn;
stud[i].phonenumber=phn;
新的email:
e;
strcpy(stud[i].email,e);
修改后同学的信息为:
"
没有查到您要修改的同学信息:
//界面函数
face()
inti;
********************************************************************************"
欢迎使用同学录信息管理系统!
同学录信息管理系统菜单:
1.同学信息添加"
2.同学信息浏览"
3.同学信息查询"
4.同学信息排序"
5.同学信息删除"
6.同学信息修改"
0.退出"
请选择按键0-6:
i;
if(i==1)
add();
//调用add函数
tishi();
//调用友情提示,下同
if(i==2)
display();
if(i==3)
inquiry();
if(i==4)
sort();
if(i==5)
del();
if(i==6)
update();
//友情提示函数
voidstudent2:
tishi()
intj;
是否继续其他的操作?
cout<
1.继续0.退出"
if(j==0)
quit();
face();
//退出函数
quit()
谢谢使用!
intmain()
student2s;
//定义类对象
s.face();
//调用face界面函数
return0;
}
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 课程设计 同学录 管理 系统 分工