ImageVerifierCode 换一换
格式:DOCX , 页数:19 ,大小:149.85KB ,
资源ID:10653325      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/10653325.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(数据结构课程设计通讯录管理系统.docx)为本站会员(b****8)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

数据结构课程设计通讯录管理系统.docx

1、数据结构课程设计通讯录管理系统一、 设计题目(问题)描述和要求某一中学,现在需要建立学生通讯录管理系统,以管理学生信息。 要求: (1) 可以录入新的通讯信息(包括姓名,通讯地址,邮编,联系电话等)(2) 可以按照姓名进行查询相关信息(3) 可以修改相关信息二、 系统分析与概要设计根据问题描述和要求,系统要求能够按姓名查找、增加、删除和保存各学生的信息。确定程序应该具备如下功能:“查询学生信息”、“增加学生信息”、“修改学生信息”“删除学生信息”、“数据存盘”基本模块。系统可以将学生信息数据保存到磁盘文件student.txt,从而可以通过磁盘文件读出学生数据信息,为了便于统计在生成学生信息时

2、同时生成学生编号,这样每输入一个学生信息编号顺序加1,这样也方便了管理员查询学生信息。三、 详细设计和编码1. 数据类型定义根据系统要求,可以将姓名和邮编和联系电话通讯地址定义为字符型。2. 各模块算法描述查询学生信息: Que_name()输入要查询的学生姓名,比较名字与保存的信息是否相同,若相同则查找到,否则,没查找到。增加学生信息: Add()输入要添加的学生信息并保存。删除学生信息: Del()输入要删除的学生姓名,若与数据相同则删除,否则输出查找不到该信息。修改学生信息: Mod()输入要修改的学生姓名,输入要修改的信息,并确认。数据存盘: Sav()创建文件,将信息写入文件。3.

3、程序关键算法流程图(1)主函数流程(2) 某操作算法流程Student: Add()(3) Student: Del()4) Student: Mod()(5) Student: Que_name() (6) Student: Sav()(7) Student: Load()四、调试分析(内容包括:调试过程中遇到的问题并且是如何解决的以及对设计实现的回顾讨论和分析;算法的时空分析和改进设想;经验和体会等)五、 测试结果六、 小结通过本次设计,加强了对于编写管理系统程序的运用,能够更好的运用循环。对于以后的编程运用起了很大的帮助。七、 附录(附上带详细注释的源程序)#include#includ

4、e#includeusing namespace std;struct student char num20; char name20; char address50; char postcode20; char telphone20; student2000; /定义学生类结构体void Menu(); /声明菜单函数void Input(); /声明录入函数void Sav(int); /声明保存函数int Load(); /声明信息导入函数void Que_name(); /声明按姓名查找函数void Del(); /声明删除函数void Mod(); /声明修改函数void Scan(

5、); /声明浏览函信息数void Add(); /声明添加函数 void Menu() /菜单函数 coutt*欢迎来到平顶山学院学生通讯录信息管理系统!*endl; coutt* 请按要求正确录入学生的通讯录信息 *endl; coutt* 1.录入相关学生通讯录信息 *endl; coutt* 2.保存相关学生通讯录信息 *endl; coutt* 3.按姓名查找相关学生通讯录信息 *endl; coutt* 4.修改相关学生通讯录信息 *endl; coutt* 5.删除相关学生通讯录信息 *endl; coutt* 6.添加相关学生通讯录信息 *endl; coutt* 7.退出该学生

6、通讯录信息系统 *endl; coutt*欢迎欢迎您的光临*endl;void main() /主函数的实现 int n;loop: Menu(); /调用菜单函数 coutn; system(cls); switch(n) case 1:cout请输入相关学生通讯信息:endl;Input();system(cls);goto loop; case 2:cout请保存相关学生通讯信息:endl;Sav(n);goto loop; case 3:cout按姓名查找相关学生通讯信息:endl;Que_name();goto loop; case 4:cout修改相关学生通讯信息:endl;Mod

7、();goto loop; case 5:cout删除相关学生通讯信息:endl;Del();goto loop; case 6:cout添加相关学生通讯信息:endl;Add();goto loop; /用goto语句调至指定行 default :break; coutttt*欢迎您的使用!*endl;void Input() /学生通讯信息录入函数 int i,m; coutm; for (i=0;im;i+) cout请输入学生的学号: studenti.num; cout请输入通讯录中学生的姓名: studenti.name; cout请输入通讯录中学生的电话号码:studenti.t

