C程序课程设计通讯库管理系统_第1页
C程序课程设计通讯库管理系统_第2页
C程序课程设计通讯库管理系统_第3页
C程序课程设计通讯库管理系统_第4页
C程序课程设计通讯库管理系统_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 信息科学与工程学院课程设计报告书课程名称: c程序课程设计 班 级: 自动化2010级1002班 学 号: 201004134061 课程设计报告书(一) 需求分析 设计题目:通讯录管理系统 设计要求:1.建立通讯录信息,信息至少包含编号、姓名、年龄、电话、通讯地址、电子邮箱等;2.能够提供添加、删除和修改通讯录信息的功能,并给出确认是否保存或删除记录的提示信息;3.能够提供按姓名或电话等查询并显示相应记录信息;4.将通讯录保存在文件中;5.能够按表格方式输出通讯录信息。系统功能需求分析: 包括添加,显示,查询,修改,删除,保存,退出等功能(二)概要设计 整体设计框架:通讯录添加显示查询修改

2、删除保存退出(三)详细设计 主要功能模块的算法设计思路及对应的工作流程图: 1添加模块: 2.显示模块: 3查询模块4. 修改模块 5. 删除模块6. 保存模块 (四)主要源程序代码#include #include #include #include 控制台输入输出struct contacks 定义通讯录结构体char name100; char num100; char sex100; char age100; char tel100; char address100; char e_mail100; con100;int b=0;void add(); 声明添加函数void show(

3、); 声明显示函数void search(); 声明查询函数void correct(); 声明修改函数void del(); 声明删除函数 void save(); 声明保存函数void main() 主函数输出选择菜单system(cls); int a; char i=1;while(a!=0)printf(tn);printf(t n);printf(t n);printf(t 欢迎使用通信录管理系统 n);printf(t n);printf(t n);printf(t no.1 添加通信录信息 n);printf(t n);printf(t no.2 显示通信录信息 n);prin

4、tf(t n);printf(t no.3 查询通信录信息 n);printf(t n);printf(t no.4 修改通信录信息 n);printf(t n);printf(t no.5 删除通讯录信息 n);printf(t n);printf(t no.6 保存通讯录 n);printf(t n);printf(t no.0 退出系统 n);printf(t n);printf(t n);printf(tn);printf(n 请选择(0-6):);scanf(%d, &a);switch(a)case 0:exit(0);break;case 1:add(); break;case

5、2:show();break;case 3:search(); break;case 4:correct(); break;case 5:del();break;case 6:save();break;default:printf( 您的输入有误!n);i=getchar();void add() 定义添加函数char ch100;system(cls);printf(n 请输入相关联系人的信息:n);printf(n 姓名: );scanf(%s,);printf(n 编号:);scanf(%s,conb.num);printf(n 性别:);scanf(%s,conb.s

6、ex);printf(n 年龄:);scanf(%s,conb.age);printf(n 电话:);scanf(%s,conb.tel);printf(n 地址:);scanf(%s,conb.address);printf(n e_mail:);scanf(%s,conb.e_mail);b+;printf(nn 您的信息输入已完成,输入y继续添加,输入任意键返回: );scanf(%s,ch);system(cls);if(strcmp(y,ch)=0|strcmp(y,ch)=0)add ();elsemain();void show() 定义显示函数 system(cls);int

7、i;char a100;for(i=0;ib;i+) printf(n 姓名:%sn 编号:%sn 性别:%sn 年龄:%sn 电话:%sn 地址:%sn 电子邮件:%sn ,,coni.num,coni.sex,coni.age,coni.tel,coni.address,coni.e_mail); printf(nn 以上是您所输入的信息,输入y以表格显示,输入任意键返回:);scanf(%s,a);if(strcmp(y,a)=0|strcmp(y,a)=0)system(cls);printf(nn); printf( 姓名 编号 性别 年龄 电话 地址 电子邮件 )

