c语言课程设计学生通讯录管理系统
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
题目:学生通讯录管理系统
任务说明:
主要利用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(" 电话:"); scanf("%s",p->callnumber); printf(" ************************\n"); fprintf(fp,"%s %s %s %s",p->name,p->address,p->code, p->callnumber); fclose(fp); free(p); } 通过对这些资源的合理利用使系统初步实现了通讯录管理系统的基本功能。 程序流程图: