设计一个教务信息管理系统,该程序具有以下功能:
(1)录入如下信息:
学生基本信息:如学号、姓名、性别、年龄、宿舍号码、电话号码等。
课程基本信息:课程编号、课程名称、考试成绩、平时成绩、综合成绩、学分、重修否等。如果重修,需要考虑重修学期、重修成绩,并且要考虑多次重修的情况。
(2)录入选课信息
(3)录入学生成绩
(3)按班统计学生选课情况及考试成绩。
(4)按课程统计学生名单及考试成绩。
(5)统计并输出每个同学已修学分及不及级课程。
(6)实现单词组合查询课程名,例如输入“JAVA+设计”查询,可以查到如下课程
《JAVA语言与程序设计》
《JAVA程序设计》
《JAVA语言与算法设计》
注:因为上面课程名中均包含“设计”和“教程”两个单词
同理,输入“JAVA+算法+设计”查询,则只能查到《JAVA语言与算法设计》
任务要求:
(1)按照分析、设计、编码、调试和测试过程完成应用程序;
(2)学习并使用流程图等工具,并在撰写报告中使用;
(3)程序的各项功能在程序运行时,以菜单方式选择并执行;
(4)要求用户输入数据时,要给出清晰、明确的提示,包括:输入数据的内容、格式及结束方式等
(5)所有的信息存储在文件中,并实现文件读写操作。
(6)记录添加删除操作时,先从文件载入数据,用链表存放,批量操作完后,数据从链表写入文件。
(7)查看数据时,先从文件载入数据,用数组存放,并排序,使用二次查找加速查找过程,一次载入允话使用者多次查看数据。
#include<cstdio>
#include<cstring>
#include<iostream>
using namespace std;
/*
头文件区,待补充
*/
typedef struct student{
long long id; //统一12位
char name[100]; //汉字
int sex; //1表示男性,2表示女性,3表示不详
int age;
long long dorid; //宿舍号
long long phonenumber; //统一11位
} student;
typedef struct teacher{
long long id;
char name[100]; //汉字
int sex; //1表示男性,2表示女性,3表示不详
int age;
long long phonenumber; //统一11位
} teacher;
typedef struct subject{
long long id;
char name[100]; //汉字
double endtest; //期末成绩
double retest; //平时成绩
double average; //平时成绩
double rate; //期末成绩占比
double GPA; //绩点
int credit; //学分
int rebuild; //重修次数
} subject;
/*
各种函数的声明,待补充。
包括的调用函数和自己自创的函数
*/
int main()
{
/*
登入页面
*/
/*
管理员操作
*/
}
/*
成绩计算
*/
/*
基本信息管理
*/