文档库 最新最全的文档下载
当前位置:文档库 › c语言课程设计学生通讯录管理系统方案

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

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

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

任务说明:

主要利用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 "stdafx.h"

#include"string.h "

#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].addres s,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(" :");

相关文档