




已阅读5页,还剩20页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
c语言程序设计报告书 中南大学 central south university 课程设计报告题 目:个人通讯录管理系统 设 计 者: 专业班级: 学 号: 指导教师: 所属院系:信息科学与工程院 2009年7 月 3日 目 录 一 课程设计的目的和要求。2 二 课程设计内容。3三 设计整体规划及方案。4四 课程设计任务。5 五 程序的流程图。6 六 个人体会。7七、 参考文献。10 八、源程序。11 一课程设计的目的和要求本次“计算机程序设计实践”课程设计,是基于c语言“计算机程序设计基础”课程学习内容的重要实践环节,其主要目的在于,通过综合程序课程设计,加深对c语言课程所学知识的理解,进一步巩固c语言讲法规则。学会编制结构清晰、风格良好、数据结构适当的c语言程序,从而培养和提高学生的独立分析问题和解决实际问题的能力。 二、课程设计内容在熟练掌握c语言的基本知识:数据类型(整形、实型、字符型、指针、数组、结构等);运算类型(算术运算、逻辑运算、自增自减运算、赋值运算等);程序结构(顺序结构、判断选择结构、循环结构);大程序的功能分解方法(即函数的使用)等。进一步掌握各种函数的应用,包括时间函数、绘图函数,以及文件的读写操作等具体要求如下:1、在turbo c(visual c)或win-tc环境下,用结构化程序设计思想进行c语言程序设计。2、认真阅读设计题目、任务内容及进度要求,完成好管理系统中各相关功能模块的设计、调试与实现。 三课程设计整体规划及方案 整个程序的设计是通过对每一个功能的设计,然后,再对每一个功能的程序进行模块化,再把每一模块化的程序装入设计好的菜单中,从而形成一个完整的材料管理系统。1、自顶向下、逐步细化、逐步求精所谓“自顶向下,逐步细化、逐步求精”就是在对于给定问题进行透彻的了解和详细的分析的基础上,把问题分解成若干个按顺序执行的逻辑部分,称为“模块”。每个子任务如果仍很复杂,还可以再分解为若干个子任务。如此逐层分解,对于每个模块的设计都采用这种“自顶向下、逐步细化”的方法,将它们分解成为基本结构为止,就如同写文章先拟出题目和中心内容,再确定分为几大部分,每一大部分又分哪几节,每一节分为几段,每一段包括哪几个意思,这就是“自顶向下,逐步细化”的方法。2、菜单技术当一个程序的规模比较庞大,层次和模块比较多时,不要每次都将所有模块按顺序执行一遍,最好在每一层,至少在最高几层都设一个“菜单”。为方便用户操作,“菜单”技术已广泛使用在计算机的系统软件中,具体做法是:程序首先把各功能说明及相应代号以菜单形式显示在屏幕上,然后由用户在键盘上输入所选的功能代号,程序自动转去调用相应的功能模块进行处理。 四课程设计任务实现个人通讯录管理,录入包括姓名、单位、固定电话、移动手机、分类(如同事、朋友、家人等)、e-mail、qq。具体操作如下:0 输入记录(input records);1 下载功能(load record)2显示功能(show all records);3查询(search record);4删除(delete record);5保存(save);6 退出;其中 0对n名人物的信息进行输入;2显示所有记录的信息,若无记录,则给出提示信息;3可以按姓名查询该材料的有关信息;4可以按姓名对任意一种材料进行删除;5储存所输入地记录;6退出程序 五流程图 2 显示 所有 记录 4 删除 记录 3 查找 记录 1 下载 记录 0输入记录菜单主界面 开始6 退出 5 储存 记录 六、测试结果 主界面: 输入“0“进行记录: 输入”5”进行储存: 输入“2“显示所有记录: 输入”3”进行查询: 输入“4“进删除:七、个人心得体会 通过本次对c语言程序实践,我深刻认识到一个比较大的程序并不没有想象中的简单,它是一个巨大的工程,需要我们极其认真的对待以及不畏困难的决心。在上机得第一天,坐在电脑前不知道做什么,书也没带一本,就看着电脑。老师来了后说:“熟悉一下环境,下一次来正式做任务”。通过那一节课的熟悉,我对c语言有了一个重新的认识。 这几天下来,我通过对操作个人通讯录系统,我从中学到了不少东西,每一次调试出错时,我都感到无比的沮丧,没有信心了,但是还要继续,我就通过问同学、去图书馆查找资料、上网查询等途径来克服困难;每一次克服困难,我都感到无比的成功,每一次都离成功越来越近。通过这次实践,我的c语言水平有了显著的提高,基础打得更加扎实了。说实话,c语言是一个很复杂的工程设计,在设计过程中有很多的东西搞不懂,需要学习的东西还有很多。 八参考文献: 1 c语言程序设计及其试验教程 李丽娟 马淑平等主编 北京:中国铁道出版社 , 2006 2 c语言程序设计(第三版) 谭浩强 著 北京:清华大学出版社, 2005 3 /xxsz/automation/bkxsgz/files/index02texiao.htm4 “计算机程序设计实践”任务书 中南大学信息科学与工程学院自动化系 2009年6月5 百度搜索 九、源程序:#include #include #include typedef struct txl char name15; char workplace100; char phone30; char cellphone20; char relationship20; char email50; char qq20;dtxl; typedef struct dlnode dtxl data; struct dlnode *prior; struct dlnode *next;dnode; /*建立双向链表结构体;*/dnode *head;void enter(void) dnode *p,*rear; char flag=y; head=(dnode *)malloc(sizeof(dnode); rear=head; head-next=head; head-prior=head; /*建立双向链表结构体;*/ while(flag=y|flag=y) p=(dnode *)malloc(sizeof(dnode); printf( name workplace phone cellphone relationship email qqn); printf(-n); scanf(%s %8s %8s %8s %8s %8s %8s,&,&p-data.workplace,&p-data.phone,&p-data.cellphone,&p-data.relationship,&p-data.email,&p-data.qq); rear-next=p; p-prior=rear; rear=p; p-next=head; /*向双链表中动态增加节点数据;*/ printf(-n); printf(continue input?(y/n)n); scanf(%s,&flag); printf(n);void load(dnode *head) file *fp; int n,i; dnode *p,*rear; rear=head; head-next=head; head-prior=head; if(fp=fopen(file.txt,rb)=null) printf(error!n); exit(0); fscanf(fp,%d,&n); for(i=0;,&p-data.workplace,&p-data.phone,&p-data.cellphone,&p-data.relationship,&p-data.email,&p-data.qq); rear-next=p; p-prior=rear; rear=p; p-next=head; /*从文件中动态载入节点数据;*/ fclose(fp); printf(success!nn);void display(dnode *head) dnode *p; p=head-next; printf(show all records:n); printf(-n); printf( name workplace phone cellphone relationship email qqn); printf(-n); while(p!=head) printf(%s %8s %8s %8s %8s %8s %8s,&,&p-data.workplace,&p-data.phone,&p-data.cellphone,&p-data.relationship,&p-data.email,&p-data.qq); printf(n); printf(-nn); p=p-next; dnode *search(dnode *head) dnode *p; char name9; p=head-next; scanf(%s,name); while(p!=head&p&strcmp(,name)!=0) p=p-next; return p;void deletes(dnode *head) char f; dnode *p; p=search(head); if(p=head) printf(not be found!nn); return; else printf(have other num to delete?(y/n)n); scanf(%s,&f); if(f=y|f=y) p-prior-next=p-next; p-next-prior=p-prior; free(p); printf(success to delete!n); void save(dnode *head) file *fp; dnode *p; int n=0,i; if(fp=fopen(file.txt,wb)=null) printf(error!n); exit(1); p=head-next; if(p!=head) while (p!=head) p=p-next; n+; fprintf(fp,%d,n); /*写入节点个数;*/ fprintf(fp,rn); /*写入回车符;*/ p=head-next; for(i=0;,&p-data.workplace,&p-data.phone,&p-data.cellphone,&p-data.relationship,&p-data.email,&p-data.qq); fprintf(fp,rn); p=p-next; /*向文件中写入节点数据;*/ else printf(please make sure the data is not null!); fclose(fp); printf(save successed!n);void quit(void) exit(0);void main() char flag=y; for(;) dnode *q; int ch; printf(:n); printf( newsletter records personal systemn); printf(=n); printf( input record-0n); printf( load record-1n); printf( show all record-2n); printf( search record-3n); printf( delete record-4n); printf( save-5n); printf( exit-6n); /*通讯录提示信息;*/ printf(=n); printf(please input num(06):n); scanf(%d,&ch); switch(ch) case 0: enter();break; case 1: head=(dnode *)malloc(sizeof(dnode); load(head);break; case 2: display(head);break; case 3:jmp: printf(please input name to search:n); q=search(head); if(q!=head) printf(-n); printf( name workplace phone cellphone relationship email qqn); printf(-n); printf(%s %8s %8s %8s %8s %8s %8s,,q-data.workplace,q-data.phone,q-data.cellphone,q-data.relationship,q-data.email,q-data.qq); printf(n-n); printf(success!n); printf(continue searchingn?(y/n)n); scanf(%s,&f
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 公司安装窗帘合同样本
- 个人之间购房合同样本
- 产品控价合同样本
- 借款中介合同样本
- 乐队酒吧兼职合同样本
- 调酒师行业协会考题试题及答案指导
- 中央空调安装合同样本
- 买房解约合同样本
- 公寓期房合同样本
- 便宜工厂租赁合同标准文本
- 2024年电子商务师真题试题及答案
- 撬装式承压设备系统安全技术规范
- 园艺植物遗传育种 课件全套 第1-10章 绪论-新品种的审定与推广繁育+实训
- 2025-2030中国免洗护发素行业市场发展趋势与前景展望战略研究报告
- 《智能优化算法解析》 课件 第6章-基于群智能的智能优化算法
- 《红岩》中考试题(截至2024年)
- 华为IAD132E(T)开局指导书
- (2025)二十大知识竞赛题库(含答案)
- 2025年华北电力大学辅导员及其他岗位招考聘用54人高频重点提升(共500题)附带答案详解
- 2022《信访工作条例》学习课件
- 2025年高考政治一轮复习知识清单选择性必修一《当代国际政治与经济》重难点知识
评论
0/150
提交评论