8、elphone; cout请输入通讯录学生的地址(格式如*省*市*县*乡):studenti.address; cout请输入通讯录中学生的邮编:studenti.postcode; cout该学生的通讯信息已经输入完毕,请继续输入下一个学生通讯信息!endl; void Sav(int m) /如何写入信息? 保存通讯录文件函数 int i; FILE *fp; if (fp=fopen(E:student.dat,wb)=NULL) /创建文件并判断是否能打开 cout该文件打开失败。endl; exit(0); for (i=0;im;i+) /将内存中学生通讯信息输入到磁盘里去 if

9、(fwrite(&studenti,sizeof(struct student),1,fp)!=1) /申请空间,写入学生信息,为何有个1? cout信息写入失败!endl; fclose(fp); void Que_name() /按姓名查找函数 char name110; int i,m; m=Load(); cout请输入您要查询学生通讯信息的名字name1; for(i=0;im;i+) if(strcmp(name1,studenti.name)=0) cout查找到该学生的通讯信息如下:endl; Scan(); break; else cout抱歉,查无此人!endl; retu

10、rn ; void Scan() int i,m; m=Load(); /不明白这个,把函数赋给m吗? cout输出学生通讯信息如下:endl; for(i=0;im;i+) cout学号:studenti.num 姓名: studenti.name 联系电话:studenti.telphone 通讯地址:studenti.address邮编: studenti.postcode endl;int Load() /导入函数 FILE*fp; int i=0; if(fp=fopen(E:student.dat,rb)=NULL) cout文件打开失败!endl; exit(0); else d

11、o fread(&studenti,sizeof(struct student),1,fp); i+; while(feof(fp)=0); return(i); fclose(fp);void Del() /删除函数 int m; int i,j,n,t,f; char name110; m=Load(); cout查看学生的通讯信息如下:endl; Scan(); /调用浏览函数 cout请输入您想删除的通讯信息的名字:name1; for(f=1,i=0;f&im;i+) if(strcmp(studenti.name,name1)=0) cout查找到该学生的通讯信息如下:endl;

12、Scan(); cout如果要删除该生信息,请按1,否则按0n; if(n=1) /如果删除,则其他的信息都向前移一行 for(j=i;jm-1;j+) studentj=studentj+1; f=0; if(!f) m=m-1;/? else cout抱歉!未找到该生信息。endl; cout输出其他学生通讯信息如下:endl; Scan(); /调用浏览函数 Sav(m); /调用保存函数 cout如果您想继续删除通讯信息,请按1,否则按0。t; switch(t) case 1: Del();break; case 0: break; default : break; ;void Mo

13、d() /修改函数 char num20,tel20,post20; char name20; char address50; int b, c,i,n,t,f; int m=Load(); /导入文件内的信息 cout该学生先前的通讯信息为:endl; Scan(); /调用浏览函数 cout请输入您想要修改通讯信息的名字:name ; for(f=1,i=0;f&im;i+) if(strcmp(studenti.name, name)=0) cout查找到该学生的通讯信息如下:endl; Scan(); cout确实要修改该生通讯信息请按1,否则按0n; if(n=1) cout请输入您

14、要修改的项目(1-学号 2-姓名 3-联系电话 4-通讯地址 5-邮编):c; if(c6|c1) cout抱歉,您的输入有误,请从新输入。endl; f=0; if(f=1) cout抱歉,未找到此人!endl; do switch(c) /因为当找到第i个学生时,for语句后i自加了1,所以下面的应该把改后的信息赋值给第i-1个人 case 1: coutnum; strcpy(studenti.num,num); break; case 2:coutname; strcpy(studenti.name, name); break; case 3:couttel; strcpy(stude

15、nti.telphone,tel); break; case 4:coutaddress; strcpy(studenti.address,address); break; case 5:coutpost; strcpy(studenti.postcode,post); break; coutendl; cout确认您所修改的信息请按1,从新修改请按0:b; while(b=0); Sav(m); cout修改后所有信息如下;endl; Scan(); cout如果您想继续修改请按1,否则按0:t; switch(t) case 1: Mod();break; case 0: break; d

16、efault :break; void Add() /添加函数 int n=Load(); int i,m; cout请输入您要添加的学生通讯信息的个数:m; for (i=n;im+n;i+) coutstudenti.num; coutendl; coutstudenti.name; coutendl; coutstudenti.telphone; coutendl; coutstudenti.address; coutstudenti.postcode; coutendl; system(cls); cout该生的通讯信息添加完毕,请输入您要添加的下一位学生的通讯信息!endl; Sav(m+n); cout学生通讯信息添加完毕,查看信息如下:endl; Scan();

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1