文档介绍:程序设计基础
课程设计报告书
设计题目通讯录程序设计姓名
专业班级信管10-01
学号
指导教师
成绩____________________
工商管理学院信息管理系
2011年4月
一、引言 2
二、系统功能和原始数据 3
三、程序总体设计 3
四、功能模块函数设计和调试 5
五、程序清单 11
六、课程设计总结 17
七、参考资料 17
一、引言
为了系统的运用C程序设计方面的知识,考察自身知识结构上的不足,巩固程序设计基础,我做了一个通讯录管理系统。我觉得它的综合性比较强,不仅能运用到初级设计的顺序,选择,循环等的结构,同时还可以体现c语言的特色,比如说指针、结构体、共用体、文件。通讯录中涉及到的电话号码是整形数据,而姓名则是字符型的,同时邮箱又是整形和字符型数据的混合使用。有利于加强对数据类型的掌握。
通讯录要求的基本功能是:;;;;;
(1).其中录入、添加、删除可用数组和文件共同完成,最终将数据储存在磁盘上,而不是内存中。
(2).数据的浏览浏览可用循环和fread函数。
(3).数据的查询用字符串函数中的strcmp
其中大部分功能都是由调用函数实现的,这使得整个系统高度的模块化,有利于系统的维护和后续功能的扩展,同时尽量考虑使用过程中存在的问题并添加相应的提示,使得整个系统非常的智能化;另一方面,运用常见的格式控制和特殊的格式控制使得操作界面简洁明了。
理论上操作界面可以直接切换,但是本程序设计中由于模块化的设计致使操作界面只能够靠循环来实现了,与理论设想相差一步。
二、系统功能和原始数据
原始数据
系统功能
1).新建联系人
2).添加联系人
3).修改信息
4).删除一项或者多项
5).整体浏览
6).利用姓名或者电话号码查找联系人
三、程序总体设计
(1).数据结构
1).整形(包括int和unsigned)
2).字符型
(2).模块划分和层次结构
通讯录管理系统
数据录入
数据添加
数据修改
数据查找
数据删除
浏览
(3).函数原型清单
1)主函数main()
2)菜单函数menu()
3)数据输入函数enter()
4)数据添加函数add()
5)数据修改函数modify()
6)记录浏览函数browse()
7)数据删除函数deleter()
8)数据查找函数search()
9)库函数scanf()、printf()、getchar()、puts()、exit()
11)处理文件的函数fopen()、fclose()、fread()、sizeof()
12)处理字符串的函数strcmp()
(4)程序总体框架
Main
Menu
Enter
Add
Browse
Search
Modify
Deleter
Exit
(5)程序组织
四、功能模块函数设计和调试
1).输入模块
作用:信息的录入
输入新建的个数n
nn
J=1
J<=n
姓名,籍贯,电话,邮箱
箱
save()
J++
menu()
2)添加模块
作用:完成系统数据的后续添加
输入添加的个数t
nn
i=1
i<=t
姓名,籍贯,电话,邮箱
箱
save()
i++
menu()
t<=N-n?
提示错误
3)数据修改模块
作用:可对存入记录的姓名、籍贯、联系电话1、联系电话2、邮箱进行修改并保存
strcmp( )=0?
c
姓名
籍贯
电话号码1
电话号码2
邮箱
输入正确数据
save()
menu
提示错误
4).数据查找模块
作用:通过姓名或者联系电话1、联系电话2查找其他信息
int w ,c struct people s
输出“1代表姓名,2代表电话号码”
输入w
w=1?
输出姓名、籍贯、电话1、电话2、邮箱
1代表电话1
输入c
c
strcmp()=0?
strcmp( )=0?
否
是
是
提示错误
提示错误
5)数据删除模块
作用:通过对文件的操作删除通讯录中的数据
输入想删除的姓名
i=1
strcmp()=0?
people[i]=‘0’
save()
i<=n
i++
是
删除完毕
无此记录
否
6)数据浏览模块