c语言课程设计

发布 2022-10-03 02:45:28 阅读 4961

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月 计算机科学与技...