C语言课设.docx

上传人:b****3 文档编号:3852342 上传时间:2022-11-25 格式:DOCX 页数:13 大小:111.50KB
下载 相关 举报
C语言课设.docx_第1页
第1页 / 共13页
C语言课设.docx_第2页
第2页 / 共13页
C语言课设.docx_第3页
第3页 / 共13页
C语言课设.docx_第4页
第4页 / 共13页
C语言课设.docx_第5页
第5页 / 共13页
点击查看更多>>
下载资源
资源描述

C语言课设.docx

《C语言课设.docx》由会员分享,可在线阅读,更多相关《C语言课设.docx(13页珍藏版)》请在冰豆网上搜索。

C语言课设.docx

C语言课设

存档资料成绩:

 

华东交通大学理工学院

课程设计报告书

 

所属课程名称C语言程序设计

题目  通讯录管理系统         

分院 电信分院   

专业班级11电气5班

学  号2011      

学生姓名      

指导教师黄建华   

 

2012年6月18日

目 录

第1章需求分析........................................................?

第2章整体设计........................................................?

第3章详细设计........................................................?

第4章系统测试........................................................?

第5章课程设计心得.....................................................?

第6章参考文献...........................................................?

 

第一章需求分析

为了通讯、联系的方便,需要有通讯录的管理,具有查找、增加、删除、改动等功能,更加快捷,从而节省时间,是这个快节奏时代的必需品,因此通讯录更加丰富了我们的生活。

 

第二章整体设计

 

 

第三章详细设计

 

#include

#include

#include

typedefstructTelephone//定义名为Telephone的结构体

{

charname[50];

charsex[30];

chartel[30];

charcity[30];

chareip[30];

structTelephone*next;

}TEL;

TEL*head;

voidInitiate();//开始

voidMenu();

voidCreate();//的功能是:

创建新的通讯录。

voidAdd();//在通讯录的末尾,写入新的信息,并返回选单

voidFind();//查找记录

voidAlter();//修改记录如果未找到要修改的人,则提示通讯录中没有此人的信息,并返回选单。

voidDelete();//删除某人的信息,如果未找到要删的人,提示通讯录中没有此人的信息,并返回选单。

voidList();//的功能是:

显示通讯录中的所有记录。

intmain()

