c语言课程设计学生通讯录管理系统

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

c语言课程设计学生通

讯录管理系统

Company Document number:WTUT-WT88Y-W8BBGB-BWYTT-19998

题目:学生通讯录管理系统

任务说明:主要利用c语言的文件操作能力设计开发一个小型的通讯录管理系统,至少具有如下功能:

①记录通讯录内的人员的学号、姓名、地址、电话号码。

②显示所有人员的信息。

③通过输入姓名查找人员信息。

④通过输入姓名查找到要删除的人员信息,然后可以进行删除。

⑤通过输入姓名查找到要修改的人员信息,然后可以进行修改。

⑥添加人员信息。

系统功能描述:

本程序的功能是为用户提供简单的通讯录进行管理,通过该程序存储联系人信息,提供关键字(只能是英文关键字进行查找)查找功能,可以对数据进行修改、删除、添加等操作。

各按钮的功能如下:

查找记录:以姓名为关键字,查找并显示该记录。若查找不到,则显示“好象没有”;

添加记录:将当前记录按姓名序加入通讯录,然后显示第一条记录;

修改记录:修改当前记录,显示当前记录。姓名为关键字,不允许修改;

删除记录:删除当前记录,然后显示第一条记录;

第一条记录:将当前记录指针移动至首节点,若已为首节点,则不移动;

前一条记录:将当前记录指针向前移动一个节点,若已为首节点,则不移动;

后一条记录:将当前记录指针向后移动一个节点,若已为尾节点,则不移动;

最后一条记录:将当前记录指针移动至尾节点,若已为尾节点,则不移动;

加载:从文件中掉入已保存的通讯录数据;

保存:保存通讯录数据;

退出:退出系统;

设计思路:

根据要求,电话录数据以文本文件存放在文件中,故需要提供文件的输入、输出等操作;还需要保存记录以进行修改,删除,查找等操作;另外还应提供键盘式选择菜单实现功能选择。

图1 系统功能模块图

软件中使用的结构体和结构体数组,如:

struct callmember

{

char name[20];

char address[20];

char code[20];

char callnumber[20];

};

对用户的信息进行保存,他们都以二进制的形式读写。

其中:

char name[20];

char address[20];

char code[20];

char callnumber[20]

分别对姓名、地址、邮编、电话号码进行储存在子函数中还使用了结构体数组:

struct callmember one[100];

还使用了exit()、 fclose()等库函数。

还运用了头文件:

#include ""

#include" "

#include <>

#include<>

其中还使用大量的子函数,例如:

void output();

void del();

void found();

void modify() ;

void insert();

部分子函数的详细代码:

void output()

{

int b=0,i=0;

int j;

struct callmember one[100];

FILE *fp;

if((fp=fopen("e:\\通讯录.txt","r"))==NULL)

{

printf("无法从已有通讯录输入!\n可能是因为原通讯录不存在或为空!\n建议你检查你的通讯录文挡!\n");

exit(1);

}

while(fscanf(fp,"%s%s%s%s",one[i].name,one[i].addr ess,one[i].code,one[i].callnumber)!=EOF)

i++;

j=i;

for(i=0;i

{

printf("%s %s %s %s\n

",one[i].name,one[i].address,one[i].code,one[i].callnum ber);

}

fclose(fp);

}

void insert()

{

FILE *fp;

struct callmember *p;

if((fp=fopen("e:\\通讯录.txt","a+"))==NULL) {

printf("操作失败.");

exit(1);

}

p=(struct callmember *)malloc(sizeof(struct callmember));

printf("

************************\n");

printf(" 姓名:");

scanf("%s",p->name);

printf(" 地址:");

scanf("%s",p->address);

printf(" 邮编:");

scanf("%s",p->code);

printf(" 电话:");

scanf("%s",p->callnumber);

printf("

************************\n");

相关文档
最新文档