教务信息管理系统源代码2010.05.20

2019-05-17 18:31

一、要求

教务信息管理系统

1、题目描述

设计一个教务信息管理系统,该程序具有以下功能: (1)录入如下信息:

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

学生选修课程的基本信息:课程编号、课程名称、考试成绩、平时成绩、综合成绩、学分、重修否等。如果重修,需要考虑重修学期、重修成绩,并且要考虑多次重修的情况。

(2)统计每个学生各门功课的平均成绩,并按平均成绩从高到低的次序排名输出每个学生各

门功课的综合成绩和平均成绩(名次、学号、姓名、平均成绩、各门功课的考试成绩、平时成绩、综合成绩)。

(3)统计并输出各班各门功课的平均成绩和总平均成绩。 (4)统计并输出每个同学已修学分。

(5)列出不及格学生清单(学号、姓名、不及格的课程和成绩)。 (6)教务信息其它方面的统计(自行确定,加分项)。 2、题目要求

(1)按照分析、设计、编码、调试和测试过程完成应用程序; (2)学习并使用流程图等工具,并在撰写论文中使用;

(3)程序的各项功能在程序运行时,以菜单方式选择并执行;

(4)要求用户输入数据时,要给出清晰、明确的提示,包括:输入数据的内容、格式及结束方式等

(5)所有的信息存储在文件中,并实现文件读写操作。 3、提示

(1)学生基本信息可以设计一个结构体类型

(2)多个学生基本信息可以以数组或链表来存储。

二、代码:

//##########################################################################################

//##########################################################################################

#include #include

#include #include #include

#define N 500//定义班级的个数

//##################################结构体的定义############################################

//##########################################################################################

struct again//重修结构体 {

char term[3];//重修学期 float total;//重修成绩 };

struct course//课程结构体 {

char num[10];//课程编号 char name[20];//课程名称 float final;//考试成绩

float performance;//平时成绩 float total;//综合成绩 int credit;//学分

char re[5];//是否重修pass或faile

struct again ag[5];//重修情况zui do wu ci int times;//重修次数 };

struct student//学生结构体 {

int Class;//班级 char num[12];//学号 char name[20];//姓名 char sex[5];//性别 int age;//年龄

char room[20];//宿舍号码 char phone[15];//电话号码 int subject;//输入几门课程

struct course cou[10];//课程及成绩 struct student *next;//下一个学生 };

struct score//课程成绩结构体 {

char name[20];//课程名 float final; //考试成绩

float performance;//平时成绩

float total;//综合成绩 };

struct ave//学生平均成绩结构体 {

int Class;//班级

char number[12];//学号 char name[20];//姓名

float studentave;//平均成绩 int subjects;//几门课程

struct score s[10];//课程及成绩 struct ave *next;//下一个学生 };

//######################################函数声明

#######################################################

//#####################################################################################################

struct student *creat();//构建学生成绩链表

void write(struct student *head);//写入磁盘文件 void read(struct student*head);//从文本输出内容

struct ave *studentave(struct student *head);//构建学生平均成绩链表 void sequence(struct ave *heads);//平均成绩从高到低排序输出

void classave(struct student *head);//输出各班各门功课的平均成绩和总平均成绩

void credit(struct student *head);//输出每个同学已修学分 void failstudent(struct student *head);//列出不及格学生清单 struct student *out();//把文件信息读入电脑但不显示 void conclude(struct student*head);//输出学生总数

struct ave *insert(struct ave *heads,struct ave *charu);//按大小顺序插入(为了排序)

struct ave *sort(struct ave *head);

void writeshan(struct student *head);//写入磁盘文件 struct student*del(struct student*head);//删除信息函数 void shan();//删除所有信息函数

struct student*chuli(struct student*head);//处理多余信息函数 struct student *out2(); void shan2();

void read2(struct student *head );//从文件中输出数据 struct student *out3();

void read3(struct student *head );//从文件中输出数据 void chazhao(struct student*head);//按学号查找学生信息

//#####################################主函数

##########################################################

//#####################################分界线

##########################################################

void main()//主函数 {

int function,con=1; char function1[4];

struct student *head,*head2; struct ave *heads; head=NULL;

while(con==1)//当con等于1时,执行循环体 {

printf(\

========================================================================\\n\ printf(\欢迎进入教务信息管理系统 ==========================\\n\ printf(\

========================================================================\\n\

printf(\输 入 学 生 基 本 信 息 @@@ ==\\n\

//printf(\

= …………………………………………………………………………………………==\\n\

printf(\输 出 全 部 基 本 信 息 @@@ ==\\n\

printf(\

= …………………………………………………………………………………………==\\n\

printf(\输 出 学 生 排 名 信 息 @@@ ==\\n\

//printf(\

= …………………………………………………………………………………………==\\n\

printf(\输 出 各 班 成 绩 信 息 @@@ ==\\n\

printf(\

= …………………………………………………………………………………………==\\n\

printf(\输 出 学 生 总 的 学 分 @@@ ==\\n\

//printf(\

= …………………………………………………………………………………………==\\n\

printf(\列 出 不 及 格 的 学 生 @@@ ==\\n\

//printf(\

= …………………………………………………………………………………………==\\n\

printf(\按 学号 查找 学生 信息 @@@ ==\\n\

printf(\

= …………………………………………………………………………………………==\\n\

printf(\按 条 件 删 学 生 信 息 @@@ ==\\n\

//printf(\

= …………………………………………………………………………………………==\\n\

printf(\删 除 所 有 学 生 信 息 @@@ ==\\n\

printf(\

= …………………………………………………………………………………………==\\n\

printf(\复 制 现 有 学 生 信 息 @@@ ==\\n\

//printf(\

= …………………………………………………………………………………………==\\n\

printf(\输 出 已 复 制 的 信 息 @@@ ==\\n\

printf(\

= …………………………………………………………………………………………==\\n\

printf(\退 出 @@@ ==\\n\

printf(\

========================================================================\\n\/主界面

printf(\请 输 入 数 字 选 择 相 应 的 操 作 ===============\\n\ printf(\

========================================================================\\n\ function1[0]=getchar(); function1[1]=getchar(); function1[2]=getchar(); fflush(stdin);//清除缓存

if(function1[0]>='0'&&function1[0]<='1'&&function1[1]>='0'&&function1[1]<='9'&&function1[2]=='\\n')

function=(function1[0]-48)*10+(function1[1]-48); switch(function) {

case 1:head=creat();write(head);break;//录入信息,写入磁盘文件 case 2:head=out();read(head);break;//输出文本的内容

case 3:head=out();heads=studentave(head);sequence(heads);break;//按平均成绩从高到输出学生成绩

case 4:head=out();classave(head);break;//输出各班各门功课的平均成绩及总平均成绩

case 5:head=out();credit(head);break;//统计并输出每个同学的已修学分 case 6:head=out();failstudent(head);break;//列出不及格学生清单 case 7:head=out(); chazhao(head);break;//输出学生个数 case 8:head=out();head=del(head);break;//删除学生信息


教务信息管理系统源代码2010.05.20.doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:PLC应用应注意的问题

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: