【c语言】学生获奖信息收集与管理系统

【c语言】学生获奖信息收集与管理系统

一、主体功能点要求:
1、基本信息:
(1)学生基本信息:学院、专业、年级、学号、姓名
(2)获奖信息:
a.获奖时间(年、月、日)
b.竞赛名称
c.获奖等级(如:国家级一等奖;省级二等奖)
d.指导老师
e.授奖部门
2、设计主菜单实现用户交互
(1)学生角色
a. 添加功能:学生可添加新的获奖信息
例如,输入:
计算机工程学院,软件工程专业,2015级,201500000001,张三,20181222,全国大学生软件设计大赛,国家级一等奖,李四老师,高等教育学会
则屏幕打印:
输入1条获奖信息!

b. 浏览功能:学生可浏览目前为止已有的获奖信息,按时间排序
例如,若现在再输入1条获奖信息:
机械工程学院,工业设计专业,2016级,201600000001,王五,20180108,广东省工业设计大赛,省级二等奖,林良老师,广东省工业设计学会
则选择浏览功能后,屏幕打印:
1.机械工程学院,工业设计专业,2016级,201600000001,王五,20180108,广东省工业设计大赛,省级二等奖,林良老师,广东省工业设计学会,未审核
2.计算机工程学院,软件工程专业,2015级,201500000001,张三,20181222,全国大学生软件设计大赛,国家级一等奖,李四老师,高等教育学会,未审核
共有2条获奖信息!

c. 搜索功能:学生可以任意字段搜索已有的获奖信息,按时间排序
例如,输入:计算机
则屏幕打印:
计算机工程学院,软件工程专业,2015级,201500000001,张三,20181222,全国大学生软件设计大赛,国家级一等奖,李四老师,高等教育学会,未审核
共搜索到1条获奖信息!

d. 删除功能:学生可删除已有的获奖信息
例如,输入:2(2表示获奖信息的序号)
则屏幕打印:
已删除1条获奖信息!

e. 修改功能:学生可修改任一已有获奖信息的任意字段
例如,输入:1
则屏幕打印:请指出想修改的记录的字段:

  1. 获奖时间 2. 竞赛名称 3. 获奖等级 4. 指导老师 5. 授奖部门
    输入:3
    则屏幕打印:请输入新的获奖等级:
    输入:省级三等奖
    则屏幕打印:
    已修改1条获奖信息!
    1.机械工程学院,工业设计专业,2016级,201600000001,王五,20180108,广东省工业设计大赛,省级三等奖,林良老师,广东省工业设计学会,未审核

(2)年级辅导员角色
a.浏览功能:年级辅导员可浏览目前为止已有的获奖信息,按时间排序(同学生的浏览功能一致)

b. 审核功能:年级辅导员可审核任意获奖信息
例如,输入:1(表示审核第1条获奖信息)
则屏幕打印:
1.机械工程学院,工业设计专业,2016级,201600000001,王五,20180108,广东省工业设计大赛,省级三等奖,林良老师,广东省工业设计学会,已审核

没实现功能:按照时间排序,从txt文件删除功能
由于添加功能是用指针完成的,就有点小问题就是,重新添加信息会覆盖,就不会是追加

#include<stdio.h>
#include<string.h>
#include<windows.h>
const int N=3;

//学生:学号(id)、姓名(name),年级(grade)、专业(major)、学院(college)
/*获奖时间(prtime),竞赛名称(prname),获奖等级(prgrade),指导老师(prteacher),e.授奖部门(prplace)*/
struct student{
   
	char id[100];
	char name[100];
	char grade[100];
	char major[100];
	char college[100];
	char prtime[100];
	char prname[100];
	char prgrade[100];
	char prteacher[100];
	char prplace[100];
	char check[100];
}; 


//函数声明
void firstMenu();
void studentMenu();	//学生功能页面菜单
void teacherMenu();//老师功能页面菜单
void addStudent(student *stu);//添加学生获奖信息功能
void delStudent(student stu[]);	//删除学生获奖信息功能
void modifyStudent(student stu[]);	//修改学生获奖信息
void watchStudent(student stu[]);	//浏览目前已经有的获奖信息。(辅导员也有这个功能)
void searchStudent(student stu[]);	//学生可以搜索已经有了的获奖信息
void checkStudent(student stu[]);	//辅导员功能:审核学生的获奖信息
void save();	//导出到文件
void load();
struct student stu[N]={
   0};
int count=0;


int main(){
   
	system("color F0");
	while(true){
   
	firstMenu();
	int i;
	scanf("%d",&i);
	switch(i){
   
		case 1:teacherMenu();break;
		case 2:studentMenu();break;
		case 3:exit(0);break;
		default:printf("输入格式错误,需要重新输入。");
	}}

}

void firstMenu(){
   
	printf("**************欢迎进入学生信息获奖系统********************\n");
	printf("如果你是老师请输入1");
	printf("如果你是学生请输入2\n");
	printf("结束程序请输入3\n");
	printf("***********************************************************************\n");
	printf("请输入你的选择:");

	int i;
	scanf("%d",&i);
	switch(i){
   
		case 1:teacherMenu();break;
		case 2:studentMenu();break;
		case 3:exit(0);break;
		default:printf("输入格式错误,需要重新输入。");
	}

}

void studentMenu(){
   
	while(true){
   
		printf("***********************************************************************\n");
	printf("输入1进入添加信息功能\n");
	printf("输入2进入查看信息功能\n");
	printf("输入3进入删除信息功能\n");
	printf("输入4进入修改信息功能\n");
	printf("输入5进入查找信息功能\n");
	printf("输入6返回原始页面。\n");;
	printf("输入9结束程序\n");
	printf("如果你不是学生,则输入7,进入辅导员功能。\n");
	printf("***********************************************************************\n");
	printf("请输入你的选择:");

	int j;
	scanf(
  • 3
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值