8、; for(i=0;ib;i+) printf();printf( %-9s%-9s%-9s%-9s%-12s%-12s%-12s ,,coni.num,coni.sex,coni.age,coni.tel,coni.address,coni.e_mail); printf();printf(nn 请按任意键返回主界面:);getch(); main(); elsemain();printf(nn 以上是您所输入的信息,请按任意键返回主界面:);getch(); main(); void search() 定义查询函数system(cls);int i,k=1;char a1

9、00;printf(nn 请输入您想要查询的方式:nn);printf( no.1 按姓名查找nn);printf( no.2 按编号查找nn);printf( no.3 按电话查找nn);printf( no.4 返回主菜单nn);printf(n 请输入1-4:);scanf(%s,a);if(strcmp(a,1)=0)system(cls);printf(nn 请输入姓名:);scanf(%s,a);for(i=0;ib;i+)if(strcmp(a,)=0)printf(nn 姓名:%sn 编号:%sn 性别:%sn 年龄:%sn 电话:%sn 地址:%sn 电子邮

10、件:%snn ,,coni.num,coni.sex,coni.age,coni.tel,coni.address,coni.e_mail);printf(nn 输入y继续查找,输入任意键返回: );scanf(%s,a);if(strcmp(y,a)=0|strcmp(y,a)=0)search();elsemain(); k=0;if(k)printf(nn 对不起,您所查找的联系人不存在,请按任意键返回);getch();search();else if(strcmp(a,2)=0)system(cls);printf(nn 请输入编号:);scanf(%s,a);fo

11、r(i=0;ib;i+)if(strcmp(a,coni.num)=0)printf(nn 姓名:%sn 编号:%sn 性别:%sn 年龄:%sn 电话:%sn 地址:%sn 电子邮件:%snn ,,coni.num,coni.sex,coni.age,coni.tel,coni.address,coni.e_mail);printf(nn 输入y继续查找,输入任意键返回: );scanf(%s,a);if(strcmp(y,a)=0|strcmp(y,a)=0)search();elsemain(); k=0;if(k)printf(nn 对不起,您所查找的联系人不存在,请

12、按任意键返回);getch();search();else if(strcmp(a,3)=0)system(cls);printf(nn 请输入电话:);scanf(%s,a);for(i=0;ib;i+)if(strcmp(a,coni.tel)=0)printf(nn 姓名:%sn 编号:%sn 性别:%sn 年龄:%sn 电话:%sn 地址:%sn 电子邮件:%snn ,,coni.num,coni.sex,coni.age,coni.tel,coni.address,coni.e_mail);printf(nn 输入y继续查找,输入任意键返回: );scanf(%s,

13、a);if(strcmp(y,a)=0|strcmp(y,a)=0)search();elsemain(); k=0;if(k)printf(nn 对不起,您所查找的联系人不存在,请按任意键返回);getch();search();else if(strcmp(a,4)=0)system(cls);main();else printf(nn 您的输入有误,请按任意键返回);getch();search();void correct() 定义修改函数 system(cls);char q100;int i,k=1;printf(nn 请输入你想更改的联系人的姓名、编号或电话(填写其中一个即可):

14、);scanf(%s,q);for(i=0;ib;i+) if(strcmp(q,coni.tel)=0|strcmp(q,)=0|strcmp(q,coni.num)=0)printf(n 姓名:%sn 编号:%sn 性别:%sn 年龄:%sn 电话:%sn 地址:%sn 电子邮件:%snn ,,coni.num,coni.sex,coni.age,coni.tel,coni.address,coni.e_mail);printf(n 您想修改的是:nn);printf( no.1 姓名n);printf( no.2 编号n);printf( no.3 性

15、别n);printf( no.4 年龄n);printf( no.5 电话n);printf( no.6 地址n);printf( no.7 电子邮件n);printf(n 请输入1-7:);scanf(%s,q);if(strcmp(q,1)=0)system(cls);printf(nn 请输入新姓名:);scanf(%s,);system(cls);printf(nn 联系人信息已更改成功!);printf(nn 姓名:%sn 编号:%sn 性别:%sn 年龄:%sn 电话:%sn 地址:%sn 电子邮件:%snn ,,coni.num,coni.se

16、x,coni.age,coni.tel,coni.address,coni.e_mail);printf(nn 输入y继续修改,输入任意键返回: );scanf(%s,q);if(strcmp(y,q)=0|strcmp(y,q)=0)system(cls);correct();else system(cls);main();else if(strcmp(q,2)=0)system(cls);printf(nn 请输入新编号:);scanf(%s,coni.num);printf(nn 联系人信息已更改成功!);printf(nn 姓名:%sn 编号:%sn 性别:%sn 年龄:%sn 电话:

17、%sn 地址:%sn 电子邮件:%snn ,,coni.num,coni.sex,coni.age,coni.tel,coni.address,coni.e_mail);printf(nn 输入y继续修改,输入任意键返回: );scanf(%s,q);if(strcmp(y,q)=0|strcmp(y,q)=0)system(cls);correct();else system(cls);main();else if(strcmp(q,2)=0)system(cls);printf(nn 请输入新性别:);scanf(%s,coni.sex);printf(nn 联系人信息已

18、更改成功!);printf(nn 姓名:%sn 编号:%sn 性别:%sn 年龄:%sn 电话:%sn 地址:%sn 电子邮件:%snn ,,coni.num,coni.sex,coni.age,coni.tel,coni.address,coni.e_mail);printf(nn 输入y继续修改,输入任意键返回: );scanf(%s,q);if(strcmp(y,q)=0|strcmp(y,q)=0)system(cls);correct();else system(cls);main();else if(strcmp(q,4)=0)system(cls);printf

19、(nn 请输入新年龄:);scanf(%s,coni.age);printf(nn 联系人信息已更改成功!);printf(nn 姓名:%sn 编号:%sn 性别:%sn 年龄:%sn 电话:%sn 地址:%sn 电子邮件:%snn ,,coni.num,coni.sex,coni.age,coni.tel,coni.address,coni.e_mail);printf(nn 输入y继续修改,输入任意键返回: );scanf(%s,q);if(strcmp(y,q)=0|strcmp(y,q)=0)system(cls);correct();else system(cls)

20、;main();else if(strcmp(q,5)=0)system(cls);printf(nn 请输入新电话:);scanf(%s,coni.tel);printf(nn 联系人信息已更改成功!);printf(nn 姓名:%sn 编号:%sn 性别:%sn 年龄:%sn 电话:%sn 地址:%sn 电子邮件:%snn ,,coni.num,coni.sex,coni.age,coni.tel,coni.address,coni.e_mail);printf(nn 输入y继续修改,输入任意键返回: );scanf(%s,q);if(strcmp(y,q)=0|strc

21、mp(y,q)=0)system(cls);correct();else system(cls);main();else if(strcmp(q,6)=0)system(cls);printf(nn 请输入新地址:);scanf(%s,coni.address);printf(nn 联系人信息已更改成功!);printf(nn 姓名:%sn 编号:%sn 性别:%sn 年龄:%sn 电话:%sn 地址:%sn 电子邮件:%snn ,,coni.num,coni.sex,coni.age,coni.tel,coni.address,coni.e_mail);printf(nn

22、输入y继续修改,输入任意键返回: );scanf(%s,q);if(strcmp(y,q)=0|strcmp(y,q)=0)system(cls);correct();else system(cls);main();else if(strcmp(q,7)=0) system(cls);printf(nn 请输入新e_mail:);scanf(%s,coni.e_mail);system(cls);printf(nn 联系人信息已更改成功!);printf(nn 姓名:%sn 编号:%sn 性别:%sn 年龄:%sn 电话:%sn 地址:%sn 电子邮件:%snn ,,coni

23、.num,coni.sex,coni.age,coni.tel,coni.address,coni.e_mail);printf(nn 输入y继续修改,输入任意键返回: );scanf(%s,q);if(strcmp(y,q)=0|strcmp(y,q)=0)system(cls);correct();else system(cls);main();else printf(nn 您的输入有误,请按任意键返回);getch();search();k=0;if(k)printf(nn 对不起,没有找到相关联系人的信息,是否继续修改?nn 输入y继续,输入任意键返回: );scanf(%s,q);i

