通讯录课程设计报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
通讯录管理系统
目录:
一、设计目的:……………………………
二、设计要求:……………………………
三、总体设计:……………………………
四、详细设计:……………………………
五、源程序清单和执行结果 :……………
六、调试与测试:…………………………
七、总结与体会:…………………………
八、参考文献:……………………………
摘要:
通过这次的短学期,在老师的辅导下,我完成了课程设计。通过课程设计的完成对C和C++有更深的了解。我做的课程设计题目是通讯录管理系统设计,我主要用到了结构体,结构体数组,指针,文件等等。对函数的调用,和指针有了更深的理解。但我做的这个课程设计,通讯录管理系统还存在不足,还希望老师的指点。
昆明理工大学
应用技术学院学院电子信息工程专业2009 级
学生姓名(学号):刘青朋(200911513118)
一、设计目的
通过这次课程设计更好的掌握以下知识:
掌握函数的定义和使用。
掌握各种基本的数据类型和结构体的定义。
掌握数组的定义和使用,注意下标的使用。
掌握基本的程序结构:顺序、选择、循环。
二、设计内容
设计一个主要包含以下多种功能的通讯录:
◆建立通讯录信息,信息至少包含编号、姓名、年龄、电话、通讯地址、电子
邮箱等;
◆能够提供添加、删除和修改通讯录信息的功能;
◆能够提供安不同方式查询的功能;如按姓名或年龄、电话等查询;
◆将通讯录保存在文件中;
◆能够按表格方式输出通讯录信息。
三、总体设计
(1)、系统功能模块图:
添加:可以添加通讯录记录,依次输入编号、姓名、年龄、电话号码、通讯地址、电子邮箱后,会提示是否继续添加。
显示:可以以表格形式输出所有通讯录里的记录
删除:输入欲删除的那个人的名字后,会自动删除他(她)的记录内容
查询:可以选择用姓名、电话、地址三种方式查询
修改:输入欲修改的那个人的名字后,再依次输入编号、姓名、年龄、电话号码、通讯地址、电子邮箱即可完成修改
保存:,输入文件名(带后缀名)后,即可将通讯录信息保存到文件(2).工作流程图:
①添加:添加通讯录记录②显示:显示通讯录记录
③删除:删除通讯录记录④查询:查询通讯录记录⑤修改:修改通讯录记录
四、详细设计
(1).通讯录:
typedef struct
{
char score; /*编号*/
char name[10]; /*姓名*/
char num[15]; /*号码*/
char email[20]; /*邮箱*/
char age[8]; /*年龄*/
char adds[20]; /*住址*/
}Person;
void main() /*主函数*/
{
int n=0;
for(;;)
{
switch(menu_select())
{
case 1:
printf("\n\t添加记录到通讯录\n"); /*添加记录*/
n=Input(pe,n);
break;
case 2:
printf("\n\t\t\t 通讯录记录表\n"); /*显示记录*/
Display(pe,n);
break;
case 3:
printf("\n\t从通讯录中删除记录\n");
n=Delete_a_record(pe,n); /*删除记录*/
printf("\t");
system("pause");
break;
case 4:
printf("\n\t在通讯录中查找记录\n");
Query_a_record(pe,n); /*查找记录*/
printf("\t");
system("pause");
break;
case 5:
printf("\n\t修改通讯录中的记录\n");
Change(pe,n); /*修改数据*/
printf("\t");
system("pause");
break;
case 6:
printf("\n\t保存功能\n");
WritetoText(pe,n); /*保存数据*/
printf("\t");
system("pause");
break;
case 0:
printf("\n\t\t谢谢使用,再见!\n"); /*结束程序*/ printf("\n\t\t");
system("pause");
exit(0);
}
}
}
五、源程序清单和执行结果
1、源程序清单
#include
#include
#include
typedef struct
{
char score; /*编号*/
char name[10]; /*姓名*/
char num[15]; /*号码*/
char email[20]; /*邮箱*/
char age[8]; /*年龄*/
char adds[20]; /*住址*/
}Person;
Person pe[80];
int menu_select()
{
char c;
do{
system("cls");
printf("\t\t *****通讯录***** \n");
printf("\t\t┌───────┐\n");
printf("\t\t│ 1. 添加记录│\n");
printf("\t\t│ 2. 显示记录│\n");
printf("\t\t│ 3. 删除记录│\n");
printf("\t\t│ 4. 查询记录│\n");
printf("\t\t│ 5. 修改记录│\n");
printf("\t\t│ 6. 保存记录│\n");
printf("\t\t│ 0. 退出程序│\n");
printf("\t\t└───────┘\n");
printf("\t\t请您选择(0-6):");
c=getchar();
}while(c<'0'||c>'6');
return(c-'0');
}
int Input(Person per[],int n)
{
int i=0;
char sign,x[10];
while(sign!='n'&&sign!='N')
{