通讯录管理系统课程设计报告材料

  • 格式:doc
  • 大小:115.09 KB
  • 文档页数:12

下载文档原格式

  / 12
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

设计课题题目

一、课程设计目的与要求

1.课程设计目的

(1)综合运用之前所学知识(选择控制,循环控制,数组,函数,指针,结构体和文件等)来完成一个简单的信息管理程序的设计。

(2)充分体现和体会函数在程序设计中的必要性和实用性,并反映主函数main()在程序设计中的实现思路和方法。

2. 课程设计要求

制作一个通讯录系统。

(1)该程序具有查找、添加、修改、删除功能。

(2)通讯录包括:、、街道、城市、省、邮编等。

二、总体设计

根据系统的要求,系统总体设计如图1所示。

三、详细设计

1、数据结构设计

#include /*标准输入输出函数库*/

#include /*标准函数库*/

#include /*字符串函数库*/

#define FILENAME "phone.dat"

struct date //定义一个结构体类型数组

{ char name[10]; /**/

char phone[12]; /**/

char email[20]; /**/

char QQ[20]; /*QQ*/

} per[10];

int menu() //主菜单选择函数

2.函数说明

(1) 主函数

main()允许用户通过菜单进行功能选择,使用相应的功能代码来调用对应的函数功能。

(2)

四、程序清单

1、头文件

#include /*标准输入输出函数库*/

#include /*标准函数库*/

#include /*字符串函数库*/

#define FILENAME "phone.dat"

2、主函数

void main() //主函数

{

int n=0,i;

while(1)

{ switch (menu())

{ case 1: { printf("\n\t 通讯信息录入\n"); //信息录入

n=Input(per, n);

}

break;

case 2:

printf("\n\t\t\t 通讯录记录表\n"); //显示记录

Display(per,n);

break;

case 3:

printf("\n\t保存功能\n");

WritetoText(per,n); //保存数据

printf("\t");

system("pause"); //操作完成后进行暂停

break;

case 4:

printf("\n\t从通讯录中删除记录\n");

n=Delete_a_record(per,n); //删除记录

printf("\t");

system("pause");

break;

case 5:

printf("\n\t修改通讯录中的记录\n");

Change(per,n); //修改数据

printf("\t");

system("pause");

break;

case 6:

printf("\n\t添加记录到通讯录\n"); //添加记录

n=Input(per,n);

break;

case 7:

printf("\n\t在通讯录中查找记录\n");

Query_a_record(per,n); //查找记录

printf("\t");

system("pause"); //从程序里调用”pause”命令break;

case 0:

printf("\n\t\t使用,再见!\n"); //结束程序

printf("\n\t\t");

system("pause");

exit(0);

}

五、总程序和分工执行结果

#include /*标准输入输出函数库*/

#include /*标准函数库*/

#include /*字符串函数库*/

#define FILENAME "phone.dat"

struct date //定义一个结构体类型数组

{ char name[10]; /**/

char phone[12];

char email[20]; /**/

char QQ[20];

}per[10];

int menu() //主菜单选择函数

{ int c; //定义一个整型变量

do{

system("cls"); //清屏

printf("\t*******通讯录*******\n");

printf("\t--------------------\n");

printf("\t 1、通讯信息录入\n");

printf("\t 2、通讯信息显示\n");

printf("\t 3、通讯信息保存\n");

printf("\t 4、通讯信息删除\n");

printf("\t 5、通讯信息修改\n");

printf("\t 6、通讯信息增加\n");

printf("\t 7、通讯信息查询\n");

printf("\t 0. 退出\n");

printf("\t--------------------\n");

printf("\t请您选择(0-7):");

scanf("%d",&c);

}while(c>7&&c<0);

return(c);

}

int Input(struct date per[10],int n)

{ int i=0;

char sign,x[10];

while(sign!='n'&&sign!='N')

{ printf("\t:");

scanf("%s",per[n+i].name);

printf("\t:");

scanf("%s",per[n+i].phone);

printf("\t电子:");

scanf("%s",per[n+i].email);

printf("\tQQ:");

scanf("%s",per[n+i].QQ);

gets(x);

printf("\n\t是否继续添加?(Y/N)");

fflush(stdin); //清空缓存

scanf("%c",&sign);

i++;

}

return(n+i);

}

void writeToFile(struct date per[10],int n)

{ FILE *fp=NULL;

int i=0;

fp=fopen("phone.dat","wb");

if(fp==NULL)

{ printf("打开文件出错!\n");

exit(0);

}