{

intchoice;

charyes_no;

Initiate();

do

{

system("cls");

Menu();

printf("请选择0-6的数字\n");

scanf("%d",&choice);

printf("\n");

switch(choice)

{

case1:

Create();

break;

case2:

Add();

break;

case3:

Find();

break;

case4:

Alter();

break;

case5:

Delete();

break;

case6:

List();

break;

case0:

printf("************感谢您的使用************\n");

exit(0);

break;

default:

printf("输入有误!

请重新输入\n");

break;

}

printf("是否继续YorN?

\n");

do

{

scanf("%c",&yes_no);

}while(yes_no!

='Y'&&yes_no!

='y'&&yes_no!

='N'&&yes_no!

='n');

}while(yes_no=='Y'||yes_no=='y');

}

//初始化

voidInitiate()

{

if((head=(TEL*)malloc(sizeof(TEL)))==NULL)exit

(1);

head->next=NULL;

}

//显示菜单

voidMenu()

{

printf("**************欢迎使用通讯录系统**************");

printf("\n");

printf("\n");

printf("1.创建通讯录。

\n");

printf("2.插入信息。

\n");

printf("3.查询记录\n");

printf("4.修改记录\n");

printf("5.删除记录!

\n");

printf("6.显示所有记录\n");

printf("0.退出通讯录\n");

printf("请输入0~6\n");

}

//创建通讯录

voidCreate()

{

TEL*p1[100],*p2;

intm,i;

printf("请输入创建个数:

");

scanf("%d",&m);

for(i=1;i<=m;i++)

{

p1[i]=(TEL*)malloc(sizeof(TEL));

printf("请输入第%d条信息!

\n",i);

printf("姓名:

\n");

scanf("%s",&p1[i]->name);

printf("性别:

\n");

scanf("%s",&p1[i]->sex);

printf("电话:

\n");

scanf("%s",&p1[i]->tel);

printf("城市:

\n");

scanf("%s",&p1[i]->city);

printf("邮编:

\n");

scanf("%s",&p1[i]->eip);

p1[i]->next=NULL;

if(head->next==NULL)

head->next=p1[i];

else

{

for(p2=head;p2->next!

=NULL;p2=p2->next);

//找到结点尾

p2->next=p1[i];

}

}

printf("信息已添加!

\n");

return;//保存到链表

}

//添加通讯录信息

voidAdd()

{

TEL*p,*q;

if((q=(TEL*)malloc(sizeof(TEL)))==NULL)exit

(1);

printf("请输入要添加的信息!

\n");

printf("姓名:

\n");//添加信息

scanf("%s",&q->name);

printf("性别:

\n");

scanf("%s",q->sex);

printf("电话:

\n");

scanf("%s",q->tel);

printf("城市:

\n");

scanf("%s",q->city);

printf("邮编:

\n");

scanf("%s",q->eip);

for(p=head;p->next!

=NULL;p=p->next);

p->next=q;

q->next=NULL;

printf("此信息已添加!

");

return;

}

//查找通讯录信息

voidFind()

{

TEL*p;

charname[50];

if(head->next==NULL)

{

printf("此通讯录为空!

\n");

return;

}

printf("请输入要查找的姓名:

\n");

scanf("%s",&name);

for(p=head->next;p!

=NULL;p=p->next)

{

if(strcmp(p->name,name)==0)

{

printf("姓名\t性别\t城市\t邮编\t电话\n");

printf("%s\t%s\t%s\t%s\t%s\n",p->name,p->sex,p->city,p->eip,p->tel);

}

elseif(p->next==NULL)

printf("无此信息!

\n");

}

}

//修改通讯录信息

voidAlter()

{

charname[50];//先查找后删除

TEL*p,*p1;

if(head->next==NULL)

{

printf("此通讯录为空!

\n");

return;

}

printf("请输入要修改的姓名:

\n");

scanf("%s",name);

for(p=head->next;p!

=NULL;p=p->next)

{

if(strcmp(p->name,name)==0)

break;

elseif(p->next==NULL)

{

printf("无此信息!

\n");

return;

}

}

p1=(TEL*)malloc(sizeof(TEL));

printf("姓名:

\n");//添加信息

scanf("%s",p1->name);

strcpy(p->name,p1->name);

printf("性别:

\n");

scanf("%s",p1->sex);

strcpy(p->sex,p1->sex);

printf("电话:

\n");

scanf("%s",p1->tel);

strcpy(p->tel,p1->tel);

printf("城市:

\n");

scanf("%s",p1->city);

strcpy(p->city,p1->city);

printf("邮编:

\n");

scanf("%s",p1->eip);

strcpy(p->eip,p1->eip);

printf("此信息已修改!

\n");

//显示修改的信息

printf("姓名\t性别\t城市\t邮编\t电话\n");

printf("%s\t%s\t%s\t%s\t%s\n",p->name,p->sex,p->city,p->eip,p->tel);

free(p1);

}

//删除通讯录信息

voidDelete()

{

charname[50];//先查找后删除

TEL*p=head->next,*p1=head->next,*p2;

if(head->next==NULL)

{

printf("此通讯录为空!

\n");

return;

}

printf("请输入要删除的姓名:

\n");

scanf("%s",name);

while((strcmp(p->name,name)!

=0)&&p->next!

=

NULL)

{

p1=p;

p=p->next;

}

if(strcmp(name,p->name)==0)//输出删除信息

{

if(p==head->next&&p->next!

=NULL)

head->next=p->next;

elseif(p==head->next&&p->next==NULL)

{

head->next=p->next;

printf("信息已删除,先此通讯录为空!

\n");

return;

}

else

p1->next=p->next;

}

else

{

printf("此信息不存在!

\n");

return;

}

printf("此信息已删除!

\n");

printf("姓名\t性别\t城市\t邮编\t电话\n");

for(p2=head->next;p2!

=NULL;p2=p2->next)

printf("%s\t%s\t%s\t%s\t%s\n",p2->name,p2->sex,p2->city,p2->eip,p2->tel);

}

//显示所有记录

voidList()

{

TEL*p;

if(head->next==NULL)

{

printf("此通讯录中无记录!

\n");

return;

}

printf("姓名\t性别\t城市\t邮编\t电话\n");

for(p=head->next;p!

=NULL;p=p->next)

printf("%s\t%s\t%s\t%s\t%s\n",p->name,p->sex,p->city,p->tel,p->eip);

}

 

第四章系统测试

 

 

 

第五章设计心得

 

课程设计是培养学生综合运用所学知识,发现,提出,分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程.随着科学技术发展的日新日异,当今计算机应用在生活中可以说得是无处不在。

因此作为二十一世纪的大学来说掌握计算机开发技术是十分重要的。

回顾起此次课程设计,至今我仍感慨颇多,的确,自从拿到题目到完成整个编程,从理论到实践,在整整一个星期的日子里,可以学到很多很多的的东西,同时不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。

通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。

在设计的过程中遇到问题,这毕竟独立做的,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固,比如说结构体……通过这次课程设计之后,一定把以前所学过的知识重新温故。

 

第六章参考文献

[1]谢希仁.计算机网络(第五版)[M].北京:

电子工业出版社,2008年2月

[2]胡小强计算机网络[M]北京:

北京邮电大学出版社2005年1月

[3]姚大鹏C语言实践教程【M】:

中国水利水电出版社

 

致谢

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工程科技 > 能源化工

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1