资源预览内容
第1页 / 共34页
第2页 / 共34页
第3页 / 共34页
第4页 / 共34页
第5页 / 共34页
第6页 / 共34页
第7页 / 共34页
第8页 / 共34页
第9页 / 共34页
第10页 / 共34页
亲,该文档总共34页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
c语言通讯录专业课程设计报告模板青岛工学院C语言课程设计报告书题 目通讯录管理系统学生姓名指导教师姜琴学 院信息工程学院专业班级软件工程2012级1班 组内分工姓名主要任务占系统比例程序的总体构思,写主函数,程序的调试25%写visit函数,分析程序代码结构,调试程序25%分析程序需求功能,写modifymenu函数调试程序25%写found函数,收集资料解决难点,调试程序25%目 录1 前言12 需求分析23 模块设计图34 NS流程图清单45 存储结构及函数说明56 课程设计结果87 实践心德体验98 源代码10IIC语言课程设计报告1 前言随着互联网的蓬勃与移动设备的发展,越来越多的联系人信息需要我们储存。不管是个人,还是企业,都需要一个功能齐全,稳定,快捷的通讯录系统来管理联系人资料。现在我们要用语言写一个简易的通讯录管理系统,实现通讯录的基本功能。由于我们学识浅薄,我们只能把程序简单化,太复杂的功能也无法实现。在此程序中只实现了创建、修改、删除的基本功能;在修改于删除里面带有查询功能,来查询需要修改于删除的对象。而且我们还参考了c语言程序设计与应用与百度上的一些资料。 程序功能有限,又不好的地方尽请谅解。2 需求分析 首先进入系统检测文件夹中是否有相关txt文档,有进入通讯录系统,没有创建一个txt文档用来存储联系人姓名; 建立一个通讯录,包括联系人姓名、电话号码、qq号,并保存在txt文档中; 能够根据联系人姓名来修改和删除联系人的所有信息,并修改保存在txt文档中的联系人; 可从主界面直接退出系统,下次使用时可导入上次存储的联系人信息、并进行操作。3 模块设计图此为通讯录重要函数流程: 通讯录管理系统创建、读取文件函数loadfile()创建通讯录系统found()浏览通讯录系统visit()推出通讯录系统exit(0)删除通讯录系统deleted()修改通讯录系统modifymenu() menu()Lodefile() Menu()exit(0)case5 case4 case3 case2 case1 deleted()modifymenu()visit()found()4 NS流程图清单1.loadfile函数: File *fp,打开该文件 一只读打开tellnfo.txt 是 是否有tellnfo 否导入文件里面 创建一个文件的联系人 关闭文件2. found函数 输入联系人信息 NO+ 调用savefile函数是 是否继续 否 调用found函数 getsch(); menu(); 5 存储结构及函数说明头文件有:#include#include#include #include struct record 定义一个结构体,用来存储联系人的信息 char name20; char tel20; char qq20; TelInfo500;int NO; 定义变量NO,用来记入联系人的编号FILE *fp; 定义文件指针int loadfile(); 创建、读取文件void savefile(); 保存创建的联系人到文件中void menu(); 主菜单函数void found(); 创建联系人函数void modifymenu(); 修改联系人信息函数void deleted(); 删除联系人函数void visit(); 游览联系人函数(1) 主函数main():调用loadfile()(/*创建文件,读取文件*/)函数;创建一个永真的条件while(1)以便循环使用;调用menu()(主菜单函数);(2) 创建、读取文件函数loadfile():定义一个文件指针,把0赋给NO;先判断电脑里是否有此文件,如果没有创建一个文件,如果有导入此文件中的信息;(3) 主菜单函数menu():在住界面显示所有功能,包括创建、游览、修改、删除、退出系统;用switch语句来控制我们的选择并进入相应的函数;(4) 创建联系人函数found():输入联系人的姓名、电话号码、qq号码,每输入一个联系人的资料NO就加一,并调用savefile()函数存储此联系人;(5) 保存创建的联系人函数savefile():用fwrite语句来存储已建的联系人;(6) 游览联系人函数visit():先判断NO是否为0,如果为0,则没有联系人,如果不为0,则依次按存储顺序输出联系人信息;(7) 修改联系人函数modifymenu():定义一个数组name20;判断NO是否为0,不为0则显示所有联系人的姓名,然后输入要修改联系人的姓名,用strcmp语句来找到你需要修改的联系人并显示出来;确定修改此联系人后用swtich语句来控制需要修改的地方,包括姓名、电话号码、qq号码;调用savefile()函数存储;(8) 删除联系人函数deleted():定义一个数组name20;判断NO是否为0,不为0则显示所有联系人的姓名,然后输入要删除联系人的姓名,用strcmp语句来找到你需要删除的联系人并显示出来;确定删除后,把此联系人以后的联系人的NO编号都向前移一位,从而把此联系人删除,用循环控制语句为“TelInfoj=TelInfoj+1;”;6 课程设计结果在写程序时,我们尽力做到美观、可操作性强。每一个函数都有它的功能,并做到通用函数的循环调用,减小了程序的复杂度,让程序看上去结构层次分明。我们用文件形式来存储联系人信息,并保存,方便下次的使用,认程序更稳定。程序虽然简陋,但能完美运行,一下为程序的部分界面:7 实践心得体会 通过这次通讯录的设计,我对很多的函数有了新的认识,也学会了运用多种函数,明白了写软件的基本过程和基本方法。 在设计的过程中遇到了很多的困难,有程序上的也有实验报告上的,尤其是软件在一次一次的调试失败后,对我们打击很大。但最后我们还是咬牙让自己坚持了下来,通过小组的不断试验和讨论以及同学们的帮助,我们总算顺利的完成了程序设计。虽然在调试过程中遇到了许多困难,但当调试成功时那种喜悦的感觉,没有什么东西可以代替。在编写过程中我们都发现我们有许多的知识漏洞和缺陷,需要进一步努力来不断完善自己。 总之,此次过程不仅给我很多好的经验,同时加深了同学间的关系,增强了团队解决问题的能力。8 源代码#include#include#include #include struct record char name20; char tel20; char qq20; TelInfo500;int NO; FILE *fp; int loadfile();void savefile();void menu();void found();void modifymenu();void deleted();void visit();int main()loadfile();while(1)menu();int loadfile() /*创建文件,读取文件*/FILE *fp;if(fp=fopen(TelInfo.txt,r)=0) printf(nnnnnttt 电话簿文件不存在); if (fp=fopen(TelInfo.txt,wb)=0) printf(ntttt建立失败); exit(0); else printf(nnttt 电话簿已建立);printf(nnttt 按任意键进入主菜单); getch(); NO=0;return(NO); exit(0); fseek(fp,0,2); /*从TelInfo.txt文档中导入联系人*/if (ftell(fp)0) rewind(fp); for(NO=0;!feof(fp)&fread(&TelInfoNO,sizeof(struct record),1,fp);NO+); printf(nnnnn);printf(ntt 文件导入成功! );printf(nntttt按任意键返回主菜单); getch(); return(NO); else printf(ntt 没有可以访问的数据! ); printf(nnttt 按任意键返回主菜单进行添加); getch();
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号