教务信息管理系统课程设计报告

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

《高级语言程序设计》课程设计

教务信息管理系统

题目:

班级:软件R7班

学生学号:201231001015

学生姓名:麦建波

指导老师:姚金涛

提交时间:2013年5月6日

华南农业大学软件学院

教务信息管理系统

1. 系统分析

1.1 问题描述

本程序为教务信息管理系统,通过输入学生的相关信息,对数据进行处理和统计,并按需要输入统计处理后的数据到文件中。

1.2 系统功能

(1)录入如下信息:

学生基本信息:如学号、姓名、性别、年龄、宿舍号码、电话号码等;

课程基本信息:课程编号、课程名称、考试成绩、平时成绩、综合成绩、

学分、重修否等。如果重修,需要考虑重修学期、重修成

绩,并且要考虑多次重修的情况。

(2)录入选课信息

(3)录入学生成绩

(4)按班统计学生选课情况及考试成绩

(5)按课程统计学生名单及考试成绩

(6)统计并输出每个同学已修学分及不及格课程

1.3 功能需求描述:

(1)加载学生信息及其课程成绩:从文件录入学生的基本资料和课程情况,并覆盖原有数据。

(2)新增学生信息及其课程成绩:按要求录入学生的基本资料和课程情况,通过提示信息逐步操作。

(3)按班统计学生选课情况及考试成绩:根据录入的数据,以班为单位逐个输出选课情况及对应的成绩。

(4)按课程统计学生名单及考试成绩:按提示输入课程编号,查询对应课程的学生名单及其成绩。

(5)统计并输出每个同学已修学分及不及格课程:根据录入的数据进行统计,输出全部学生的已修学分及不及格课程的名称。

(6)保存学生信息及其课程成绩并退出:将当前的学生基本资料和课程情况保存到文件,并覆盖原有文件。

1.4 开发平台及工具介绍

(1)硬件环境:

处理器:Intel Pentium 166或更高

内存:32MB以上

硬盘空间:2G以上

显卡:SVGA显示适配器

(2)软件环境:

操作系统:Windows98/Me/2000/XP/2007/Vista/7/8等

2. 系统设计

2.1 系统总体结构设计

2.2 系统各个功能模块设计(1)

(2)

(3)

(4)

(5)

(6)

2.3 数据结构的设计

2.3.1学生信息数据结构

typedef struct student

{

int age,sub,cla; //年龄,选课数量,班级

double poi; //已修学分

char stun[15],name[30],sex[5],dorn[10],phon[20]; //学号,姓名,性别,宿舍号码,短号电话号码

course les[10]; //课程信息

struct student*next;

}student;

2.3.2课程信息数据结构

typedef struct course

{

char lessonn[15],lessonname[50],re[5]; //课程编号,课程名称,是否重修

double textmark,formalmark,mark,point; //考试成绩,平时成绩,综合成绩,学分

restudy res[5]; //重修情况

int restime; //重修次数

}course;

2.3.3重修情况数据结构

typedef struct restudy

{

int term; //重修学期

double resmark; //重修分数

}restudy;

2.4 界面设计

程序界面应遵循简洁美观、方便使用的原则。

2.4.1主界面

充分考虑界面易于操作的系统需求,用printf语句构造简单的文字界面,具体主界面设计效果如图所示。

2.4.2新增信息界面

根据相关的文字提示,用户输入对应信息。

3. 系统实现

基于系统需求分析与系统总体设计的结果,本系统采用Code::Blocks12.11软件平台基于C语言实现各模块的功能,下面按照模块的功能划分来分别阐述系统的详细设计和实现过程。

3.1头文件:

#include

#include

#include

3.2主界面模块

功能:功能选择界面

输入:用户选择的功能选项编号

处理:根据用户选项跳转到相关功能函数

输出:相关功能函数的处理或显示界面

程序清单:

student *insstu(); //加载学生信息及其课程成绩

student *inspoint(student *head,student *stud); //插入链表结点

void clalesmark(student *head); //按班统计学生选课情况及考试成绩

void lesstumark(student *head); //按课程统计学生名单及考试成绩

void pointfail(student *head); //统计并输出每个同学已修学分及不及格课程

student *adds(student *hd); //新增学生信息及其课程成绩

student *savestu(student *head); //保存学生信息及其课程成绩

int main(void)

{

student *head,*p;

int num,n;

int size=sizeof(struct student);

head=NULL;

printf("\t\t*****************************欢迎使用教务信息管理系统*****************************");

do

{

printf("\n\t\t* ------------------------------------请选择------------------------------------ *\n");

printf("\t\t* 1、加载学生信息及其课程成绩\t\t\t2、新增学生信息及其课程成绩*\n");

printf("\t\t* 3、按班统计学生选课情况及考试成绩\t\t4、按课程统计学生名单及考试成绩*\n");

printf("\t\t* 5、统计并输出每个同学已修学分及不及格课程\t6、保存学生信息及其课程成绩并退出*\n");

printf("\t\t* -----------------------------------0、退出------------------------------------ *\n\n");

fflush(stdin); //清除缓冲区

scanf("%d",&n);

switch(n)

{

case 1:head=insstu();break;

case 3:clalesmark(head);break;

case 4:lesstumark(head);break;

相关文档
最新文档