100字范文,内容丰富有趣,生活中的好帮手!
100字范文 > 毕业设计c语言课程设计 毕业设计_c语言_课程设计.doc

毕业设计c语言课程设计 毕业设计_c语言_课程设计.doc

时间:2018-10-17 20:14:27

相关推荐

毕业设计c语言课程设计 毕业设计_c语言_课程设计.doc

毕业设计_c语言_课程设计

课 程 设 计 报 告

课程名称 C语言程序设计 课题名称 通讯录管理系统 专 业 汽车服务 班 级 0901班 学 号 座机电话号码0114 姓 名 伏铄臻 指导教师 王宁 陈多 9月12日

湖南工程学院

课 程 设 计 任 务 书

课程名称 C语言程序设计 课 题 通讯录管理系统 专业班级 汽车服务0901 学生姓名 伏铄臻 学 号 座机电话号码0114 指导老师 王宁 陈多 审 批 王宁 陈多 任务书下达日期 9月 12 日

任务完成日期 9月 13日

通讯录管理系统

通讯录管理系统要求分析及其主要功能

1、问题描述:

通过该系统实现对通讯录信息进行录入、显示、修改、删除、插入、排序、保存等操作的管理。

2、功能要求:

1)、本系统采用一个包含N个数据的结构体数组,每个数据的结构应当包括:编号、姓名、电话号码。

2)本系统显示这样的菜单:

请选择系统功能项:

通讯信息录入

通讯信息显示

通讯信息保存

通讯信息删除

通讯信息修改

通讯信息查询

按编号查询

按姓名查询

按电话号码查询

g. 退出系统

3)、执行一个具体的功能之后,程序将重新显示菜单。

4)、将通讯信息保存到文件中。

3、算法提示:

1)、数据结构:结构体类型数组

2)、数据库结构:下表构成该系统的基本数据库。

编号姓名电话号码charchar Char4、测试数据:

纪录数20

5、其它 对该系统有兴趣的同可以在实现上述基本功能后,完 善系统的其它功能

功能模块的划分

系统功能模块图:

录入:可以添加通讯录记录,依次输入编号、姓名、电话号码后,会提示是否继续添加。

显示:可以以横排形式输出所有通讯录里的记录

删除:输入欲删除的那个人的名字后,会自动删除他(她)的记录内容

查询:可以选择用姓名、电话、编号三种方式查询

修改:输入欲修改的那个人的名字后,再依次输入编号、姓名、年龄、电话号码、即可完成修改

保存:,输入文件名(带后缀名)后,即可将通讯录信息保存到文件

主要功能的实现

详细设计

主函数 voide main 通过主函数main 利用无限次循环结构for(;;)和switch()结构实现各函数的调用。系统根据数字选项来调用函数。

菜单选择函数 int menu_select 这是一个无参函数,主要实现“功能选择”的界面,在这个界面里有显示系统的九大功能,根据每个功能前面的序号进行选择。等执行完每一个函数功能后,再自行返回该函数。

输入记录函数 int Input 这是一个无参函数,用数组函数输入所需记录人员的信息。用字符sign来标记是否将继续记录输入信息。

显示记录函数Display ;

此函数利用for循环从输入第一个人的信息至最后一个人的信息全都显示出来。使用if语句。

删除记录函数Delete_a_record 用比较字符串处理函数strcmp 逐一比较输入的字符串,是否相同,无相同,则显示无此人,若输入的字符串和s【】中的某一个相同,则用函数strcpy ,只取字符串1的地址,即删去了字符串2的内容,从而删除记录。流程图如图一。

查询记录函数Query_a_record 该函数先用while循环来判断查询方式是否正确,再用if语句来判断输入的m的值,从而选择查询方式。如姓名查询,同样用strcmp 函数将输入的姓名与s【】比较,若匹配则显示此人信息,不匹配则显示无此人。其它查询方式类似。

流程图如图二所示。

修改数据函数Change 该函数先是调用strcmp 函数进行匹配,若无匹配显示无此人,若有则对该人的信息通过scanf 重新记录,即对该人信息进行修改。

保存数据函数WritetoText pe,n

通过文件指针来保存所要保存的文件。

四、程序调试

程序调试与分析

在程序运行前总有一些错误或警告,最开始显示主菜单函数后,当进入其他功能项时主菜单在TC屏幕上消失,后了解到用system “c\s 可以控该现象使主菜单一直显示。与此相似的还有system “pause” 都是 有关的函数。

文件的保存没有涉及了解,经过查寻料了解到 fp fopen filename,"w" NULL 这句话是说打开文件, 打开只写文件,若文件存在则文件长度为0,即该文件消失,若文件不存在则建立该文件。而fprintf是写数据到打开的文件中,调试过程中经常因排版不太整齐而多次去修改,Printf和字符所在宽度影响排版。

在通讯信息查询这一模块中,特别是对按编号查询这一项与电话查询和姓名查询不一样不能用strcmp 函数配对查找因为没有留意字符串数组来定义数编号。运行时程序出现了错误后经该正将子符串

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。