C语言课程设计报告书 下载本文

(此文档为word格式,下载后您可任意编辑修改!)

高级语言程序设计课程设计报告

系 部 名 称

学生姓名 专业名称 班 级 学

电子与信息工程系

电子信息工程

指导教师 时

实验题目

学生信息管理系统

一、实验目的

1.熟悉C语言程序的编辑、编译链接和运行的过程,至少能够用一种编译器较熟练地编辑、编译及调试程序。

2.掌握C语言数据类型,如何定义一个整型、字符型和实型的变量,以及对它们赋值的方法。

3.熟练运用if语句和switch语句以及嵌套应用。涉及循环调用的,了解并掌握三种控制语句while、do-while和for语句。

4.学习并掌握C语言定义函数的基本方法、声明函数及调用函数的方法和过程。

5. 掌握文件和文件指针的概念以及文件的定义方法,认识文件打开、关闭、读、写等文件基本操作函数。

6.掌握结构体类型变量、数组的定义和使用。

7.了解指针和链表的概念,掌握指针的定义和使用指针变量的方法以及链表的正确用法。灵活使用链表来储存学生信息。

8. 掌握数组的定义、引用以及输入输出的方法、通过字符数组存储字符串,进一步使用字符串

二、实验内容

学生管理程序具有下列功能: 一、输入部分

通过键盘输入多位学生的学生信息。学生的信息包含有: 学生姓名、性别、学号、出生年月日、年龄、成绩。

二、输出部分

输出当前已存储的学生信息 三、更新部分

此部分分为了三个目录:

①插入 让用户自定义在哪个学生的左侧插入一个新的学生的信息 ②删除 删除用户指定的学生信息 ③修改 修改用户指定的学生信息 四、查询部分 分为两个目录

①按名字查询 输出用户查询的学生信息 ②按学号查询 输出用户查询的学生信息 查询用户指定的学生信息 五、排序

此部分分为了两个目录: ①按学号排序 ②按成绩排序 六、统计

此部分也分为了两个目录:

①统计当前一共存储了多少个学生的信息

②统计当前存储的学生信息中的男生或女生的人数 ③统计及格人数 ④统计不及格人数 七、释放

开发工具—-Win-TC

运行平台——中文DOS运行环境

三、需求分析

一、函数功能描述

⑴输入部分

通过键盘输入多位学生的学生信息。学生的信息包含有: 学生姓名、性别、学号、出生年月日、年龄、成绩。/*此次做的学生管理系统是利用链表而完成的程序,故第一部分想要实现建立链表*/ ⑵、输出部分

输出当前已存储的学生信息 /*通过链表的头结点的地址来依次输出每个结点中的值域中的内容,直至尾结点来实现输出学生信息*/ ⑶、更新部分

此部分分为了三个目录:

①插入 让用户自定义在哪个学生的左侧插入一个新的学生的信息 /*这部分的功能是让用户自定义插在哪个个学生左边,并输入该学生的学号,找到其在链表中存储的结点处插入一个新的结点,而这个新的结点的中的值域存储的是一个新的学生信息,从而实现插入一个新的学生信息*/

②删除 删除用户指定的学生信息 /*这部分的功能是输入学生的学号,找到其在链表中存储的结点处,并将这整个结点删除,再把该结点的前驱结点和后驱节点连接,来实现这个学生信息的删除*/

③修改 修改用户指定的学生信息 /*这部分是利用输入学生的学号,来找到存储该学生信息的结点,通过该结点的链域来修改其中的值域,来实现对学生信息的修改*/ ⑷、查询部分

查询用户指定的学生信息

①按名字查询 输出用户查询的学生信息/*这部分是利用输入学生的姓名,来找到存储该学生信息的结点,输出该结点的值域中的内容,来实现对学生信息的查询功能*/ ②按学号查询 输出用户查询的学生信息/*同上,只是查询条件为学号 */ ⑸、排序

此部分分为了两个目录:

①按学号排序 /*此部分程序设计较为复杂,但大致是通过对链表中个结点的值域比较,按小到大的顺序排序,但必须要修改相应的链域,才能实现排序的功能*/

②按成绩排序 /*此部分和大致内容和按学号排序一样,但不同的是,此处是按大到小的顺序排序*/ ⑹、统计

此部分也分为了两个目录: