手机通讯录管理系统课程设计报告.doc_第1页
手机通讯录管理系统课程设计报告.doc_第2页
手机通讯录管理系统课程设计报告.doc_第3页
手机通讯录管理系统课程设计报告.doc_第4页
手机通讯录管理系统课程设计报告.doc_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

沈 阳 工 程 学 院课 程 设 计设计题目: 程序设计基础课程设计 -手机通讯录管理系统 系 别 信息工程系 班级 学生姓名 学号 指导教师 职称 起止日期:2009 年 6 月 15日起至 2009 年 6 月 26日止沈 阳 工 程 学 院课程设计任务书课程设计题目: 程序设计基础课程设计 -手机通讯录管理系统 系 别 信息工程系 班级 学生姓名 学号 指导教师 职称 课程设计进行地点: 任 务 下 达 时 间: 2009 年 6 月 11 日止日期: 2009 年 6月 15日起至 2009 年 6月 26日止教研室主任 6 月 10日批准1.设计的原始资料及依据通过课程设计使学生进一步加深对课程内容的理解,利用程序设计的基本思想进行程序的开发,进一步掌握编程方法和技巧,提高学生用程序的思想来解决实际问题的能力。2设计的主要内容及要求设计题目:手机通讯录管理系统需要完成的功能:查看功能;增加功能;拨号功能;修改功能;删除功能;菜单功能;查询功能。必须用到链表,能将生成的文件存储与外部存储器上,并且从外部存储器上可以编写该文件的功能。3.对设计说明书撰写内容、格式、字数的要求 学生应撰写的内容为:中文摘要和关键词、目录、正文、参考文献等。课程设计说明书(论文)的结构及各部分内容要求可参照沈阳工程学院毕业设计(论文)撰写规范执行。应做到文理通顺,内容正确完整,书写工整,装订整齐。 装订格式封面、任务书、成绩评审意见表、摘要和关键词、目录、正文、结论、致谢、参考文献。 课程设计说明书(论文)是体现和总结课程设计成果的载体,一般不应少于3000字。打印时采用a4纸,页边距均为20mm,正文采用宋体小四号字,行间距18磅。文中大标题采用黑体小三号字,一级节标题采用黑体四号字,二级节标题采用黑体小四号字,三级节标题采用黑体小四号字,表题与图题采用宋体五号字。4. 设计完成后应提交成果的种类、数量、质量等方面的要求 课程设计任务书 课程设计报告 设计成品(光盘)5.时间进度安排顺序阶段日期计 划 完 成 内 容备注16月15日查阅资料,充分解读题目内容,小组分工,确定每个人的具体任务。1天26月16日至6月19日上机编程4天36月22日至6月23日程序整合,综合调试。2天46月24日至6月25日答辩。2天56月26日撰写课程设计报告。1天6.主要参考资料(文献)1 c语言程序设计 天津大学出版社 高福成 主编2 c语言程序设计 高教出版社 谭浩强 主编3 c语言程序设计实习指导与习题集(第二版) 谭浩强 主编4 c语言程序设计 高等教育出版社 巫家敏 主编沈 阳 工 程 学 院课程设计成绩评审表系(部): 信息工程系 班级: 计本081 学生姓名: 王浩 评价内容具 体 要 求权重评 分加权分5432调查论证能独立查阅文献和从事其他调研;能提出并较好地论述课题的实施方案;有收集、加工各种信息及获得新知识的能力。0.1实践能力能正确选择研究(实验)方法,独立进行研究工作。如装置安装、调试、操作。0.2分析解决问题能力能运用所学知识和技能去发现与解决实际问题;能正确处理实验数据;能对课题进行理论分析,得出有价值的结论。0.2工作量及态度按期圆满完成规定的任务,工作量饱满,难度较大,工作努力,遵守纪律;工作作风严谨务实。0.2质量综述简练完整,有见解;立论正确,论述充分,结论严谨合理;实验正确,分析处理科学;文字通顺,技术用语准确,符号统一,编号齐全,书写工整规范,图表完备、整洁、正确;论文结果有应用价值。0.2创新工作中有创新意识;对前人工作有改进或独特见解。0.1评语或需说明的问题: 指导教师签名: 年 月 日沈 阳 工 程 学 院课程设计成绩评审表系(部): 信息工程系 班级: 学生姓名: 评价内容具 体 要 求权重评 分加权分5432资料综述材料查阅文献有一定广泛性;有综合归纳资料的能力和自己的见解。0.15课程设计质量综述简练完整,有见解;立论正确,论述充分,结论严谨合理;实验正确,分析处理科学;文字通顺,技术准确,符号统一,编号齐全,书写工整规范,图表完备、整洁、正确;论文结果有应用价值。0.5工作量难 度工作量饱满,难度较大。0.25创 新对前人工作有改进或突破,或有独特见解。0.10评语或需说明的问题: 评阅教师签名: 年 月 日摘 要本次c程序设计课程设计我小组负责手机通讯录管理系统,在菜单上显示各功能的选项。在增加功能中可按照编号、姓名、电话号码和类型等输入每个人的通讯信息。在查看时,可按三种类型如办公类、个人类和商务类等查询,并把各类型的通讯人信息列出。修改功能中,可以先选中某个人的姓名在进行数据修改,删除功能同上。在查询功能中可通过姓名和电话号码查询此人信息。而且在此次设计过程中,我小组特别地增加了一项拨号功能,在拨号时,在屏幕上渐渐显示拨的号码。关键词 手机通讯录管理系统 菜单 输入功能 修改功能 删除功能 拨号功能 查询 查看沈阳工程学院课程设计报告 目录目 录摘 要i 第1章 绪论1第2章 需求分析22.1编写目的22.2需求概述22.3需求说明2第3章 总体设计 33.1编写目的33.2总体结构33.3数据结构3第4章 流程图4第5章 详细设计55.1编写目的55.2详细设计55.3程序运行11结论13致谢14 参考文献15 沈阳工程学院课程设计报告 第1章 绪论第1章 绪 论 在本次课程设计中,本小组设计手机通讯录管理系统,而我个人负责其中的主函数和输入函数。在主函数中,主要用到了多分支语句(switch), 在无限循环时也能用到了语句for,当每一个功能使用完毕或输入错误时就会返回,再次调用菜单函数进入菜单界面。设计主函数时,还大量使用了函数的调用。在编写输入函数时,运用到了结构体指针,链表,开辟结构体空间。用比较函数,当输入的通讯人的姓名、号码相同时,系统会提示输入重复并返回。当每次输入个人通讯信息完毕后,就打开一个确定文本文档,并把它写入磁盘中,再关闭文件。因本通讯录设计只能存储十五个通讯人信息,所以当存到第十五个时,系统就会提示存储已满。这次课程设计本组分工情况如下表1-1所示:表1-1 分工情况班级计本081名称手机通讯录管理系统项目组长刘益闯组员刘益闯王浩魏红彦刘兴昊组员学号2008412107200841211020084121062008412128本人工作简介菜单模块修改模块整体衔接主函数输入模块查询模块拨号模块查看模块删除模块组长评语工作认真负责,能合理分配任务并监督帮助组员完成编程工作。对待工作认真,能及时完成任务。对c语言的理解较为透彻。能独立思考并通过讨论解决问题。程序完成的很认真、出色。模块完成及时,并能帮助大家一起解决遇到的问题,勤奋认真。1沈阳工程学院课程设计报告 第2章 系统功能介绍第2章 需求分析 2.1编写目的通过该系统实现对通讯录信息进行录入,显示,修改,插入,排序,保存等操作的管理。2.2需求分析设计一个通讯录管理系统具有以下功能查看功能:选择此功能时,列出三类选择:a 办公类、b 个人类、c 商务类;当选中某类时,显示出此类所有数据中的姓名和电话号码等详细信息。增加功能:能录入新数据 包括:姓名、电话号码、分类(参照第一个功能的分类),电子邮件等(还有其他的功能可以添加但需通过组员商量决定)。拨号功能:能显示出通讯录中所有人的名字,当选中某个名字时,屏幕上模拟打字机的效果依次显示出此人的电话号码中的各个数字,并伴随相应的拨号声音。修改功能:选中某个人的姓名时,可对此人的相应数据进行修改。删除功能:选中某个人的姓名时,可对此人的相应数据进行删除,并自动调整后续条菜单功能:至少采用文本菜单界面(如果能采用图形菜单界面更好)。查询功能:要求能通过输入姓名或者电话号码查询此人的详细信息。2.3需求说明在主界面菜单下,根据提示,选择功能操作,来实现输入通讯信息的存储、修改、删除、查看和拨号等功能。通讯录个人信息包括个人的编号、姓名、号码、类型及email等,并且要求人名、号码不能重复,录入的个人信息要求用文件形式保存,并可以进行查看、查询、修改、删除和拨号等基本操作。个人信息显示要求有一定的规范的格式。对个人信息的查询应能够按照号码和姓名两种方式来查找浏览信息。对个人信息的修改应逐个进行,而不能影响其他个人信息。2手机通讯录管理系统第3章 总体设计3.1编写目的根据需求分析文档,初步提出问题的解决方案,以及软件系统的体系结构和数据结构的设计方案并写出书面文档总体设计说明书,为下一步进行详细设计做准备。3.2总体设计该手机通讯录管理系统按功能划分可得功能模块图,如图3-1所示。图3-1 功能模块图其中:输入通讯录信息模块完成通讯个人信息的输入功能,输入信息包括个人的编号、姓名、号码、类型、email等;修改联系人信息模块完成个人通讯信息的修改功能;删除联系人信息模块完成个人通讯信息的删除功能;查询联系人信息模块完成个人通讯信息的查询,查询时对应有按号码和姓名两种方式;联系人拨号模块完成通讯人拨号功能查看联系人信息模块完成已录入个人通讯信息的显示功能;菜单选择模块完成用户命令的接受,此模块也是手机通讯录管理系统的入口,用户所要进行的各种操作均需在此模块中进行选择而调用其他模块实现相应的功能。3.3数据结构本系统中主要的数据结构就是个人通讯信息,包括个人编号、姓名、类型、号码和email等,在处理过程中各项可以作为一个人的不同属性来进行处理。第4章 程序流程系统的执行应从功能菜单的选择开始,依据用户的选择来进行后续的处理,直到用户选择退出系统为止,其间应对用户的选择做出判断及异常处理。系统的流程图如下:图4-2 手机通讯录管理系统流程图11手机通讯录管理系统第5章 详细设计5.1编写目的根据项目概要设计说明书,在项目概要设计的基础之上,对系统进行详细设计,以便下一步进行程序编码工作。5.2详细设计 1、在本次课程设计中,小组合作完成手机通讯录管理系统的程序,对应于总体设计时的系统功能模块图,各个功能系统模块的处理逻辑如下:查看功能:选择此功能时,列出三类选择:a 办公类、b 个人类、c 商务类;当选中某类时,显示出此类所有数据中的姓名和电话号码等详细信息。增加功能:能录入新数据 包括:姓名、电话号码、分类(参照第一个功能的分类),电子邮件等(还有其他的功能可以添加但需通过组员商量决定)。拨号功能:能显示出通讯录中所有人的名字,当选中某个名字时,屏幕上模拟打字机的效果依次显示出此人的电话号码中的各个数字,并伴随相应的拨号声音。修改功能:选中某个人的姓名时,可对此人的相应数据进行修改。删除功能:选中某个人的姓名时,可对此人的相应数据进行删除,并自动调整后续条菜单功能:至少采用文本菜单界面(如果能采用图形菜单界面更好)。查询功能:要求能通过输入姓名或者电话号码查询此人的详细信息。我主要负责其中的主函数和输入通讯录信息两个模块。在主函数前先定义结构体和结构体指针变量,申明菜单中各功能需要调用的函数。2、其中由我负责的主函数和输入通讯录信息模块的流程图分别如图4-3和图4-4所示。图4-3 主函数流程图图4-4 输入通讯录信息流程图3、其中我负责主函数和输入通讯录信息函数如下:void main()/*主函数开始*/ for(;) /*每次功能结束后或输入错误时,循环返回主界面*/ switch(menu_select() /*调用菜单函数*/ case 1:system(cls); /*系统清屏*/ printf(*n); printf( 输入通讯录信息n); printf(*n); head=createlist(); /*调用输入通讯录信息模块函数*/ break; /*跳出case1语句的循环*/ case 2:system(cls); printf(*n); printf( 修改联系人信息n); printf(*n); p=edit(head); /*调用修改联系人信息模块函数*/ break; /*跳出case2语句的循环*/ case 3:system(cls); printf(*n); printf( 删除联系人信息n); printf(*n); delnode(head); break; case 4:system(cls); printf(*n); printf( 查看联系人信息n); printf(*n); printlist(head); printf(按任意键返回.); getch(); /*接收输入的一个字符*/ system(cls); break; case 5:system(cls); printf(*n); printf( 输入号码拨号n); printf(*n); printlist(head); /*调用查看联系人信息函数*/ bohao(); /*调用拨号功能函数*/ printf(选择联系人号码:); break; case 6:system(cls); printf(*n); printf( 查找联系人信息n); printf(*n); p=listfind(head); /*调用查找联系人信息函数并返回指针赋给p*/ if(p!=null) /*p指针指向的地址不为空就执行下面的语句*/ printf(编号 姓名 电话 类型 e-mailn); printf(=n); printf(%st%st%st%st%sn,p-data.num,,p-data.phone,p-data.leixing,p-data.email);/*输出所查找联系人的信息*/ printf(=n); printf(查找完毕,按任意键返回.); getch(); /*接收输入的一个字符*/ system(cls); break; case 0:printf(t谢谢使用,再见!n); /*结束该系统的使用*/ return; /*返回上一语句的输出值*/ linklist createlist(void) /*输入联系人函数*/ linklist head=(listnode *)malloc(sizeof(listnode);/*开辟一个长度为listnode的内存区,并强制转换为结构体类型,把其指针地址赋给头指针head*/ listnode *p,*rear,*q;/*定义三个结构体类型指针*/ int i=0,flag=1,a; /*定义整形变量*/ char leixing; /*定义一个字符型变量*/ rear=head; /*把头指针head赋给rear*/ while(flag=1&i16时退出当前循环*/ i+; if(idata.num); printf(请输入姓名:); scanf(%s,); if(i1) fp=fopen(a.txt,rb); /*打开一个可读写的文件a.txt*/ for(q=head,a=0;anext) a+; if(strcmp(,)=0) /*比较两个字符串的大小*/ printf(输入重复!n); printf(按任意键返回.); getch(); system(cls); return; fclose(fp); /*关闭文件*/ printf(请输入号码:); scanf(%s,p-data.phone); if(i1) /*把刚输入的通讯信息写入文件中*/ fp=fopen(a.txt,rb); /*打开文件*/ for(q=head,a=0;anext) a+; if(strcmp(p-data.phone,q-data.phone)=0) printf(输入重复!n); printf(按任意键返回.); getch(); system(cls); return; fclose(fp); /*关闭文件*/ printf(类型为:1 办公类 2 个人类 3 商务类 请用序号填写n); printf(请输入类型:); scanf(%s,p-data.leixing); printf(请输入e-mail:); scanf(%s,p-data.email); printf(输入完毕,按任意键存储.n); getch(); fp=fopen(a.txt,a); /*打开文件*/ fprintf(fp,%st%st%st%st%sn,p-data.num,,p-data.phone,p-data.leixing,p-data.email); fclose(fp); /*关闭文件*/ printf(存储完毕!n); rear-next=p; /*把p的地址赋给rear的下一个*/ rear=p; printf(继续输入吗? (1/0):); scanf(%d,&flag); system(cls); else printf(存储空间已满!n); printf(按任意键进行存储.); getch(); i+; system(cls); rear-next=null; /*把空赋给最后指针的下一个*/ return head; /*返回头指针*/5.3运行程序1、运行程序,打开主界面菜单如图4-5所示。图4-5 菜单2、根据提示输入数字“1”即可打开输入通讯信息窗口,如图4-6所示。图4-6 输入通讯信息手机通讯录管理系统3、根据提示按任意键存储,打开窗口如图4-7所示,再根据提示可输入“1”继续存储,若输入“0”则回到主菜单。图4-7 存储完毕结 论很快两个星期的课程设计过去了,这次我小组负责手机通讯录管理系统的课程设计。这次实训,我感受良多,获益匪浅。经过这次实训,我深深地感觉到实践的重要性,唯有实践才能体会到更多在学习理论知识中学不到的知识。俗话说:“实践是检验真理的标准。”只有通过实训,我才发现在课程设计中,编程时有许多疑点和纰漏在平常时在草纸上编程很难找到。而且实训时,我又不断地复习和回想曾经老师讲的c语言知识要点。而曾经所学的知识终究是纸上的的知识,用到了实际生活中才有用。在课设之前,我小组先是到图书馆查找资料,在网上浏览相关网页,万事开头难啊, 以前的程序设计总是停留在之上或是简单的一些函数、数组、指针、结构体等相结合的比较容易的程序,而这次编程需要把所学的知识特别是函数的调用,指针的运用等知识综合使用。相对来说这次的课程设计的难度是相当的大的。唯有坚持不懈

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论