C语言课程设计告-教务管理程序
C语言课程设计报告
题目:教务管理程序
该程序是一个简单的教务管理程序. 它可以录入多个班级的同学的基本情况:学号、姓名、性别、年龄、宿舍号码、电话号码, 同时还可以输入每个同学的各门功课的成绩, 并且能够将所有学生的基本情况和各课的成绩作适当修改和删除以及统计,同时能够将各班的总的成绩情况输出.
一:数据结构设计及用法说明
在整个程序中采用了多种数据结构,包刮有基本类型中的:
1:整型int 、char、long。
2:浮点型:double、float。
3:导出类型:指针、数组、结构(struct)。
程序中的几个主要的结构:
/*定义数据结构类型*/
typedef struct {
long num; /*学号*/
char name [15]; /*姓名*/
char sex; /*性别*/
int age; /*年龄*/
int m; /*学生在班级中的位置标志*/
int n; /*班级号*/
long room_num; /*宿舍号码*/
long tele_num; /*电话号码*/
sco score[10]; /*成绩结构数组*/
float k; /*平均成绩*/
}stud;
/*支链结点*/
struct branchnode{
stud student;
struct branchnode * next;
};
/*主链结点*/
struct mainnode{
int data;
struct mainnode * trunk;
struct branchnode * branch;
};
程序中建立了多个函数分别来完成每个所要求的功能:
读文件和写文件函数,建链表函数,插入、修改和删除函数,排序、统计和输出
函数.
程序利用各个函数来完成前面要求所需要的功能。
二:程序结构
-----
------
…
-----
null
程序调用图:
三:各个函数所实现的功能
zuoye1 --------------------录入学生的基本情况
zuoye2---------------------插入某个学生的基本信息
zuoye3------------------ --修改某个学生的基本信息
zuoye4---------------------删除某个学生的基本信息
zuoye5---------------------删除某个班级的基本信息
zuoye6---------------------登记各班学生各门功课的成绩
zuoye7---------------------修改各班学生各门功课的成绩
zuoye8---------------------统计每个学生的平均成绩并排序
zuoye9---------------------统计各班各门功课的平均成绩
zuoye10---------------------列出不及格学生清单
show---------------------显示当前学生情况和成绩
四.实验结果;(见程序运行)
五:体会:
做完这个c 语言程序设计的作业,我学会了很多新知识,对c语言有了更进一步的了解.
开始时,我想用结构数组来做这个程序,但后来我发现用做它,修改数据和读取数据都显得很方便.于是,相比较之下,我便选择了十字链表.
另外,通过对文件的使用,我了解到c语言可以对硬盘上的文件直接操作,既简单又方便.
当然,编程时也会遇到一些困难,最令人头疼的莫过于程序运行时出错了.有时 哪怕是一些很小的错误经常能导致难以预料到的后果,因此,编程时我尽量做到一丝不苟,不敢有丝毫疏忽.
通过这次c语言编程的练习,我的编程水平有了进一步的提高,同时也使我对编程有了一个更清醒的了解和认识.
六,程序清单。
# include
#include
#include
#include
struct branchnode;
struct mainnode;
char subj[15];
ty