【代码要求】
问题描述:
为了方便学委发布作业信息和记录收作业的情况,设计一个学委作业管理系统。要求可以记录作业的基本信息(作业编号,课程名称,作业次数,作业内容,布置时间,提交截止时间,备注……),记录每个同学的作业提交情况(班级,学号,作业编号,提交时间,备注……)。管理员可以管理班级、角色(学委和学生),学委可以管理作业和作业提交情况,学生可以查看作业和自己的作业提交情况。
基本功能要求:
系统中的作业列表、作业提交情况列表、学生列表等都必须采用所学过的一种数据结构(链表、栈、队列、树等)存储,不能全部只使用数组。所有功能的操作是对数据结构(数组或链表等)中的数据进行操作。
每一个功能模块需要划分多个子模块,使用各自不同的结构体来储存不同的信息,实现信息的添加、删除、查询、修改、排序等操作。其他信息根据功能需求可以自行设计。
- 管理员对班级和班级学生的增删改查功能,管理员设置角色(学委/学生),每个班只有一个学委。
- 学委和学生的登录功能,需要输入正确的密码登录。
- 学委对作业的增删改,查询所有作业列表,按时间范围查询作业,按课程查询作业,按时间的升序或降序排列显示。
- 学委对作业提交情况的增删改,查询学生的所有作业提交列表,按时间范围查询作业提交列表,按课程查询作业提交情况,查询某同学的作业提交情况,按时间、提交次数等的升序或降序排列显示。
- 学生查看作业,学生查看本人的作业提交情况。
扩展功能要求:
- 统计各课程的作业提交情况,统计各学生的作业提交情况。
- 运行文件对各种信息进行合理的保存和读取。
【代码运行】
P_C++_00002_学委作业管理系统
【代码片段】
#include<iostream>
#include<fstream>
using namespace std;
//用户的信息结构体
typedef struct UserInfo {
//用户学号
string ui_id;
//用户密码
string ui_pwd;
//用户班级
string ui_classes;
//用户类型(1-管理员 2-学委 3-学生)
int ui_type;
}UI;
//作业的基本信息结构体
typedef struct BaseInfo {
//作业编号
string bi_no;
//课程名称
string bi_name;
//作业次数
int bi_count;
//作业内容
string bi_content;
//布置时间
string bi_outtime;
//提交截止时间
string bi_stoptime;
//备注
string bi_remark;
}BI;
//作业的提交信息结构体
typedef struct HandinInfo {
//提交编号
string hi_no;
//班级
string hi_classes;
//学号
string hi_id;
//作业编号
string hi_bi_no;
//提交时间
string hi_time;
//提交次数
int hi_count;
//备注
string hi_remark;
}HI;
//链表节点
typedef struct UserInfoNode {
UI ui;
struct UserInfoNode* next;
}UserNode, UserList;
typedef struct BaseInfoNode {
BI bi;
struct BaseInfoNode* next;
}BaseNode, BaseList;
typedef struct HandinInfoNode {
HI hi;
struct HandinInfoNode* next;
}HandinNode, HandinList;
【结尾】
此文章部分内容参考自GO代码演示网,
如转载,请保留此说明和完整的页面内容。