C语言课程设计 通讯录Word文档下载推荐.docx

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

C语言课程设计 通讯录Word文档下载推荐.docx

《C语言课程设计 通讯录Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《C语言课程设计 通讯录Word文档下载推荐.docx(14页珍藏版)》请在冰点文库上搜索。

C语言课程设计 通讯录Word文档下载推荐.docx

【总体设计】

图1 

系统功能模块图

【详细设计】

主函数

主函数设计要求简洁,只提供部分提示语和函数的调用

【程序】

图2. 

主函数流程图

附录:

源代码

#include"

stdio.h"

stdlib.h"

string.h"

conio.h"

#definenull0

structrecord

{

charname[20];

charphone[20];

charadress[40];

charpostcode[10];

chare_mail[30];

}student[500];

structLinkList

structrecordUS;

structLinkList*next;

}a;

structLinkList*head=null;

intnum=0;

FILE*fp;

intmenu_select();

intadduser();

intlist();

intsearch();

intdisplay();

intadd();

intlistbyname();

intdele();

intsave();

intexit();

voidmain()

system("

cls"

);

for(;

;

switch(menu_select())

{

case0:

adduser();

break;

case1:

list();

case2:

search();

case3:

display();

case4:

add();

case5:

listbyname();

case6:

dele();

case7:

save();

case8:

exit(0);

}

}

menu_select()

chars[80];

inta;

printf("

*_*pressanykeyentermenu!

*_*\n"

getch();

\t\t********************MENU*********************\n\n"

\t\t 

0.输入记录\n"

1.显示记录 

\n"

2.按姓名查找\n"

3.按电话号码查找\n"

4.插入记录\n"

5.按姓名排序\n"

6.删除记录\n"

7.记录保存文件\n"

8.Quit\n"

\t\t***********************************************\n"

do{

printf("

\n 

Enteryouchoice(0~11):

"

scanf("

%s"

s);

a=atoi(s);

while(a<

0||a>

11);

returna;

adduser()

\n\t\t****************请输入用户信息****************\n"

\n\t\t输入姓名:

scanf("

&

student[num].name);

\n\t\t输入电话号码:

student[num].phone);

\n\t\t输入地址:

student[num].adress);

\n\t\t输入邮编:

student[num].postcode);

\n\t\t输入e-mail:

student[num].e_mail);

num++;

\n\t\t是否继续添加?

(Y/N):

if(getch()=='

y'

return(0);

list()

inti;

if(num!

=0)

\n\t\t***************以下为通讯录所有信息************"

for(i=0;

i<

num;

i++)

\n\t\t姓名:

%s"

student[i].name);

\n\t\t电话:

student[i].phone);

\n\t\t地址:

student[i].adress);

\n\t\t邮编:

student[i].postcode);

\n\t\te-mail:

student[i].e_mail);

\t\t"

if(i+1<

num)

\n\t\t__________________________"

system("

pause"

\n\t\t************************************************"

else

\n\t\t通讯录中无任何纪录"

\n\t\t按任意键返回主菜单:

getch();

return(0);

search()

intmark=0;

inta=0;

\n\t\t*****************按姓名查找*******************"

\n\t\t请输入姓名:

name);

for(i=a;

if(strcmp(student[i].name,name)==0)

\n\t\t*************以下是您查找的用户信息***********"

mark++;

if((i+1)<

\n\t\t是否继续查找相同名字的用户信息:

(y/n)"

if(getch()=='

a=i;

continue;

else

\n\t\t按任意键返回主菜单"

if(mark!

\n\t\t没有相同姓名的用户纪录"

display()

\n\t\t******************按电话查找******************"

charphone[10];

\n\t\t请输入电话号码:

phone);

for(i=0;

if(strcmp(student[i].phone,phone)==0)

\n\t\t**************以下是您查找的用户信息**********"

if(mark==0)

\n\t\t没有改用户的信息"

add()

if((fp=fopen("

student.bin"

"

wb"

))==NULL)

\n\t\t文件打开失败"

for(i=0;

if(fwrite(&

student[i],sizeof(structrecord),1,fp)!

=1)

\n\t\t写入文件错误!

\n"

num++;

adduser();

fclose(fp);

\n\t\t通讯录文件已保存"

\n\t\t按任意键退出程序\n\t\t"

exit(0);

voiddeletebyphone()

inti,j;

intdeletemark=0;

\n\t\t请输入要删除用户电话号码:

if(num==0)

\n\t\t对不起,文件中无任何纪录"

return;

if(strcmp(student[i].phone,phone)==NULL)

\n\t\t以下是您要删除的用户纪录:

\n\t\t是否删除?

for(j=i;

j<

num-1;

j++)

student[j]=student[j+1];

num--;

deletemark++;

\n\t\t删除成功"

\n\t\t是否继续删除?

deletebyphone();

return;

continue;

if(deletemark==0)

\n\t\t没有该用户的纪录"

voiddeletebyname()

intfindmark=0;

intj;

\n\t\t请输入要删除用户姓名:

for(i=a;

if(strcmp(student[i].name,name)==NULL)

findmark++;

\n\t\t________________________________"

j++) 

if((i+1)<

\n\t\t是否继续删除相同姓名的用户信息?

deletebyname();

if((deletemark==0)&

&

(findmark==0))

elseif(findmark!

\n\t\t没有重名信息"

dele()

charchoic;

\n\t\t1-按电话号码删除2-按姓名删除"

\n\t\t请选择:

choic=getch();

switch(choic)

case'

1'

:

deletebyphone();

2'

deletebyname();

listbyname()

structrecordtmp;

for(i=1;

if(strcmp(student[i].name,student[i-1].name)<

0)

tmp=student[i];

j=i-1;

do

student[j+1]=student[j];

j--;

}while((strcmp(tmp.name,student[j].name)<

0&

j>

=0));

student[j+1]=tmp;

\n\t\t排序成功,是否显示?

list();

save()

FILE*fp;

fp=fopen("

student.txt"

w"

if(fp==NULL)

can'

topenthefile."

if(num!

for(j=0;

fwrite(student,sizeof(student),1,fp);

保存成功!

fclose(fp);

【设计体会】

通过为期一周的课程设计,我们对《C语言》这门课程有了更深一步的了解。

它是计算机程序设计的重要理论技术基础,在我们信息与计算科学专业的学习中占据着十分重要的地位。

同时也使我们知道,要学好这门课程,仅学习书本上的知识是不够的,还要有较强的实践能力。

因为我们学习知识就是为了实践。

而只有多实践,多编写程序,才能更好的理解与掌握书本上的东西。

运用《C语言》中的算法思想作数据结构,结合C语言基本知识,编写一个通讯录管理系统。

通过完成本课题,进一步熟悉C语言的基本知识,并掌握数据结构的一些基本算法思想,掌握C语言的文件操作(包括从磁盘读入和向磁盘写入内容),进一步熟悉指针的用法,数组的建立运用和函数的调用

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

当前位置:首页 > PPT模板 > 商务科技

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

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