C语言通讯录系统课程设计报告.docx

上传人:b****1 文档编号:14111277 上传时间:2023-06-20 格式:DOCX 页数:12 大小:81.94KB
下载 相关 举报
C语言通讯录系统课程设计报告.docx_第1页
第1页 / 共12页
C语言通讯录系统课程设计报告.docx_第2页
第2页 / 共12页
C语言通讯录系统课程设计报告.docx_第3页
第3页 / 共12页
C语言通讯录系统课程设计报告.docx_第4页
第4页 / 共12页
C语言通讯录系统课程设计报告.docx_第5页
第5页 / 共12页
C语言通讯录系统课程设计报告.docx_第6页
第6页 / 共12页
C语言通讯录系统课程设计报告.docx_第7页
第7页 / 共12页
C语言通讯录系统课程设计报告.docx_第8页
第8页 / 共12页
C语言通讯录系统课程设计报告.docx_第9页
第9页 / 共12页
C语言通讯录系统课程设计报告.docx_第10页
第10页 / 共12页
C语言通讯录系统课程设计报告.docx_第11页
第11页 / 共12页
C语言通讯录系统课程设计报告.docx_第12页
第12页 / 共12页
亲,该文档总共12页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

C语言通讯录系统课程设计报告.docx

《C语言通讯录系统课程设计报告.docx》由会员分享,可在线阅读,更多相关《C语言通讯录系统课程设计报告.docx(12页珍藏版)》请在冰点文库上搜索。

C语言通讯录系统课程设计报告.docx

C语言通讯录系统课程设计报告

通讯录系统的设计与实现电子科技大学电信三班傅得耕

3.1系统的需求分析

通讯录系统作为一个应用软件将为人民提供一个可以串联人与人之间的信息的一个平台。

根据系统界面的提示信息对通讯录进行查询、初始化等操作。

系统功能需求分析描述如下:

(1)创建联系人。

(2)显示所有联系人:

显示可以进行的操作。

(3)删除联系人。

(4)查询:

根据进行查询,并可显示所有关于该人的信息。

(5):

退出。

3.2系统的设计

3.2.1系统的总体设计

下面从系统的整体流程的功能模块、系统界面及数据结构进行总体设计。

(1)总体思想

本系统主要设计思想是实现通讯录系统信息的创建联系人、删除、查找等主要功能。

系统的设计方法是结构化实际方法,系统用C语言进行开发用户可以清晰的了解联系人的情况。

(2)系统模块结构图

根据需求分析结果,通讯录系统可以分为五大模块:

创建联系人模块、显示功能模块、查找联系人功能模块、删除联系人模块以及退出模块。

系统模块结构如图:

 

3.2.2系统的概要设计

㈠系统主菜单。

显示系统的主菜单,里面有相应的功能代码,根据选择各功能代码进入不同的界面。

功能主要包括:

退出系统、查询、创建显示及删除。

㈡查询人物信息

进入此菜单功能模块,输入您要查询的图书的名字。

图书查询模块流程如图:

 

否是

 

3.3测试结果

系统主界面

创建

显示系统

查询系统

删除系统

 

3.4源代码

#include

#include

#include

#defineLENsizeof(structpeople)

structpeople

{

charname[10];

charaddress[50];

charpostcode[7];

charphonenum[12];

structpeople*next;

};

intn=0,c;

staticstructpeople*head;

voidinsert();

voidshow();

voiddelete(char*);

voidquery(char*);

intmain(intargc,charconst*argv[])

