1、1 题目描述题目描述:编写一个校友录管理软件。校友的信息包括姓名、性别、年龄、届别、系、班级、通讯地址、电话、QQ、Email 等。具体实现的功能:能够实现数据的录入、查询(按姓名、届别、系、班级) 、修改、删除、排序(按姓名、届别) 。输入:程序正常运行后,屏幕上显示一个文字菜单(根据序号选定相应的操作项目) ,当用户选定操作项目所对应的序号时,根据应用程序的提示信息,从键盘上输入相应的数据。输出:(1)应用程序正常运行后,要在屏幕上显示一个文字菜单;(2)要求用户输入数据时,要给出清晰、明确的提示信息,包括输入的数据内容、格式及结束方式等。2 需求分析1项目背景随着计算机技术的进一步发展,
2、计算机互联网络遍布全球,将信息全球化。人们可以在网上检索信息,进行交流。同学录和纪念册凝结着人们真挚的友谊,记录岁月流失的痕迹,承载社会交往的功能,寄托着人们美好的心愿,在每个人心中,同学录和纪念册将扮演着亲昵而珍贵的随身物的角色,经济越发展,社会越发展,同学录和纪念册将越普及天下。设计关于同学录的系统,将会很受欢迎。2目的在线同学录设计目的主要是让毕业以后的同学们和老师有一个交流的平台,增强学校的凝聚力,现在各大门户网站都有自己的同学录系统,虽然功能还算强大,但是有很多同学反应,登录一次他们注册的同学录很麻烦,感觉很每乱。正是出于这样的想法,为方便同学之间的联系、增进同学之间的友谊,设计制作
3、了本系统。3流程图4.5.3 系统设计3.1 程序总体结构本系统主要包括六部分,如下图所示:校友录管理系统信息添加 信息查找 信息删除 信息修改排序信息显示3.2 主功能模块设计1)信息添加:用户进入系统界面后,系统将提示用户输入新添加人员信息,输入到文件中,人员信息数据包括班级人数、姓名、学号、性别、出生年月、电话号码、地址、邮箱。2)显示所有学生信息:用户选择该功能后,系统将显示已经保存的所有学生的信息,包括班级人数、姓名、学号、性别、出生年月、电话号码、地址、邮箱。3)查询:可由用户输入要查找的人员姓名或电话号码,然后系统用查找函数查找,接着系统使用相关文件命令输出所查找的人员的全部信息
4、。4)修改:首先由用户输入要修改的人员姓名或者电话号码,然后系统用修改函数查找,显示该名同学的资料,然后系统提示用户输入需要修改的人员的相关信息.并用双向链表来实现修改功能。5)删除:首先由用户输入要删除的人员的姓名或者电话号码,然后调用删除函数,删除该人员的所有相关资料。6)排序系统按照信息添加时的顺序显示所有信息。7)退出系统关闭同学录管理系统。3.3 程序设计1.设计类,对象及基本数据类型:创建一个class student2类,它有9个公共类函数成员:class student2 /定义类public:void add(); /添加录入函数void display(); /申明一个名为
5、display的显示输出函数void inquiry(); /查询信息函数void sort(); /排序信息函数void del(); /删除信息函数void update(); /修改信息函数void face(); /界面浏览函数void tishi(); /提示用户下一步操作函数void quit(); /退出操作函数3.4 类与函数的设计与实现:包括功能、名称、参数说明。1)同学信息的添加: void student2:add()ofstream outfile(“D:classmates.txt“,ios:binary); /建立classmates.txt 文件,用于存/储录入的
6、内容,并以二进制的方式进行存储if(!outfile) /如果目录不存在cerrrenshu;coutstudi.clas;coutstudi.jie;coutstudi.xi;coutstudi.num;coutstudi.name;coutstudi.age;coutstudi.sex;coutstudi.year;coutstudi.month;coutstudi.address;coutstudi.phonenumber;coutstudi.email;coutendlendl;outfile.write(char*) /将 /输出文件关闭2)同学信息显示void student2:d
7、isplay()student1 sm;ifstream infile(“D:classmates.txt“,ios:binary); /将信息从硬盘中调到内存中,/以二进制的方式进行读取if(!infile)cerr“对不起,打开失败哦!“endl;abort(); /终止for(i=0;irenshu;i+)infile.read(char*) /一旦读取成功,循环读/取,读取for(i=0;irenshu;i+) /循环输出cout“第“(i+1)“个同学的信息:“endl;cout“班级:“si.clasendl;cout“届别:“si.jieendl;cout“系:“si.xiendl;cout“学号:“si.numendl;cout“姓名:“si.nameendl;cout“年龄:“ si.ageendl;cout“性别:“si.sexendl;cout“出生年月:“endl;cout“年:“si.yearendl;cout“月:“si.monthendl;cout“地址:“si.addressendl;cout“电话:“si.phonenumberendl;cout“Email:“si.emailendl;