基于c++实现的校友录管理系统课程设计.docx
《基于c++实现的校友录管理系统课程设计.docx》由会员分享,可在线阅读,更多相关《基于c++实现的校友录管理系统课程设计.docx(21页珍藏版)》请在冰豆网上搜索。
基于c++实现的校友录管理系统课程设计
内蒙古工业大学课程设计(论文)任务书
课程名称:
面向对象程序设计课程设计学院:
信息工程学院班级:
计10-1班
学生姓名:
张旭辉___学号:
201020201049_
指导教师:
王晓强、
一、题目
校友录管理系统
二、目的与意义
《面向对象程序设计课程设计》课程设计是计算机科学与技术专业实践性环节之一,通过课程设计的综合训练可以使学生进一步理解和掌握面向对象程序设计课程的基本知识;掌握面向对象程序设计的思路和方法;基本具有利用面向对象的方法以及C++的编程思想来完成系统设计的能力。
三、要求(包括原始数据、技术参数、设计要求、图纸量、工作量要求等)
1.要求利用面向对象的方法以及C++的编程思想来完成系统的设计;
2.要求在设计的过程中,建立清晰的类层次;
3.在系统中至少要定义一个类,类中要有各自的属性和方法;
4.在系统的设计中,至少要用到面向对象的一种机制。
四、工作内容、进度安排
1.根据课程设计的要求,确定设计题目;(0.5天)
2.查找相关资料,进行应用程序总体结构、使用功能的设计;(0.5天)
3.进行应用程序的界面设计和源程序代码的编写;(2.5天)
4.设计说明书的撰写、答辩(1.5天)
五、主要参考文献
[1]《C++语言程序设计(第三版)》,郑莉,清华大学出版社,2004
[2]《C++程序设计教程》,钱能主编,清华大学出版社,1999.4
[3]《C++程序设计课程设计》,刘振安,机械工业出版社,2004.8
审核意见
系(教研室)主任(签字)
指导教师下达时间2011年12月26日
指导教师签字:
_______________
1、目的
一直以来人们使用传统人工的方式管理员工档案,这种管理方式存在着许多缺点,譬如:
效率低、保密性差,另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难。
随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。
人事管理信息系统的出现轻而易举的解决了传统管理人员档案的方法的缺点。
伴随着人事管理信息系统的广泛应用,它已经成为了任何一家企业公司都不可缺少的组成部分,它的存在使得管理者更容易了解自己公司的员工,便于分配人员,易于进行调整。
所以人事管理信息系统能够为管理人员提供充足的信息和快捷的查询手段。
2、问题题目
总体需求
编写一个校友录管理软件,校友的信息包括姓名、性别、年龄、届级、学院,系、班级、通讯地址、联系方式。
功能需求
a增加校友信息;
b修改校友信息;
c删除校友信息;
d查询校友信息。
用户界面
输入:
程序正常运行后,屏幕上显示一个文字菜单(根据序号选定相应的操作项目),当用户选定操作项目所对应的序号时,根据应用程序的提示信息,从键盘上输入相应的数据。
输出:
应用程序正常运行后,要在屏幕上显示一个文字菜单;要求用户输入数据时,要给出清晰、明确的提示信息。
提示与参考
为各项操作功能设计一个菜单,应用程序运行后,先显示这个菜单,然后用户通过菜单项选择希望进行的操作项目。
将校友的信息定义为一个类;每个人的编号应唯一,不可重复。
采用文件保存数据。
3程序框图
(1)结构框图
(2)功能框图
1、选择
2、删除
4、源代码
#include
#include
#include
#include
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<file<file<file<file<file<file<file<file<file<j++;
file.close();
}
1添加校友信息
voidfriends:
:
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++)
{
cout<<"请输入第"<cout<<"姓名:
";cin>>name2;
cout<<"性别:
";cin>>sex2;
cout<<"年龄:
";cin>>age2;
cout<<"届级:
";cin>>jieji2;
cout<<"学院:
";cin>>xueyuan2;
cout<<"系:
";cin>>xi2;
cout<<"班级:
";cin>>banji2;
cout<<"通讯地址:
";cin>>txdz2;
cout<<"联系方式:
";cin>>lxfs2;
g[i].setfriends(name2,sex2,age2,age2,jieji2,xi2,banji2,txdz2,lxfs2);
l++;
}
}
2修改校友信息
voidfriends:
:
alter()
{
intk=1;
ifstreamfilem("校友录信息.txt",ios_base:
:
in);//打开文件,以便读取
while(!
filem.eof())
{
filem>>p[k].getnum();
filem>>p[k].getname();
filem>>p[k].getsex();
filem>>p[k].getage();
filem>>p[k].getjieji();
filem>>p[k].getxueyuan();
filem>>p[k].getxi();
filem>>p[k].getbanji();
filem>>p[k].gettxdz();
filem>>p[k].getlxfs();
k++;
}
filem.close();
cout<<"请输入要修改的人的编号:
"<intx,y;
cin>>x;
cout<<"请输入编号为"<"<cout<<"1:
编号-2:
姓名-3:
性别-4:
年龄-5:
届级-6:
学院-7:
系-8:
班级-9:
通讯地址-10:
联系方式"<cin>>y;
switch(y)
{
case1:
{cout<<"请输入新的编号";cin>>p[x].getnum();}
break;
case2:
{cout<<"请输入新的姓名";cin>>p[x].getname();}
break;
case3:
{cout<<"请输入新的性别";cin>>p[x].getsex();}
break;
case4:
{cout<<"请输入新的年龄";cin>>p[x].getage();}
break;
case5:
{cout<<"请输入新的届级";cin>>p[x].getjieji();}
break;
case6:
{cout<<"请输入新的学院";cin>>p[x].getxueyuan();}
break;
case8:
{cout<<"请输入新的班级";cin>>p[x].getbanji();}
break;
case9:
{cout<<"请输入新的通讯地址";cin>>p[x].gettxdz();}
break;
case10:
{cout<<"请输入新的联系方式";cin>>p[x].getlxfs();}
break;
}
ofstreamfile1("校友录信息.txt",ios_base:
:
trunc);//如果文件存在,则截短文件,即以前的内容将被删除
for(k=1;k<=bianhao;k++)
{
file1<
file1<
file1<
file1<
file1<
file1<
file1<
file1<
file1<
file1<
}
file1.close();
cout<<"修改并保存完毕"<}
3删除校友信息
voidfriends:
:
deleted()
{
intz;
ifstreamfilem("校友录信息.txt",ios_base:
:
in);
intk=1;
while(!
filem.eof())
{
filem>>p[k].getnum();
filem>>p[k].getname();
filem>>p[k].getsex();
filem>>p[k].getage();
filem>>p[k].getjieji();
filem>>p[k].getxueyuan();
filem>>p[k].getxi();
filem>>p[k].getbanji();
filem>>p[k].gettxdz();
filem>>p[k].getlxfs();
k++;
}
filem.close();
cout<<"请输入要被删除信息的校友的编号:
"<cin>>z;
while(z<1||z>bianhao)
{intmenu();
cout<<"没有找到你要删除的校友信息,请重新选择:
"<menu();break;
cin>>z;
}
for(k=1;k<=bianhao;k++)
{
if(z==k)
continue;
ofstreamfile2("校友录信息.txt",ios_base:
:
trunc);
file2<
file2<
file2<
file2<
file2<
file2<
file2<
file2<
file2<
file2<
file2.close();
}
cout<<"删除记录完毕"<}
4查找校友信息
voidfriends:
:
find()
{
cout<<"1:
按编号查询--2:
按姓名查询-请选择(1-2)"<intm;
cin>>m;
while(m<1||m>2)
{
cout<<"请重新输入(1-2)"<>m;
}
switch(m)
{
case1:
{charn[10];
cout<<"请输入要查找的编号:
";
cin>>n;
ifstreamfilem("校友录信息.txt",ios_base:
:
in);
intk=1;
cout<<"编号"<<<<while(!
filem.eof())
{
filem>>p[k].getnum();
filem>>p[k].getname();
filem>>p[k].getsex();
filem>>p[k].getage();
filem>>p[k].getjieji();
filem>>p[k].getxueyuan();
filem>>p[k].getxi();
filem>>p[k].getbanji();
filem>>p[k].gettxdz();
filem>>p[k].getlxfs();
if(strcmp(p[k].getnum(),n)==0)
{
cout<:
left)<
<<<<k++;
if(filem.eof())
{
cout<cout<<"警告:
校友录信息没有要查找的人!
!
";}
}
filem.close();}break;
case2:
{
charnname[20];
cout<<"请输入要查找的姓名:
";
cin>>nname;
ifstreamfilem("校友录信息.txt",ios_base:
:
in);
intk=1;
cout<<"编号"<<<<while(!
filem.eof())
{
filem>>p[k].getnum();
filem>>p[k].getname();
filem>>p[k].getsex();
filem>>p[k].getage();
filem>>p[k].getjieji();
filem>>p[k].getxueyuan();
filem>>p[k].getxi();
filem>>p[k].getbanji();
filem>>p[k].gettxdz();
filem>>p[k].getlxfs();
if(strcmp(p[k].getname(),nname)==0)
{
cout<:
left)<
<<<<k++;
if(filem.eof())
{
cout<cout<<"警告:
没有要查找的人!
!
!
!
!
!
!
!
!
!
";}
}
filem.close();
}
break;
}
}
5显示校友信息
voidfriends:
:
show()
{
ifstreamfilem("校友录信息.txt",ios_base:
:
in);
intk=1;
cout<<"编号"<<<<while(!
filem.eof())
{
filem>>p[k].getnum();
filem>>p[k].getname();
filem>>p[k].getsex();
filem>>p[k].getage();
filem>>p[k].getjieji();
filem>>p[k].getxueyuan();
filem>>p[k].getxi();
filem>>p[k].getbanji();
filem>>p[k].gettxdz();
filem>>p[k].getlxfs();
cout<:
left)<
<<<<k++;
}
k1=--k;
filem.close();
}
intmenu()
{
cout<cout<<"==========================校友录管理============================"<cout<<"==============================================================="<cout<<"=1--添加校友信息="<cout<<"=2--删除校友信息="<cout<<"=3--修改校友信息="<cout<<"