{

structpeople*peo;

charnam[10];

inti,choose=0;

for(i=0;i<60;++i)

{

printf("*");

}

printf("\n\t\t\t\t通讯录\n");

printf("\t\t\t1.创建联系人\n");

printf("\t\t\t2.显示所有联系人\n");

printf("\t\t\t3.删除联系人\n");

printf("\t\t\t4.查找联系人\n");

printf("\t\t\t5.退出\n\n");

for(i=0;i<60;++i)

{

printf("*");

}

do

{

printf("\t\t\t请选择功能(1~5):

\n");

printf("\n");

scanf("%d",&choose);

switch(choose)

{

case1:

insert();

break;

case2:

show();

break;

case3:

printf("\n请输入要删除联系人的:

");

scanf("%s",nam);

delete(nam);

break;

case4:

printf("\n请输入要查询联系人的:

");

scanf("%s",nam);

query(nam);

break;

case5:

exit(0);

break;

}

}while

(1);

return0;

}

voidinsert()

{

structpeople*p1,*p2;

p1=(structpeople*)malloc(LEN);

if(n==0)

{

printf(":

");

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

printf("地址:

");

scanf("%s",&p1->address);

printf("邮编:

");

scanf("%s",&p1->postcode);

printf(":

");

scanf("%s",&p1->phonenum);

head=p1;

p1->next=NULL;

}

else{

p1=head;

while(p1->next!

=NULL)

{

p1=p1->next;

}

p2=p1;

p1=(structpeople*)malloc(LEN);

printf(":

");

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

printf("地址:

");

scanf("%s",&p1->address);

printf("邮编:

");

scanf("%s",&p1->postcode);

printf(":

");

scanf("%s",&p1->phonenum);

p2->next=p1;

p1->next=NULL;

}

n+=1;

}

voidshow()

{

structpeople*p;

printf("\t地址\t邮政编码\t\n");

p=head;

if(head!

=NULL)

{

do

{

printf("%s\t%s%s\t%s\n",p->name,p->address,p->postcode,p->phonenum);

p=p->next;

}while(p!

=NULL);

}

}

voiddelete(char*name)

{

structpeople*p1,*p2;

if(head==NULL)

{

printf("没有数据\n");

}

p1=head;

while(strcmp(name,p1->name)&&p1->next!

=NULL)

{

p2=p1;

p1=p1->next;

}

if(!

strcmp(name,p1->name))

{

if(p1==head)

{

head=p1->next;

}

else

{

p2->next=p1->next;

}

printf("已经删除%s的数据\n",name);

n=n-1;

}

else{

printf("找不到这个人\n");

}

}

voidquery(char*name)

{

structpeople*p;

p=head;

if(head!

=NULL)

{

do

{

if(!

strcmp(name,p->name))

{

printf(":

%s\n",p->name);

printf("地址:

%s\n",p->address);

printf("邮编:

%s\n",p->postcode);

printf(":

%s\n",p->phonenum);

}

p=p->next;

}while(p!

=NULL);

}

else

{

printf("输入错误\n");

}

}

第四章心得体会

经过一个多星期的编译原理课程设计,在我的努力下,顺利完成该课程设计。

通过该课程设计,掌握了编译程序工作的基本过程及其各阶段的基本任务,熟悉了编译程序总流程框图,了解了编译程序的生成过程及其相关的技术,对课本上的知识也有了更深的理解。

老师常说,课本上的知识是机械的,表面的,要学会去运用,要举一反三。

现在终于深刻的了解了这句话。

经过这次的课程设计,发现书本上很深奥的知识变的更为简单,同样,对实验原理也了有更深的理解。

知道和理解了该理论在计算机中是怎样执行的,对该理论在实践中的应用有深刻的理解。

通过该课程设计,把死板的课本知识变得生动有趣,激发了学习的积极性。

能够把课堂上学的知识通过自己设计的程序表示出来,加深了对理论知识的理解。

课程设计中程序比较复杂,在调试时应该仔细,在程序调试时,注意指针,将不必要的命令去除。

除了课堂外,课程设计是最能学到东西的,最考验人的。

在做课程设计的这段时间,时刻都感到自己学的知识有多么的贫瘠。

经过这次课程设计,让我对C这门语言有了更深的认识,操作能力有了提高要想是写出的代码能运行,需要耐心细心,毅力以及充沛的体力。

只有经过多次编辑,多次编译,再多次运行,才能编写出更好的程序,有时候需要多次的更正才能达到所要的运行结果。

参考文献

谭洁强《C程序设计第二版》清华大学

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

当前位置:首页 > 法律文书 > 调解书

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2