C语言程序设计 通讯录程序.doc

上传人:marr****208 文档编号:141791610 上传时间:2020-08-12 格式:DOC 页数:28 大小:628KB
返回 下载 相关 举报
C语言程序设计 通讯录程序.doc_第1页
第1页 / 共28页
C语言程序设计 通讯录程序.doc_第2页
第2页 / 共28页
C语言程序设计 通讯录程序.doc_第3页
第3页 / 共28页
C语言程序设计 通讯录程序.doc_第4页
第4页 / 共28页
C语言程序设计 通讯录程序.doc_第5页
第5页 / 共28页
点击查看更多>>
资源描述

《C语言程序设计 通讯录程序.doc》由会员分享,可在线阅读,更多相关《C语言程序设计 通讯录程序.doc(28页珍藏版)》请在金锄头文库上搜索。

1、 目录:课 程 设 计 任 务 书2目录:3一、目的4二、基本情况5三、时间安排5四、设计和调试过程规范化要求5五、设计内容和设计要求6六、考核方式7一 通讯录的主要功能:8一、问题描述:8二、功能要求:8三、算法提示:8四、测试数据:9二、课题的主要功能模块划分:9三、主要功能的实现10一、按名字查找显示函数 void search( )17二、快速查找函数:void qseek( )17四、程序调试:18五、总结20六、源程序21机械工程学院课程设计评分表30 前 言C语言程序设计课程设计是对学生的一种全面综合训练,它包括问题分析,总体结构设计,用户界面设计,程序设计基本技能和技巧,多人合

2、作,以至一整套软件工作规范的训练和科学作风的培养。是与课堂听讲、自学和练习相辅相成的必不可少的一个教学环节。通常,课程设计的课题比平时的习题复杂得多,也更接近实际。课程设计着眼于理论与应用的结合点,使学生学会如何把书上学到的知识用于解决实际问题,培养程序设计工作所需要的知识综合能力和动手能力;另一方面,能使书上的知识变“活”,使学生更好地深化理解和灵活掌握教学内容。为了达到上述目的,本课程设计安排了15个设计课题,训练重点在于基本的程序设计方法和分析问题的能力,而不强调面面俱到。学生选其中一题进行设计,设计完毕写出课程设计报告,用A4纸打印成册;并将课程设计报告与源程序存盘。学习委员将课程设计

3、报告与磁盘(缺一不可)收齐后交指导老师。一、目的全面熟悉、掌握C语言基本知识,掌握C程序设计中的顺序、分支、循环三种结构及数组、函数和C语言基本图形编程等方法,把编程和实际结合起来,增强对不同的问题运用和灵活选择合适的数据结构以及算法描述的本领,熟悉编制和调试程序的技巧,掌握分析结果的若干有效方法,进一步提高上机动手能力,培养使用计算机解决实际问题的能力,养成提供文档资料的习惯和规范编程的思想,为以后在专业课程中应用计算机系统解决计算、分析、实验和设计等学习环节打下较扎实的基础。二、基本情况课程类别:必修课课程学分:1学分课程学时:1周课程对象:汽服0901三、时间安排第一周 周日 上午 8:

4、0012:00 (查阅相关资料并 开始编写源程序) 第二周 周一 下午 14:0018:00 (完成源程序编写调试运行 课程设计报告)周三 上午8:0012:00 (完成课程设计报告以及答辩)四、设计和调试过程规范化要求1) 需求分析分析系统功能需求以及用户操作流程。2) 概要设计在需求分析的基础上,确定系统总体框架(系统功能结构图)。3) 详细设计定义数据存储结构,并设计实现系统功能的具体算法,画出各算法的工作流程图。4) 代码设计根据所设计的算法,定义相应函数分别实现系统的各子功能模块,同时由主程序提供友好的用户界面,使用户可通过选择主菜单来调用课程设计中要求完成的各个功能模块,子程序执行

5、完后还可以返回到主菜单,继续选择其他功能执行。源程序要求书写规范,结构清晰。重点函数的重点变量,重点功能部分均要求给出清晰的程序注释。5) 程序调试程序编译、链接成功后,自己设计实现程序功能的一组或多组测试数据,并严格按照此测试数据进行测试,然后分析测试结果。如果程序不能正常运行或结果不正确,则需对程序进行单步调试,在调试过程中认真查找算法实现中存在的问题,并加以分析和改正。如果程序能够基本正确地运行,可考虑增加若干基本的容错功能(如避免用户操作错误时程序出现死循环等);另外尽量对现有算法给出改进方案,并比较不同算法之间的优缺点。五、设计内容和设计要求1设计内容:设计与开发一个通讯录管理系统,

6、对通讯录中的姓名、单位、电话、QQ 、mail等基本信息进行管理、主要功能如下: 1)输入记录; 2)显示记录; 3)按姓名查找显示记录; 4)删除记录; 5)插入记录; 6)记录保存为文件; 7)从文件中读记录; 8)按姓名排序; 9)显示单条记录;2设计要求:1)设计正确,方案合理。2)界面友好,使用方便。3)程序精炼,结构清晰。4)设计报告5000字以上,含程序设计说明、系统的功能框图、流程图、源程序清单等。5)实际操作过程中遇到的问题及解决方法:设计总结及心得体会.6)上机演示。附:课程设计报告装订顺序:封面、任务书、目录、正文、评分、附件(A4大小的图纸及程序清单)。 正文的格式:一

