当前位置: 代码迷 >> C语言 >> [求助]C语言设计一个简单的学籍管理问题,怎么解决?
  详细解决方案

[求助]C语言设计一个简单的学籍管理问题,怎么解决?

热度:502   发布时间:2007-07-08 15:08:49.0
[求助]C语言设计一个简单的学籍管理问题,怎么解决?





一、 题目:设计一个简单的学籍管理系统,具有基本的功能:插入、删除、查找和统计。

二、 设计任务

题目1:设计一个简单的学籍管理系统,具有基本的操作功能:插入、删除、查找和统计。

1、1数据结构

用4个结构数组(或链表)来存储下述4类学籍信息,每类信息的每条记录用结构类型自定义:

1.学生信息:学号、姓名、性别、出生日期、地址

2. 课程信息:课程号、课程名、学分、学时

3.专业信息:专业号、专业名称

4.课程成绩:学号、课程号、成绩

1、2 设计要求

1. 对以上每类信息建立数据结构

2. 对以上每类信息进行插入操作

3. 对以上每类信息进行删除操作

4. 对以上每类信息进行查找操作(查找关键字用下划线标出)

5. 数据统计;

(1) 某个学生选修的课程

输入:学号(或学生姓名)

输出:学生姓名、课程名称

(2) 统计某个学生的总学分:

输入:学号(或学生姓名)

输出:总学分

(3) 统计某专业在某门课程上的平均成绩:

输入:专业号、课程号

输出:平均成绩

1、3 设计成果

1. 源程序和可执行文件

2. 设计文档

要求:

(4) 数据结构说明

(5) 主要算法的流程图

(6) 使用说明

(7) 测试数据

(8) 结论及心得

作业的做法:

学号的构成:年级_专业_类别_班级_序号,在本作业中没有班级,学生序号按照专业编排,构成如下:03021113――03是指2003级,021是第021号专业,113是这个专业这个年级第113号同学。这需要一个长整型数来表示。

如何拆分这个数字得到专业号?设专业号是y,学号是x,可以按照下面方法计算: y = x/1000 - (x/1000000)*1000

这是利用整型变量余数自然丢失的原理进行的。


对于:学生信息、课程信息、专业信息、课程成绩;这四个信息的插入、删除和查找操作的程序是相似的。基本上可以有三种方法:

1、 链表,这是存储效率和运行效率最高的方法,利用动态存储的方法进行。即用malloc函数建立新的存储单元,用free函数删除单元。利用指向下一个结构变量的指针建立链条。

2、 结构数组,这种方法将一类信息定义为一个结构类型,再用这个结构建立一个结构数组,它的缺点是只能存有限的单元,而且无论实际上单元有多少个,都要占用同样大小的空间;运行效率也比较低下。

3、 将单个信息列数组,即将学号、姓名、性别、专业等都单独建立数组,这个方法最笨,它具有方法2所有的缺点,而且软件维护和阅读困难,不便于理解。

搜索更多相关的解决方案: C语言  学籍管理  设计  

----------------解决方案--------------------------------------------------------
谁能帮帮我啊…………可以加我的QQ:80708252 邮箱:yangpeikai@yahoo.com.cn
----------------解决方案--------------------------------------------------------
请参考:http://bbs.bc-cn.net/viewthread.php?tid=149760
----------------解决方案--------------------------------------------------------
  相关解决方案