c语言班级电话簿
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一、程序设计目的
1.熟悉C语言的编译,链接和运行过程;
2.掌握C语言的数据类型,熟悉整型、实型、字符型变量的定义方式及如何给
它们赋值,掌握不同的类型数据之间的赋值规律,赋值使用方法;
3.掌握if语句及switch语句的运用方法及嵌套应用方法;
4.掌握实现循环结构的三种语句while、do-while.、for 的使用;
5.掌握C语言函数的定义,声名及调用方法和调用过程;
6.掌握C语言主函数和被调用函数之间的参数传递方式,学会函数的嵌套调用
和递归调用的过程和方法;
7.掌握数组的定义,赋值引用及输入输出方法,并正确用字符数组储存字符串,
学会字符串的使用;
8.掌握结构体类型变量的定义和使用;
9.掌握指针变量和指向指针的指针变量的定义及使用,进一步了解指向结构体
数组的指针变量的概念及使用方法;
10.掌握链表的概念及链表的操作,并理解链表与数组的不同点及优缺点;
11.掌握文件和文件指针的定义及文件建立,打开,关闭,读写等的操作方法
12.能够采用模块化思想调试程序;
二、程序设计内容
1.编写程序并进行调试运行;
2.输入学生通讯信息并保存于文件,每个学生包含信息如:序号,姓名,省份,
电话,生日,邮编,大学,班级,QQ号信息;
3.对已存入的学生信息进行更新操作,包括添加一个学生信息、删除某个学生信
息和修改某个学生信息;
4.通过输入姓名,学号的方式查询学生信息;
5.可以通过省份,生日来统计通讯信息;
6.最后输出学生信息,供需要时打印。
三、需求分析
1.该程序可用于对学生的通讯方式基本信息的存储、更新、查询、输出等操作,
以实现对学生通讯录信息的管理,便于同学之间的联系交往;
2.其中更新功能包括:添加信息,删除信息,修改信息,可根据需要添加一个
或多个学生信息,也可针对个别学生信息进行适当的删除或修改,以便随时更新学生通讯信息。
3.程序中设计的查询功能可根据需要从若干数据中查询某个学生信息,并且可
根据两种不同的方法查询:按姓名查询和按电话查询,以满足不同的需要;
4. 可以通过输出的方式查看整个通讯录;
5. 可以通过排序的方式查看同学生日的先后。
四、程序框架与功能模块设计
1、方案设计
对系统进行分析,给出结构图
分析:系统要实现许多功能,因此遵循结构化程序设计思想来进行本系统的设计:—,自顶向下逐步细化,将系统设计任务分解出许多子功能模块来计;
结构图如下:
2 . 模块功能说明
对各个模块进行功能的描述
(1).输入模块:
录入需要管理的通讯信息并将信息保存于文件中,以方便日后进行打印、读取、更新等操作。
(2).添加模块:
可添加一个或多个学生的通讯信息,并将所添加的信息保存,方便查找。
(3).删除模块:
可对失去联系的学生通讯信息做删除处理。
(4).修改模块:
可对通讯信息发生改变的学生信息进行修改。
(5).查询模块:
可对已建立的学生通讯信息进行查询,并且可根据需要选择按姓名查询或按电话查询。
(6).保存模块:
用于对通讯信息进行保存。
(7).输出模块:
将所有学生通讯信息或想要查询的学生信息显示于屏幕,用于打印学生通讯信息或查找某些学生通讯信息。
(8).退出系统:
选择该项,自动退出该系统。
五、程序详细设计
流程图,函数之间相互调用的图示,程序设计及编码, 运行结果。
输入模块:输入模块:
排序模块:更新模块:
六、总结与体会
1.对自己设计进行评价,指出合理和不足之处,提出改进的方案。
此次实践课编写的是一个应用程序,相对于以前我们见到的程序,它要大得多,运行的结果也没有预想中的好,数据的输出格式不太规范,而且各模块也出现了一些小问题,在同学们的帮助下,我很有耐心的一次又一次的进行修改,最后运行的结果基本上达到了预期的目的。可着毕竟是第一次独立完成这样的大程序,结果还不是太理想。
由于时间很短,在选题报告中设想到的好多功能都没有实现。已有的那些功能虽已能基本上满足用户的需要,但如果还有更多的功能程序就会更加完美。如:再录入数据时,没有设计数据输入出错的提示。
2.在设计过程中的感受。
本次C 语言的实习课让我对C 语言的学习又有了更深入的了解,也让我更深刻地领悟到了“实践出真理”这个道理,在上机实践过程中学到的知识远远超过了在课堂上十几周学到的,学校组织的这次实习让我们这些实践知识匮乏
的大学生增添了许多社会经验,为我们将来走上工作岗位其了不小的铺垫作用。
本次实习中遇到了很多以前没有遇到过的问题,也曾想过要放弃,但看到那些同学都在那认真的写程序,给了我继续的信心。在同学的帮助下,我顺利的结束了本次实习,让我知道原来凭借自己努力取得的成功会让自己这么欣慰,也让我知道了友谊和团结的重要性。并且,通过一种题材两中方式的学习,我掌握了更多的知识,也认识到对比学习的重要性。
八。附录:
1.链表方式:
#include
#include
#define N sizeof(struct stud)
#include
#include
#include
/*日期结构体类型*/
struct date
{int y;
int m;
int d;
}bir;
/*学生信息结构体类型*/
struct stud
{
int num; /*序号*/
char name[20]; /*姓名*/
char tel[40]; /*电话*/
char addr[40]; /*省份*/
char yb[20]; /*邮编*/
char daxue[50]; /*大学*/
struct date bir; /*生日*/
struct stud *next;
};
char a;