同学通讯录信息管理.docx

上传人:b****4 文档编号:6326196 上传时间:2023-05-09 格式:DOCX 页数:13 大小:116.58KB
下载 相关 举报
同学通讯录信息管理.docx_第1页
第1页 / 共13页
同学通讯录信息管理.docx_第2页
第2页 / 共13页
同学通讯录信息管理.docx_第3页
第3页 / 共13页
同学通讯录信息管理.docx_第4页
第4页 / 共13页
同学通讯录信息管理.docx_第5页
第5页 / 共13页
同学通讯录信息管理.docx_第6页
第6页 / 共13页
同学通讯录信息管理.docx_第7页
第7页 / 共13页
同学通讯录信息管理.docx_第8页
第8页 / 共13页
同学通讯录信息管理.docx_第9页
第9页 / 共13页
同学通讯录信息管理.docx_第10页
第10页 / 共13页
同学通讯录信息管理.docx_第11页
第11页 / 共13页
同学通讯录信息管理.docx_第12页
第12页 / 共13页
同学通讯录信息管理.docx_第13页
第13页 / 共13页
亲,该文档总共13页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

同学通讯录信息管理.docx

《同学通讯录信息管理.docx》由会员分享,可在线阅读,更多相关《同学通讯录信息管理.docx(13页珍藏版)》请在冰点文库上搜索。

同学通讯录信息管理.docx

同学通讯录信息管理

沈阳航空工业学院

课程设计

学号200604021107

班级6402104

姓名孙艳萍

指导教师刘成

2007年9月15日

沈阳航空工业学院

课程设计任务书

院系:

电子专业:

电子信息工程班级:

6402104

学号:

200604021107题目:

同学通讯录信息管理

一、课程设计时间

2007年9月10日至2007年9月14日,共计1周,20学时。

二、课程设计内容

用C语言编写软件完成以下任务:

能够对同学的通讯信息进行数字化管理,人数不少于3人。

通讯信息应保存到文件myfile.dat中。

三、课程设计要求

1.程序质量:

✧贯彻结构化的程序设计思想。

✧用户界面友好,功能明确,操作方便。

✧用户界面中的菜单至少应包括“同学信息录入”、“同学信息查询(根据姓名,或编号等。

)”、“显示全部同学信息”、“退出”4项。

✧代码应适当缩进,并给出必要的注释,以增强程序的可读性。

2.课程设计说明书:

课程结束后,上交课程设计说明书和源程序。

课程设计说明书的格式和内容参见提供的模板。

四、指导教师和学生签字

指导教师:

________学生签名:

________

五、成绩:

六、教师评语:

目录

一、需求分析1

二、程序流程图2

三、核心技术的实现说明及相应程序段7

四、个人总结10

五、参考文献11

六、源程序11

 

一、需求分析

本题是一道需要综合运用文件,结构体,循环,函数调用等的题目。

利用文件的读写可方便的完成对同学数据的输入,查询,保存。

利用结构体可将不同类型的数据组成一个有机的整体,以便引用,而结构体数组又可存放多名同学的不同类型的数据,这更方便了对同学相关信息的存取。

要在程序界面一菜单的形式调用各功能函数,就要运用大量的函数调用,从而实现模块化程序设计。

经过对题目的分析可知,整个程序大致分为5个模块,其中每一个模块对应一个函数,它们的功能分别是录入,查询,显示,保存,在这些函数中,录入,查询,保存要严格按照题目要求。

录入:

主要实现程序最处运行时对同学相关数据的录入。

查询:

允许按照姓名对同学相关数据进行查询。

保存:

成功实现对文件的保存。

显示信息:

对保存的信息全部显示。

退出:

成功退出系统。

二、程序流程图

1、程序总体结构图

图1程序总体结构图

 

2、具体功能框图

(1)录入函数:

 

图2录入函数流程图

 

(2)查询函数:

 

图3查询函数流程图

 

(3)查找函数(find函数):

 

图4查找函数流程图

 

(4)保存函数:

 

图5保存函数流程图

 

三、核心技术的实现说明及相应程序段

本程序的关键技术主要有一下几个:

菜单的设计和功能函数调用技术,结构体的输入技术,结构体数组的输出技术以及定义全局变量记录数n等。

程序主要由5个自定义函数和一个主函数组成,其中主函数以菜单的形式调用其他函数来实现要求的所有功能,在这些函数中,查询函数,保存函数是程序中较为核心的部分,同时程序使用的find函数为查询,全局变量记录数n也在各函数运行中起了举足轻重的作用。

具体过程技术请看完整的源程序代码。

