《通讯录》课程设计
信管三班 成员:丁佳蕾 黄如思 郑芝萍
1、 案例描述
1. 通讯录管理系统主要实现对联系人的信息进行管理,包括添加、删除、显示、查找、修改和保存功能。
2. 联系人的信息最终保存在文件中。
3. 同时系统提供简单的操作界面用于用户与系统之间的交互。
4. 采用c-free开发工具。
2、 界面设计
3、 模块化设计
1. 系统主要函数及功能
(1) fopen函数:文件的打开。
FILE *fp;
fp=fopen(“xg3”,”rb”); “xg3”:文件名,”rb”:使用文件方式。
(2) fclose函数:文件的关闭。
fclose(fp);
(3) fread函数:从指定文件中读取数据项。
fread(buffer,size,count,fp);
buffer:读取数据的存放地址。
size:要读写的字节数。
count:要进行读写多少size个字节的数据项。
fp:文件型指针。
(4) rewind函数:使文件位置重新置于文件开头。
(5) feof函数:判断是否到文件末尾。
2. 返回值为错误标志:
0:表示“假”。
-1:表示“出错”。
3. 主函数调用各功能函数
图:
4、 数据结构描述
Struct person
{
char name [10];
char mobile [15];
int age;
}
void menu() //显示菜单
{
}
void load() //倒入函数
{
}
void save() //保存文件
{
}
int search() //查找信息
{
}
void show() //显示信息
{
}
void add() //添加
{
}
5、 算法设计
6、 程序运行测试
7、 总结
1、 工作时间
1. 文件的打开和关闭设计:5分钟
2. 界面设计:5分钟
3. 实现对通讯录的修改、添加、删除、查询、显示
等功能:4小时
4. 实现对文件的保存功能:10分钟
5. 对程序的总体优化:1小时
2、 心得体会
通过两个星期的折腾,总算把课程设计给完成了,这是一个坚苦而又漫长的过程。是啊,读了那么多年的书,课程设计可是第一次。看着劳动成果,很欣慰!虽然这不是我一个人做的,是大家的共同努力得来的。
刚开始,可以说是没有头绪,于是就去图书馆找
,找到了一些关于画图方面的,可是这点小进展远远不够,这只是一个小小的开始。下一步是上网查,找到了些与我们题目相似的,那时我们每个人都很高兴,可是那还不是我们要的,于是又上网查到了些有关的函数等等,终于在我们大家的努力下,完成了这个程序。
虽然对着电脑做程序,有点累有点热,可是当看到劳动成果时,真是别有一番滋味在心头啊!世上无难事,只怕有心人,的确如此。做完这个程序最大的收获就是感受到了集体的力量,当然个人的智慧也是很重要的哦!
做完这个课程设计,我们的自信一下子提高了,我们也会写程序了;尽管对于有些人这种程序会很简单,可对我们C语言初学者来说,已经很不容易了。这次体验为以后的学习计算机的我们增强了信心。享受劳动成果的滋味实在很美妙啊!
6、 程序运行结果
添加与显示:
删除:
查找:
显示:
退出系统:
7、 总程序
#include
#include
#include
#include
struct person
{
char name[10];
int age;
char mobile[15];
};
struct person p[50];
int length=0;
void menu()
{
printf("****************************\n");
printf(" 欢迎使用电子通讯录\n");
printf("****************************\n");
printf("1:添加联系人信息\n");
printf("2:删除联系人信息\n");
printf("3:修改联系人信息\n");
printf("4:查询联系人信息\n");
printf("5:全部显示联系人信息\n");
printf("6:退出系统\n");
}
void load()
{
FILE *fp;
int i=0;
fp=fopen("存档资料","rb");
if(fp==NULL)
{
printf("这是您第一次使用本程序\n");
return;
}
rewind(fp);
while(!feof(fp))
{
if((fread(&p[i],sizeof(struct person),1,fp))==1)
{
i++;
}
}
length=i;
printf("当前有%d条记录\n",length);
fclose(fp);
if(feof(fp))
printf("载入已保存文件失败\n");
else
printf("\n载入已保存文件成功\n");
}
void save()
{
FILE *fp;
int i;
if((fp=fopen("存档资料","wb"))==NULL){
printf("can not open\n");
exit(0);
}
for(i=0;i=length){
return -1;
}
}
void show(int num)
{
int i;
printf("\n\t\t姓名\t年龄\t\t手机号\n\n");
for(i=0;i