C语言课程设计--_通讯录管理系统
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
中国地质大学本科生课程论文封面
课程名称C语言程序设计
教师姓名
本科生姓名
本科生学号
本科生专业
所在院系
类别:
日期:
课程设计评语
注:1、无评阅人签名成绩无效;
2、必须用钢笔或圆珠笔批阅,用铅笔阅卷无效;
3、如有平时成绩,必须在上面评分表中标出,并计算入总成绩。
目录
课程设计评语 (2)
目录 (3)
1.课程论文题目 (4)
2.程序设计思路 (4)
3.功能模块图 (5)
4.数据结构设计 (5)
5.算法设计 (5)
6.程序代码 (14)
7.程序运行结果 (14)
8.编程中遇到的困难及解决方法 (27)
9.总结心得及良好建议 (28)
10.致谢 (28)
1.课程论文题目
通讯录管理系统
要求:设计具有数据插入、修改、删除、显示和查询功能的电话簿管理系统。
⑴数据包括:人名、工作单位、电话号码和E-mail地址。
⑵可对记录中的姓名和电话号码进行修改。
⑶可增加或删除记录。
⑷可显示所有保存的记录。
⑸可按人名或电话号码进行查询。
2.程序设计思路
根据题目的要求,程序应该采用结构体数组和文件系统实现。应该有动态的存储空间和文件输入、输出等操作功能;在程序中应该包括添加、显示、删除、查询和修改以及保存和退出的功能;另外还应提供键盘式选择菜单实现功能选择。
3.功能模块图
4.数据结构设计
整个程序中用到的数据主要是全局变量MAX 100和字符变量name[10]、addr[20]、phnum[20]、email[20]。
5.算法设计
1.主函数
主函数的设计一般比较的简单,只提供输入,功能处理和输出部分的函数调用。其中个功能模块用菜单方式选择。菜单部分也可以写成函数。
[流程图]
[程序]
main() /*****************主函数*****************/
{int n; /**********变量保存选择菜单数子***************/
creat();
do
{printf("\n\t***********************************************\n");
printf("\n\n\t*************WELCOME TO USE!***************\n");
printf("\n\t**********************************************\n");
printf("\n\n\t\t*****Please make a choice below*****\n");
printf("\n\t\t1.Add a piece of meg");
printf("\n\t\t2.List all the meg");
printf("\n\t\t3.Delete a piece of meg");
printf("\n\t\t4.Find a piece of meg");
printf("\n\t\t5.Alter a piece of meg");
printf("\n\t\t6.Save and Quit");
printf("\n\t\t7.Create an address book");
printf("\n\n\n");
printf("\t********Input Your Choice:****************\n");
scanf("%d",&n);
switch(n) /*****************输入n的在1-6之间执行switch ************/
{ case 1: Add(); /*添加模块*/
break;
case 2: List(); /*显示模块*/
break;
case 3: Delete(); /*删除模块*/
break;
case 4: Find(); /*查询模块:分为名字查询(0)和电话号码查询(1)*/
break;
case 5: Alter(); /*修改模块:分为修改名字(0)和修改电话号码(1)*/
break;
case 6: exit(0); /*退出模块*/
break;
case 7: creat(); /*带回链表起始地址*/
fclose(fp);
default: /**********输入的n不在1-6之间执行default ************/ printf("\n\t********************************************\n");
printf("\n\t The num should be 1-6 \n");
printf("\n\t********************************************\n");
break;
}
}while(1);
}
2.各功能模块设计
[数据结构]
通讯录的数据信息:人名、工作单位、电话号码、E-mail地址均可以采用字符型数组;可以采用结构体的形式,把各信息作为结构的成员,由于通讯录要具