具体函数段如下

查询函数:

在此函数中,我运用了按姓名查询的方式,定义了字符型数组,为简洁又建立了FIND子定义函数,其中较为核心的技术是STRCMP函数的调用,它实现了对输入名字与原数据的一一对比,并最终得到所查找的值返回给SEARCH函数实现最终的输出。

 

voidsearch()/*按姓名查询*/

{

chars[20];

inti;

printf("pleaseinputsearchname\n");

scanf("%s",s);

i=find(s);

if(i>n-1)

printf("notfound\n");

else

printf("%s%s%s%s\n",t[i].name,t[i].num,t[i].tele,t[i].sex);

}

intfind(char*s)/*查找函数*/

{

inti;

for(i=0;i

{

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

break;

}

returni;

}

图6查找功能运行界面

 

保存函数:

此函数的核心问题是信息的保存和MYFILE.DAT文件的建立,为了达到此目的我定义了一个文件指针:

FILE*FP,并用到FOPEN函数,最终实现目标。

voidsave()/*保存*/

{

inti;

FILE*fp;

if((fp=fopen("myfile.dat","wb"))==NULL)

{

printf("cannotopenfile\n");

exit(0);

}

printf("\nSavingfile\n");

for(i=0;i

{

fprintf(fp,"%-20s%-30s%-10s%-20s",t[i].name,t[i].num,t[i].tele,t[i].sex);

fprintf(fp,"\r\n");

}

fclose(fp);

printf("***************savesuccess***************\n");}

 

图7保存文件功能运行界面

四、个人总结

通过本次计算机实践训练,使我充分掌握了结构体和文件操作的方法,同时我还实践了建立程序的目录菜单,调用各个子函数,并使其尽可能的人性化。

在实践中,我感受到合作的力量,在共同讨论问题的同时感到了合作的快乐。

通过实践,让我对C语言有了更充分的认识,通过耐心专研掌握很多知识,对各个函数有了更明确的体会,感受到设计程序的快乐,使我对未来充满信心!

五、参考文献

1谭浩强.C程序设计.北京:

清华大学出版社,2005

2刘成等.C语言程序设计实验指导与习题集.北京:

中国铁道出版社,2006

六、源程序

#include"stdio.h"

#include"stdlib.h"

#include"string.h"

#defineM50

intn;

structclassmate/*定义数据结构*/

{

charname[20];

charnum[30];

chartele[10];

charsex[20];

}t[M];

intenter()/*录入*/

{inti;

{

printf("\npleaseinputnum\n");

scanf("%d",&n);

printf("pleaseinputrecord\n");

printf("namenumbertelephonesex\n");

printf("-------------------------------------------\n");

for(i=0;i

{

scanf("%s%s%s%s",t[i].name,t[i].num,t[i].tele,t[i].sex);

printf("------------------------------------------\n");

}

}

}

voidsearch()/*按姓名查询*/

{

chars[20];

inti;

printf("pleaseinputsearchname\n");

scanf("%s",s);

i=find(s);

if(i>n-1)

printf("notfound\n");

else

printf("%s%s%s%s\n",t[i].name,t[i].num,t[i].tele,t[i].sex);

}

intfind(char*s)/*查找函数*/

{

inti;

for(i=0;i

{

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

break;

}

returni;

}

voidsave()/*保存*/

{

inti;

FILE*fp;

if((fp=fopen("myfile.dat","wb"))==NULL)

{

printf("cannotopenfile\n");

exit(0);

}

printf("\nSavingfile\n");

for(i=0;i

{

fprintf(fp,"%-20s%-30s%-10s%-20s",t[i].name,t[i].num,t[i].tele,t[i].sex);

fprintf(fp,"\r\n");

}

fclose(fp);

printf("***************savesuccess***************\n");

}

voidoutput()/*显示*/

{

inti;

printf("----------------------------------------------\n");

printf("namenumbertelephonesex\n");

printf("----------------------------------------------\n");

for(i=0;i

{

printf("%6s%6s%6s%6s\n",t[i].name,t[i].num,t[i].tele,t[i].sex);

}

}

main()

{

inti;

printf("****************MENU********************\n");

printf("0.Enterrecord\n");

printf("1.Searchrecordonname\n");

printf("2.Savethefile\n");

printf("3.outputallmessage\n");

printf("4.Quit\n");

printf("****************************************\n");

while

(1)

switch(getch())

{

case'0':

enter();break;

case'1':

search();break;

case'2':

save();break;

case'3':

output();break;

case'4':

exit(0);

}

}

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

当前位置:首页 > 自然科学 > 物理

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

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