24、f(strcmp(y,q)=0|strcmp(y,q)=0)system(cls);correct();elsesystem(cls);main();void del() 定义删除函数 int i,j,flag=1;char q100,ch20;system(cls);printf(nn 请输入您要删除联系人的姓名、编号或电话(填写其中一个即可): ) ;scanf(%s,q);for(i=0;ib;i+)if(strcmp(q,coni.tel)=0|strcmp(q,)=0|strcmp(q,coni.num)=0) printf(nn 姓名:%sn 编号:%sn 性别:

25、%sn 年龄:%sn 电话:%sn 地址:%sn 电子邮件:%snn ,,coni.num,coni.sex,coni.age,coni.tel,coni.address,coni.e_mail);flag=0;break;if(flag)printf(nn 对不起,您所输入的此联系人不存在!n); printf(nn 输入y继续进行删除操作,输入任意键返回主菜单: );scanf(%s,ch);if(strcmp(y,ch)=0|strcmp(y,ch)=0) system(cls);del(); else main();printf(nn 您确定要删除该联系人吗? y/n

26、 : );scanf(%s,ch);if(strcmp(ch,y)=0|strcmp(ch,y)=0)for(j=i;j=b;j+)conj=conj+1; b-; printf(n 您已成功删该联系人 n);printf(n 输入y继续进行删除操作,输入任意键返回主菜单: );scanf(%s,ch);if(strcmp(y,ch)=0|strcmp(y,ch)=0) system(cls);del();else main();printf(n 联系人未删除n);printf(n 输入y继续进行删除操作,输入任意键返回主菜单: );scanf(%s,ch);if(strcmp(y,ch)=0

27、|strcmp(y,ch)=0) system(cls);del();else main();void save() 定义保存函数 system(cls);file *fp; int i;fp=fopen(通讯录.doc,w); if(fp=null) printf(cannot write the file.n); exit(0);for(i=0;ib;i+)fprintf(fp,nn 姓名:%sn 编号:%sn 性别:%sn 年龄:%sn 电话:%sn 地址:%sn 电子邮件:%snn ,,coni.num,coni.sex,coni.age,coni.tel,coni.

28、address,coni.e_mail);fprintf(fp,nn); fprintf(fp, 姓名 编号 性别 年龄 电话 地址 电子邮件 ); for(i=0;ib;i+) fprintf(fp,);fprintf(fp, %-9s%-9s%-9s%-9s%-12s%-12s%-12s ,,coni.num,coni.sex,coni.age,coni.tel,coni.address,coni.e_mail); fprintf(fp,);fclose(fp); printf(nnn 您输入的信息已保存!nn);printf( 按任意键返回主界面:);getch();

29、system(cls); main();(五)调试分析过程描述: 1. 程序开始主界面 源程序编译完成后运行程序,就会出现以下界面,主菜单有7个选项,用来添加,显示,查询,修改,删除,保存和退出,采用switch函数进行选择 2. 添加模块 输入1即可进入添加信息界面,按照提示我们可以依次输入姓名,编号,性别,年龄,电话,地址,以及电子邮件,采用scanf键盘输入 3显示模块 输入2可以进入显示界面,我们可以看到自己输入的信息,都是分开显示的,这里还有一个选择就是输入y以表格输出,这样显示会清晰很多,用户可以依照自己的喜好选择适合自己显示方式,显示模块采用的for循环函数,依次进行输出。下面就是以表格形式输出,简洁明了。4.查询模块 查询

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论