7、级标题用3号黑体,二级标题用四号宋体加粗,正文用小四号宋体;行距为22。正文的内容:一、课题的主要功能;二、课题的功能模块的划分(要求画出模块图);三、主要功能的实现(至少要有一个主要模块的流程图);四、程序调试;五、总结;六、附件(所有程序的原代码,要求对程序写出必要的注释)。正文总字数要求在5000字以上(不含程序原代码)。六、考核方式指导老师负责验收程序的运行结果,并结合学生的工作态度、实际动手能力、创新精神和设计报告等进行综合考评,并按优秀、良好、中等、及格和不及格五个等级给出每位同学的课程设计成绩。具体考核标准包含以下几个部分:1) 平时出勤 (占10%)2) 系统需求分析、功能设计

8、、数据结构设计及程序总体结构合理与否(占10%)3) 程序能否完整、准确地运行,个人能否独立、熟练地调试程序(占40%)4) 设计报告(占30%) 5) 独立完成情况(占10%)。一 通讯录的主要功能:一 . 问题描述: 一 有个通讯录,要求该系统对通讯录的姓名,单位,电话,进行输入,显示 ,查找,删除,插入,保存等操作的管理。二 . 功能要求:1,本系统采用一个结构体数组,每个数据的结构应包括;姓名,单位,电话名称。 2, 本系统显示这样的菜单 请选择系统功能项 a 输入记录;b 显示全部纪录; c 查找记录; d 删除记录; e 插入记录; f 保存文件 ; g 读文件:(1)按序号显示记

9、录;(2)按姓名排序;(3)快速查找记录;(4)复制文件。 三 算法提示:1 数据结构;结构体类型数组。2 数据库结构;下表构成该系统的基本数据库。姓 名电 话单 位四 测试数据: 姓名电话单位Zhang152 二、课题的主要功能模块划分:同 学 录 输 入查 找 显 示删 除快 速 查 找记 录.保 存按姓名查找显示记录按序号查找显示记录按姓名查找三、主要功能的实现程序设计一般由两部分组成算法和数据结构,合理地选择和实现一个数据结构和处理这些数据结构具有同样的重要性,在通讯录管理程序中由于预计记录数相对于一个单位的学生人数或职工人数来说不会太大除了能够增加、删除、保存等外更多的情况是查询,且

10、能够实现快速查询。所以选用静态数组保存数据实现多种查询方式。1数据结构由于使用静态数组需要预先估计记录数,所以先预定义一个常数 M 表示记录,也就是数组的大小,记录联系人的信息至少应有姓名、单位、电话。所以定义每个数组元素的类型为结构体。由于数组存储是采用顺序存放在内存空间中占用连续空间,所以若干条记录通讯录的管理实质就是对顺序存储的线性表的管理结点结构如下:#define M 50 /*估计的记录数*/typedef structchar name20; /*姓名*/char units30; /*单位*/char tele10; /*电话*/ADDRESS; /*结构体类型名*/2main

11、()主函数程序采用模块化设计,主函数是程序的入口各模块独立。可分块调试均由主函数控制调用控制功能的实现通过循环执行一个开关语句,该语句的条件值是通过调用主菜单函数得到的返回值,根据该值调用相应的各功能函数。同时设置一个断点。即当返回值为一定条件时运行 exit()函数结束程序,以免造成死循环。 10-1图 输出界面 3 menu_select()主菜单直接利用输出函数 printf 输出字符串在屏幕上显示一个菜单并显示一个提示输入 选项输入 011 之间的数字,将此数字作为菜单函数的返回值返回主函数,主函数根据 这个数字调用相应的功能函数, 制作简便, 操作简单界面如图 10-2 所示:图 1

12、0-2 主菜单界面由于程序中很多地方用到了字符串输入语句会造成下一个字符不能正确读入为了 在程序调用执行了各个函数后能够清晰地看到菜单并输入新的选项。首先写了一条输出 信息printf(press any key enter menu.n)表示按任意键继续一条读字符语句 getch() 等待输入字符,按任意键即可进入主菜单,读者可以将这两条语句加上注释不执行来体会它的功能。按照所见即所得的方式直接设计输出函数输出字符串达到菜单效果将精力主要放在程序功能的实现上利用 do循环语句一直执行 scanf(%s ,s)语句。让用户输入 011 之间的数按照字符串形式输入。然后执行 c=atoi(s) 将字符串转化为数字,返回主函数 。如果输入范围不是 011,则循环等待重新输入。既然是数字选项为什么不用整数格式输入而要按字符串输入。再将其转换呢,如果按照整数格式输入,当用户输入了非数字字 符。例如 a 和 b 等由于类型不同将导致程序出错。所以对于不参与运算的数据表面上看是数

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 其它相关文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号