c语言课程设计学生通讯录管理系统
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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");