xxxx大学xxxxxx学院。
计算机类。课程设计报告。
2010 年 12 月 23 日。
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
课程设计结果评定。
课程设计的目的1
程设计的要求1
课程设计报告内容2
结构框图2各模块功能3
设计的主体思想4
源**5调试程序**现的问题24
程序各界面截图25
总结30通讯录管理系统。
1.课程设计的目的。
1)进一步巩固c程序的知识;
2)培养结构化程序,模块化程序设计的方法和能力;
3)很多时候我们只能在手机上查找通讯录,但到了电脑上也就没有了那些信息。即使有,在联系人很多的时候也不便于查找,修改,删除等。所以通过设计通讯录管理系统就可以比较方便的实现这些功能。
满足那些有很多联系人的人的需要。方便在电脑上操作。
2.课程设计的要求。
设计一个简单的通讯录管理系统,要求有简单的界面,有退出程序功能。能够新建一个文本文档实现联系人信息的输入,在程序中能够实现联系人的添加,删除,修改,查询等功能。在每一次操作后都可以回到功能菜单,实现循环操作,并且每次执行操作后都可以保存到新建的通讯录文本文档中。
在程序中编有s**e()和read()函数能够保存信息实现下一次运行程序时将这些信息读到程序中,以便实现所需的操作。
3.课程设计报告内容。
3.1 结构框图。
3.2 各模块功能。
3.2.1 struct member是设置通讯录的各项信息,以便在各个模块中调用;
3.2.2 intput(int k)功能是输入联系人信息。
3.2.3 s**e()功能是保存所输入的联系人信息,以便日后调用;
3.2.4 read()功能是读出所保存的信息到程序中,以便在程序中使用所需的信息,进行添加,删除,查询,修改等;
3.2.5 getlines()功能是记录所存储联系人的数量,以便在read()中使用;
3.2.6 revise()功能是修改联系人信息;
3.2.7 search()功能是查询所需要的联系人;
3.2.8 del(char name[10],int rows,int cols)功能是删除不需要的联系人;
3.2.9 menu()功能是实现主菜单的界面,并使主菜单中的各项操作连接到相应的函数中;
3.2.10 system2()功能是实现功能菜单的界面,并使功能菜单中的各项操作连接到相应的函数中;
3.2.11 menu1()功能是实现欢迎界面,并可按任意键进入主菜单;
3.2.12 get()功能是实现通讯录中所有联系人的输出;
3.3设计的主体思想。
1.考虑到程序量大,**多,所以进行函数调用,分几个人去完成;
2.为了方便下面的函数编写,先设置一个member的结构体作为自定义类型。定义count的全局变量,计数联系人的数量,以便在各个函数中在for语句中调用;
3.在设置添加联系人时由于添加的方式与input()函数中的一样,所以直接调用input(int k)函数,在input(int k)中设置形参k,使得在添加时能够接在已存储的联系人后面;
4.在更新这一项中调用了revise()函数,修改完成后调用s**e()函数进行保存;接着进行清屏命令system( "cls ")再调用menu()函数返回功能菜单;
5.在删除这一项中,先读出通讯录文本文档中的联系人信息用到read()函数,再调用del(char name[10],int rows,int cols)函数,删除完成后调用s**e()保存,调用get()函数输出剩余的联系人信息,然后调用system( "cls ")和menu()函数返回功能菜单;
6.在查询这一项中,同样先读出通讯录文本文档中的联系人信息,在调用search()函数时,函数中有分按姓名,性别,手机号码,电子邮箱,家庭地址和qq号进行查询,之后调用system( "cls ")和menu()函数返回功能菜单;
7.输出功能中先把通讯录中联系人信息读到程序中,然后调用get()函数输出联系人信息,同样调用ystem( "cls ")和menu()函数返回功能菜单;
8.为了达到各功能项的连接,程序中各个函数中和各个函数的调用中都要用到switch语句。
9.要反复回到主菜单,所以用到goto功能,壁景的好看用到了 函数。
10.为了给使用者带来方便,程序中用中文的提示语;
11.由于要将联系人信息写到文件中,所以要判断文件是否无法创建,文件是否打得开的问题;
3.4源**。
#include<>
#include<>
#include<>
#include<>
#include<>
char key;
int count=1,i=0,line=0;
int cols=6;
char n;
file *fp;
struct member
char name[10];
char sex[5];
char phone[20];
char mail[20];
char address[50];
char ];
mem[100];
void menu1();
void system2();
void menu();
void revise();
void s**e();
void input();
void get();
void del(char name[10],int rows,int cols);
int main()
if((fp=fopen("通讯录。txt","a"))null)
fclose(fp);
menu1();
return 0;
int getlines()
file *fp;
char ch;
int lines=0;
if((fp=fopen("通讯录。txt","r"))null)
fseek(fp,0,seek_set);
while((ch=fgetc(fp))!eof)
fseek(fp,0,seek_set);
return lines;
fclose(fp);
void read()
char ch;
fp=fopen("通讯录。txt","r");
fseek(fp,0,seek_set);
while((ch=fgetc(fp))!n');
line=getlines()-1;
for(i=0;i
count=i;
fclose(fp);
void input(int k)
i=k;printf("按q结束输入,按tab键输入下一个信息(如果无该选项信息,输入000000)");
printf("姓名性别手机号码电子邮箱家庭地址 qq号");
while(getch()!q')
count = i;
void s**e()
if((fp=fopen("通讯录。txt","w+")0)
fprintf(fp,"姓名性别手机号码电子邮箱家庭地址 qq号");
for(i=0;i
printf("保存成功!");
fclose(fp);
void revise()
int f=0;
int g;
int j;
char h[20];
printf("请输入要修改的联系人姓名:");
scanf("%s",h);
for(i=0;i<=count;i++)
j=strcmp(h,mem[i].name);
if(j==0)
f=1;printf("姓名性别手机号码电子邮箱家庭地址 qq号");
printf("%s\t%s\t%s\t%s\t%s\t%s",mem[i].name,mem[i].sex,mem[i].
phone,mem[i].mail,mem[i].address,mem[i].
qq);
printf修改联系人信息n");
C语言课程课程设计
课程设计报告。课程名称 c语言程序设计 系别 xxx 专业班级 xxx班 学号 xxxxxxxxxx 姓名 xxx 课程题目 10或100以内儿童加减乘除算术游戏。完成日期 2013.6.14 19 指导老师 xxx 2013年 6月 21日。附件 一 程序模块图。二 源程序。include inc...
C语言课程设计
目录。1 c语言程序课程设计教学大纲。2 c语言程序课程设计说明书。3 c语言程序课程设计报告 模板 4 c语言程序课程设计成绩评定表。xx xx学院。课程教学大纲。课程名称 c语言程序课程设计。适用专业 课程类别 专业基础课。制订时间 2010年11月 计算机科学与技术系制。c语言程序课程设计教学...
C语言课程设计
目录。1 c语言程序课程设计教学大纲。2 c语言程序课程设计说明书。3 c语言程序课程设计报告 模板 4 c语言程序课程设计成绩评定表。珠海学院。课程教学大纲。课程名称 c语言程序课程设计。适用专业 2010级计算机科学与技术系各专业。课程类别 专业基础课。制订时间 2010年11月 计算机科学与技...