专业课程设计项目说明指导书示例.doc
《专业课程设计项目说明指导书示例.doc》由会员分享,可在线阅读,更多相关《专业课程设计项目说明指导书示例.doc(11页珍藏版)》请在咨信网上搜索。
面向过程程序设计(C语言)课程设计 设计阐明书 通讯录管理系统 起止日期: 年 12 月 18 日 至 年 12月 23日 学生姓名 班级 学号 成绩 指引教师(签字) 计算机与通信学院 年 12 月 23 日 通讯录管理系统 一、 设计规定 综合运用C语言程序设计课程重要知识,设计一种用于通讯录管理程序,设计指标由程序功能规定和技术规定详细阐明。 1、 功能规定 通信录管理程序至少应具备如下功能: (1) 输入功能:能通过键盘向通信录输入数据。规定随时都能使用该项功能实现记录输入,一次可以输入一条记录,也可以输入多条记录。所谓一条记录,是指通信录中一种人员完整信息。 (2) 显示功能:能显示通信录存储记录信息,在显示时能提供下列显示方式: ①按自然顺序显示。即按照向通信录输入数据时各条记录先后顺序,显示通信录中已有记录信息。 ②按照一定排列顺序显示通信录信息。排序顺序有各种,如按姓名查询、按所在都市查询,任何一种查询都要有明确查询成果。 (3) 查询功能:能查询通信录信息。规定至少提供两种查询方式,如按照姓名查询、按所在都市查询,任何一种查询都要有明确查询成果。 (4) 修改功能:能对通信录存储信息进行修改。规定至少提供两种修改方式,如按照姓名修改、按照通信录记录序号修改。记录序号是通信录记录自然顺序编号。 (5) 删除功能:能对通信录信息进行删除。规定删除时以记录为单位,既能一次删除一条记录,也能一次删除多条记录。 (6) 保存功能:能将记录保存在任何自定义文献中,如保存在:c:\score。 (7) 读取功能:能将保存在文献中记录读取出来,并在屏幕上显示。 (8) 通信录管理结束后,可以正常退出通信录管理程序。 2、 技术规定 (1) 每个通信录记录至少涉及如下信息:姓名、电话、所在都市、所在单位、年龄、备注等。 (2) 通信录信息以磁盘文献形式存储,存储位置、文献名、文献格式由设计者拟定。 (3) 对于通信录功能中数据输入、显示、查询、修改、删除、保存、读取等功能,规定编写功能独立函数或主控函数予以实现,其所属各项功能尽量由独立函数实现。 (4) 以菜单方式实现功能选取控制。 (5) 本通信录管理程序可以实现100条记录管理。 二、 程序功能设计 依照题目功能规定,设计通信录管理程序功能如图1所示。 通讯录管理功能框图 通信录信息输入 通信录信息显示 通信录信息查询 通信录信息修改 通信录信息删除 按自然顺序显示 建立通信录文献 按排序顺序显示 按姓名查询 按都市查询 浏览显示信息 编辑修改信息 按姓名删除信息 按序号删除信息 按姓名排序显示 按都市排序显示 图1 通信录管理程序功能图 各功能详细阐明如下: 1、 通信录信息录入 (1) 通过显示信息项目,逐项输入通信录记录信息。 (2) 每次输入记录后,通过询问方式决定与否继续进行记录输入。因而,使用该功能既可以录入一条记录,也可持续录入多条记录。 (3) 每次录入记录之前,显示通信录中已有记录数。 2、 通信录信息显示 (1)按自然顺序显示,即以通信录文献中记录顺序为序,逐个对文献记录进行显示。 (2)按排序顺序显示,即对通信录中记录进行排序后,再按照排序成果显示出来,但不论使用何种排序算法,排序显示不能变化通信录记录物理顺序。 (3)当通信录信息较多时,实行分屏显示,每屏最多显示20条记录信息。 (4)显示记录时,对每一条记录增长与显示顺序一致序号。 3、 通信录信息查询 (1)提供按姓名查询和按都市查询两种查询方式。 (2)查找成功后显示每一条符号条件记录完整信息,当一屏不能完毕显示时,实行分屏显示,每屏最多显示20条符合条件记录信息。当找不到符合条件记录时,给出相应提示信息。 4、 通信录信息修改 (1)按照指定记录序号,对通信录记录进行修改。一方面显示指定记录当前数据,然后通过重新输入该记录数据办法,完毕数据修改操作。 (2)为以便确认记录序号,该功能项同步提供通信录记录浏览功能。 5、 通信录信息删除 (1)提供按姓名删除和按序号删除两种方式,当找到指定记录时,进行删除操作。找不到指定记录时,给出相应提示信息。 (2)所有删除均为物理删除,即将制定记录从通讯录文献中彻底清除掉。 6、 建立通讯录文献 第一次使用通讯录管理程序时,用于建立存储通讯录信息文献。 三、 程序数据设计 (1)每个通讯录记录由各种不同数据项构成,是一种构造体数据,因而需要定义构造体数据,因而需要定义构造体数据类型。依照题目规定,拟定每个记录涉及数据项目为:姓名、电话、所在都市、所在单位、年龄、备注等。据此定义如下构造体数据类型: Struct record { Char name[20] / /姓名 Int age; / /年龄 Char tele[15]; / /电话号码 Char city[20]; / /所在都市 Char units[30]; / /所在单位 Char note[20]; / /备注 }; (2)考虑到struct record是通讯录管理程序中通用数据类型,将在各种函数中使用,故将其在头文献中定义。 (3)使用文献address.txl 存储数据类型为stuct record通讯录数据。 四、 程序函数设计 1、 函数功能描述 (1)main()函数 通讯录管理程序主函数,实现程序功能主菜单显示,通过各功能函数调用,实现整个程序功能控制。 (2) append()函数 函数原型为void append(),是输入数据函数,它实现通讯录数据键盘输入。 (3)display()函数 函数原型为void display(),是显示通讯录信息主控函数,它实现显示功能菜单显示,并进行不同显示功能函数调用,以实现程序显示功能。 (4)locate()函数 函数原型为void locate(),是查询通讯录信息主控函数,它显示查询功能菜单,并依照查询规定,进行相应函数调用,以实现查询查询功能。 (5)modify()函数 函数原型为void modify(),修改通讯录信息主控函数,它显示查询功能菜单,进行相应函数调用,以实现程序修改功能。 (6)dele()函数 函数原型为void dele(),是删除通讯录记录主控函数,它显示删除功能菜单,并依照删除规定,并进行相应函数调用,以实现程序修改功能。 (7)disp_arr()函数 函数原型为void disp_arr(struct record[],int),功能是显示struct record型构造体数组所有数据,其第二个参数是构造体数组长度。这里构造体数组相应于存储通讯录文献address.txl数据,数组长度相应于通讯录文献记录数。 (8)disp_name()函数 函数原型为void disp_row(struct record),功能是显示一种struct record型构造体数据,disp_arr()函数进行数组输出时,每一种数组元素都调用disp_row()函数实现输出。 (9)sort()函数 函数原型为void sort(struct record[],int),是排序主控函数,它显示排序功能菜单,并依照显示排序规定,进行相应函数调用,以实现程序排序显示功能。 (10)sort_name()函数 函数原型为void sort_name(struct record[],int),功能是对struct record型构造体数组实现按姓名排序操作。 (11)sort_city()函数 函数原型为void sort_city(struct record[],int ),功能是对struct record型构造体数组实现按都市排序操作。 (12)modi_seq()函数 函数原型为void modi_seq(struct record[],int),功能是对struct record型构造体数组实现按序号修改操作。 (13)dele_name()函数 函数原型为void dele_name(struct record[],int*),功能是对struct record型构造数组实现按姓名删除操作。 (14)dele_sequ()函数 函数原型为void dele_sequ(struct record[],int*),功能是对struct record型构造体数组实现按序号删除操作。 (15)disp_str()函数 函数原型为disp_str(char,int),功能是输出n个字符,用于菜单字符显示,每一种有菜单显示功能函数都调用该函数。 (16)disp_table()函数 函数原型为void disp_table(),功能是显示一行表头,用于输出记录时标题显示。 (17)creat()函数 函数原型为void creat(),功能是建立存储通讯录信息文献address,txl。 2、 函数直接调用关系 (1)main()函数直接调用函数:disp_str()函数、append()函数、display()函数、locate()函数、modify()函数、dele()函数。 (2)append()函数直接调用函数:无。 (3)display()函数直接调用函数:disp_str()、disp_arr()、sort()。 …… ……。 五、 程序编码及调试 1、 头文献address.h设计 头文献address.h包括如下信息: (1) 通讯录记录构造体类型定义。 (2) 通讯录管理程序中使用C语言系统宏包括命令。 (3) 通讯录管理程序中自定义函数原型声明。 (4) 通讯录管理程序中使用构造体数组长度。 下面是头文献address.h详细内容: #define M 100 用于定义构造体数组长度 如下是通讯录管理程序所用系统头文献宏包括命令 #include “stdio.h” #include”stdib.h” #include”string.h” 如下是构造体数据类型定义,与通讯录记录数据项相似 struct record { char name[20]; / / 姓名 int age; / /年龄 int tele[15]; / /电话号码 char city[30]; / /所在都市 char units[30]; / /所在单位 char note[20]; / /备注 }; / /如下是顾客自定义函数声明 void creat(); / /建立通讯录文献函数 void append(); / /输入数据函数 void siaplay(); / /显示通讯录文献函数 void locate(); / /查询通讯录主控函数 void modify(); / /修改通讯录主控函数 void dele(); / /删除通讯录主控函数 void disp_arr(struct record*,int); / /显示数组函数 void disp_row(struct record); / /显示一种记录函数 void disp_table(); / /显示一行表头函数 void modi_seq(struct record [],int ); / /按序号编辑修改记录函数 void disp_str(char,int ); / /显示N个字符函数 void sort(struct record[],int ); / /排序主控函数 void sort_name(struct record[],int); / /按姓名排序函数 void sort_city(struct record[],int ); / /按都市排序函数 void dele_name(srtruct record[],int*); / /按姓名删除记录函数 void dele_sequ(struct record[],int*); / /按序号删除记录函数 以上为头文献address.h所有内容该头文献在通讯录管理程序开头位置用 include命令包括,宏包括命令为 #include”address.h”。 2、 main()函数编码及调试 main()函数是通讯录管理程序主控函数,它设计调试需要重复多次。在开始时,将它所有被调用函数都设计为简朴字符串输出函数,以设计调试main()函数菜单控制功能。然后,每实现一种主功能(输入、显示、查询、修改、删除、新建)函数,都对main()函数调用和菜单控制功能进程调试。 (1) main()函数代码 (2) disp-str()函数代码 (3) main()函数调试 3、 create()函数编码及调试 create()函数功能是建立通讯录文献,该函数不调用其她自定义函数。执行该函数,将重新建立存储通讯录信息文献address.txl。 (1)creat()函数代码 void creat() // 建立通讯录文献函数 { FILE*fp; if((fp=fopen(*address.txl”,”wb”))==NULL) //建立通讯录文献address.txl { printf(“can’t open file!\n); retuen; } fclose(fp); printf(“\n\n文献成功建立,请使用“通讯录信息输入功能”输入信息!”); getchar(); return; } (2)函数功能调试 create()函数没有调用其她函数,编写完毕后即可进行函数功能调试。在主菜单选取“建立通讯录文献”功能,若屏幕显示如下信息,则函数设计成功。 显示信息:文献成功建立,请使用“通讯录信息输入功能”输入信息! 4. …….. 六、 总结 附:同构成员姓名:- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 专业课程 设计 项目 说明 指导书 示例
咨信网温馨提示:
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【快乐****生活】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【快乐****生活】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【快乐****生活】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【快乐****生活】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
关于本文