《程序设计基础》
课程设计报告。
课程设计题目。
通讯录管理系统。
指导教师:__李萍___
班级:__0903班_ _
学生姓名:2009100333_ 闫晓。
2009100334 皇倩。
2009100335 翟少平。
2009100336 谢成龙。
2009100337 姚琳。
完成日期: 2023年9月16日
运城学院计算机科学与技术系。
目录。一、课程设计目的 3
二、课程设计内容 3
三、总体设计 4
四、详细设计 4
五、调试与测试 11
c语言课程设计》
通讯录管理系统。
1、 通过课程设计,加深对结构化设计思想的理解,能对系统功能进行分析,并设计合理的模块化结构。
2、 通过课程设计,学会设计数据结构。其中包括对结构数组、链表和数据文件等知识的运用。
3、 通过课程设计,提高程序开发功能,能运用合理的控制流程编写清晰高效的程序。
4、 通过课程设计,训练c程序调试能力,能将一个中小型各级组织系统联调通过。
5、 通过课程设计,开发一个中小型系统,掌握系统研发全过程。
6、 通话课程设计,培养分析问题、解决实际问题的能力。
设计一个实用的学生通讯录管理系统,能以简便高效的方式对通讯录进行管理和检索,具体要示:
1) 录入:学生通讯录信息包括:姓名,地址,**等。以结构数组或数据文件的形式存放通讯录信息。
2) 更新:能插入、删除通讯录信息。
3) 浏览:按姓名为序进行通讯录信息浏览。
4) 查询:能实现指定联系人信息查询或指定课题组人员查询功能。
5) 系统以菜单方式工作,要求界面友好,易于操作。
模块化设计。
为实现系统功能,本程序主要分为六个模块。它们分别为:输入一个学生信息、删除一个学生信息、查询一个学生信息、插入一个学生信息、输出所有的学生信息、保存并且退出该程序。
这六个函数再通过主函数调用分别得以实现。
主函数,首先提供了程序运行时的友好界面,列出了清单,提供用户做出选择,以便决定使用通讯录的哪种功能。然后,通过执行多分支选择语句——switch语句,分别实现其它各个函数的调用功能。
其它各个函数的功能分别如下:
creat函数用于对通讯录中的数据以文件的方式。
进行读入及函数用于录入通讯录中学生的信息;
delete函数用于对通讯录中指定信息的删除;
search函数用于对通讯录中指定信息的查询;
append函数用于在通讯录中插入信息;
output函数用于对通讯录中所有信息进行浏览;
exit函数用于保存通讯录信息并且退出。
1)数据结构设计。
本程序中,运用了多种数据结构。首先对于学生通讯录中各项详细信息的记录用了结构数组的形式,然后又运用链表动态地分配内存单元,在creat函数中,把保存在数组中的值再赋值给其中的一个结点,通过指针的后移,把多个数据连成一个链,形成一个链表。在这过程当中,还运用了数据文件的方式,每一次从终端输入的数据都以数据文件的形式保存到了磁盘。
对于主要数据结构的举例如下:
结构数组:struct person
2)模块接口设计。
由于本程序中存在很多指针,所以这个程序中被调用的函数都是空类型的,但这并没有影响最终结果的输出,反而使得函数调用的过程更加简便。
本程序执行的入口是main函数,然后在main函数中首先调用了creat函数,这就实现了对通讯录中的数据以文件的方式进行读入。接下来在while语句中再套用switch语句实现对各个函数的调用。最后,再从main函数中结束整个程序的运行。
其中涉及到被调用的函数有:
void creat33();
void output34();
void search34();
void append36();
void modify35();
void delete37();
3)流程图。
creat函数:
void creat33()
struct person one;
long s1;
printf("请输入通讯簿名:")
scanf("%s",filename);
if((fp=fopen(filename,"w"))null)
fprintf(fp,"%20s%-30s%-50s","姓名","**号码","住址");
printf("请输入姓名、**号码及住址(以0结束)");
scanf("%s",while(strcmp("0"))
fclose(fp);
output函数:
void output34()
struct person one;
if((fp=fopen(filename,"r"))null)
printf("%20s","通讯簿");
while(!feof(fp))
fclose(fp);
append 函数:
void append36()
struct person one;
if((fp=fopen(filename,"a"))null)
printf("请输入添加的姓名、**号码及住址");
scanf("%s%s%s",fprintf(fp,"%10s%-20s%-50s",fclose(fp);
search函数:
void search34()
int k=0;
char namekey[8];
struct person one;
printf("请输入姓名:")
scanf("%s",namekey);
if((fp=fopen(filename,"rb"))null)
while(!feof(fp))
if(!k)
printf("对不起,通讯簿中没有此人的记录。")
fclose(fp);
modify函数。
void modify35()
int m,k=0;
long offset;
char namekey[8];
struct person one;
printf("请输入姓名:")
scanf("%s",namekey);
if((fp=fopen(filename,"r+")null)
while(!feof(fp))
if(k)else
printf("对不起,通讯簿中没有此人的记录。")
fclose(fp);
delete函数。
void delete37()
int m,k=0,flag;
long offset1,offset2;
c语言课程设计实验报告
课程设计报告。1 设计内容及要求。1.1设计内容。备忘录 主要根据课程设计要求进行设计,能够进行个人的事件记录,可以将程序使用者的时间安排,重要事件,以及个人行程等事件做出具体详细的记述,并能够使使用者在程序上完成查看时间的功能,足以使得使用者避免忘记一些重要事件,也可以为使用者带来一些便利,帮助使...
C语言课程设计实验报告
数据库课程设计实验报告。学校 东华理工大学长江学院。专业 统计学。学号 姓名 一 实验目的。编制一个程序,将屏幕垂直分成四个窗口,左上边窗口为蓝色前景,右上边窗口为红色前景,左下角窗口为洋红色前景,右下角前景为白色前景,四个窗口设置为文本输入,即在窗口中可以输入文字,在窗口屏幕中可以显示出来,使用t...
c语言课程设计实验报告
实验目的。掌握c程序设计编程环境visual c 掌握运行一个c程序的基本步骤,包括编辑 编译 链接和运行。实验要求。在报告中记录建立 保存c程序实习过程。实验基本内容。编写程序,在屏幕上显示一个短句 hello world 程序 1 编译如下程序 include void main 2 链接。执行...