基于c++实现的校友录管理系统课程设计Word格式文档下载.docx
《基于c++实现的校友录管理系统课程设计Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《基于c++实现的校友录管理系统课程设计Word格式文档下载.docx(21页珍藏版)》请在冰豆网上搜索。
![基于c++实现的校友录管理系统课程设计Word格式文档下载.docx](https://file1.bdocx.com/fileroot1/2023-1/3/38ca89fc-1055-4987-a51f-66edc1f0829a/38ca89fc-1055-4987-a51f-66edc1f0829a1.gif)
_______________
1、目的
一直以来人们使用传统人工的方式管理员工档案,这种管理方式存在着许多缺点,譬如:
效率低、保密性差,另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难。
随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。
人事管理信息系统的出现轻而易举的解决了传统管理人员档案的方法的缺点。
伴随着人事管理信息系统的广泛应用,它已经成为了任何一家企业公司都不可缺少的组成部分,它的存在使得管理者更容易了解自己公司的员工,便于分配人员,易于进行调整。
所以人事管理信息系统能够为管理人员提供充足的信息和快捷的查询手段。
2、问题题目
总体需求
编写一个校友录管理软件,校友的信息包括姓名、性别、年龄、届级、学院,系、班级、通讯地址、联系方式。
功能需求
a增加校友信息;
b修改校友信息;
c删除校友信息;
d查询校友信息。
用户界面
输入:
程序正常运行后,屏幕上显示一个文字菜单(根据序号选定相应的操作项目),当用户选定操作项目所对应的序号时,根据应用程序的提示信息,从键盘上输入相应的数据。
输出:
应用程序正常运行后,要在屏幕上显示一个文字菜单;
要求用户输入数据时,要给出清晰、明确的提示信息。
提示与参考
为各项操作功能设计一个菜单,应用程序运行后,先显示这个菜单,然后用户通过菜单项选择希望进行的操作项目。
将校友的信息定义为一个类;
每个人的编号应唯一,不可重复。
采用文件保存数据。
3程序框图
(1)结构框图
(2)功能框图
1、选择
2、删除
4、源代码
#include<
iostream>
fstream>
cstring>
iomanip>
usingnamespacestd;
intk;
classfriends
{
private:
charnum[10];
//编号
charname[20];
//姓名
charsex[10];
//性别
charage[10];
//年龄
charjieji[20];
//届级
charxueyuan[20];
//学院
charxi[20];
//系
charbanji[20];
//班级
chartxdz[20];
//通讯地址
charlxfs[30];
//联系方式
staticintbianhao;
public:
voidsetfriends(char*name1,char*sex1,char*age1,char*jieji1,char*xueyuan,char*xi1,char*banjil1,char*txdz1,char*lxfs1);
staticint&
getbianhao(){returnbianhao;
}
char*getname(){returnname;
char*getsex(){returnsex;
char*getage(){returnage;
char*getjieji(){returnjieji;
char*getxueyuan(){returnxueyuan;
char*getxi(){returnxi;
char*getbanji(){returnbanji;
char*gettxdz(){returntxdz;
char*getlxfs(){returnlxfs;
char*getnum(){returnnum;
voidadd();
voidfind();
voiddeleted();
voidalter();
voidshow();
};
friendsg[150];
friendsp[200];
intk1;
intfriends:
:
bianhao=0;
voidfriends:
setfriends(char*name1,char*sex1,char*age1,char*jieji1,char*xueyuan1,char*xi1,char*banji1,char*txdz1,char*lxfs1)
intstaticj=1;
strcpy(name,name1);
strcpy(sex,sex1);
strcpy(age,age1);
strcpy(jieji,jieji1);
strcpy(xueyuan,xueyuan1);
strcpy(xi,xi1);
strcpy(banji,banji1);
strcpy(txdz,txdz1);
strcpy(lxfs,lxfs1);
bianhao++;
ofstreamfile("
校友录信息.txt"
ios_base:
app);
//追加到文件尾
file<
<
g[j].getbianhao()<
endl;
g[j].getname()<
g[j].getsex()<
g[j].getage()<
g[j].getjieji()<
g[j].getxueyuan()<
g[j].getxi()<
g[j].getbanji()<
g[j].gettxdz()<
g[j].getlxfs()<
j++;
file.close();
}
1添加校友信息
add()
intv,l=1;
charname2[20];
charsex2[10];
charage2[10];
charjieji2[20];
charxueyuan2[20];
charxi2[20];
charbanji2[20];
chartxdz2[20];
charlxfs2[30];
cout<
"
请输入要添加的人数"
cin>
>
k;
g[1].getbianhao()=p[k1].getbianhao();
v=bianhao;
for(inti=v+1;
i<
=v+k;
i++)
{
请输入第"
l<
校友的信息"
姓名:
;
name2;
性别:
sex2;
年龄:
age2;
届级:
jieji2;
学院:
xueyuan2;
系:
xi2;
班级:
banji2;
通讯地址:
txdz2;
联系方式:
lxfs2;
g[i].setfriends(name2,sex2,age2,age2,jieji2,xi2,banji2,txdz2,lxfs2);
l++;
}
2修改校友信息
voidfriends:
alter()
{
intk=1;
ifstreamfilem("
in);
//打开文件,以便读取
while(!
filem.eof())
filem>
p[k].getnum();
p[k].getname();
p[k].getsex();
p[k].getage();
p[k].getjieji();
p[k].getxueyuan();
p[k].getxi();
p[k].getbanji();
p[k].gettxdz();
p[k].getlxfs();
k++;
filem.close();
请输入要修改的人的编号:
intx,y;
x;
请输入编号为"
x<
的人需要修改的项目的代号:
1:
编号-2:
姓名-3:
性别-4:
年龄-5:
届级-6:
学院-7:
系-8:
班级-9:
通讯地址-10:
联系方式"
y;
switch(y)
case1:
{cout<
请输入新的编号"
p[x].getnum();
break;
case2:
请输入新的姓名"
cin>
p[x].getname();
case3:
请输入新的性别"
p[x].getsex();
case4:
请输入新的年龄"
p[x].getage();
case5:
请输入新的届级"
p[x].getjieji();
case6:
请输入新的学院"
p[x].getxueyuan();
case8:
请输入新的班级"
p[x].getbanji();
case9:
请输入新的通讯地址"
p[x].gettxdz();
case10:
请输入新的联系方式"
p[x].getlxfs();
ofstreamfile1("
trunc);
//如果文件存在,则截短文件,即以前的内容将被删除
for(k=1;
k<
=bianhao;
k++)
file1<
p[k].getnum()<
p[k].getname()<
p[k].getsex()<
p[k].getage()<
p[k].getjieji()<
p[k].getxueyuan()<
p[k].getxi()<
p[k].getbanji()<
p[k].gettxdz()<
p[k].getlxfs()<
file1.close();
修改并保存完毕"
3删除校友信息
deleted()
{
intz;
请输入要被删除信息的校友的编号:
z;
while(z<
1||z>
bianhao)
{intmenu();
没有找到你要删除的校友信息,请重新选择:
menu();
break;
k++)
if(z==k)
continue;
ofstreamfile2("
file2<
file2.close();
删除记录完毕"
4查找校友信息
find()
按编号查询--2:
按姓名查询-请选择(1-2)"
intm;
m;
while(m<
1||m>
2)
请重新输入(1-2)"
switch(m)
{charn[10];
请输入要查找的编号:
n;
编号"
setw(9)<
姓名"
setw(5)<
性别"
<
年龄"
届级"
学院"
系"
setw(10)<
班级"
通讯地址"
if(strcmp(p[k].getnum(),n)==0)
setiosflags(ios:
left)<
p[k].getname()
p[k].getage()
p[k].getxueyuan()
p[k].getbanji()
if(filem.eof())
警告:
校友录信息没有要查找的人!
!
}break;
charnname[20];
请输入要查找的姓名:
nname;
if(strcmp(p[k].getname(),nname)==0)
没有要查找的人!
5显示校友信息
show()
k1=--k;
intmenu()
cout<
==========================校友录管理============================"
==============================================================="
=1--添加校友信息="
=2--删除校友信息="
=3--修改校友信息="