/*
1.按要求输入界面;
2.按要求输入班级人数并判断大/小班,判断规则:5人以上为大班,5人及以下为小班;
3.通过键盘输入班级学生的成绩;
4.判断学生成绩是否合格,并输出。判断规则:60分以下不及格输出“补考”,60-79分输出“合格”,80-100分输出“优秀”,负分数和100分以上显示“错误”。
5.求学生成绩的最高分;
6.并计算该班级学生的总分和平均成绩并显示,规则:负分数和100分以上显示“错误”的分数不计数总分及平均成绩计算中;
程序结束界面输出。
*/
#include "stdio.h"
#include "math.h"
#include "string.h"
void inquire_Num();
void init_Cls();
void inset_Grade();
struct score{
float chinese;
float math;
float english;
};
struct student{
int id;
char name[10];
char sex[2];
struct score sc;
};
struct cls{
struct student stu[10];
int Cls_number;
int stu_Num;//学生人数
};
struct cls ClsNum[5];
void main(){
int choose=0;
printf("/***********************************/\n");
printf("/* 1、班级属性 */\n");
printf("/* 2、输入成绩 */\n");
printf("/* 3、判断合格 */\n");
printf("/* 4、求最高分 */\n");
printf("/* 5、求平均分 */\n");
printf("/***********************************/\n");
printf("请输入对应的序号(1--5)\n");
scanf("%d",&choose);
init_Cls();
switch(choose){
case 1:
inquire_Num();
break;
case 2:
inset_Grade();
break;
}
system("pause");
}
void init_Cls(){
//一班
ClsNum[0].Cls_number=1;
ClsNum[0].stu_Num=5;
ClsNum[0].stu[0].id=1;
strcpy(ClsNum[0].stu[0].name,"卫庄");
strcpy(ClsNum[0].stu[0].sex,"男");
ClsNum[0].stu[0].sc.chinese=80.5;
ClsNum[0].stu[0].sc.math=88.5;
ClsNum[0].stu[0].sc.english=90.5;
ClsNum[0].stu[1].id=2;
strcpy(ClsNum[0].stu[1].name,"李斯");
strcpy(ClsNum[0].stu[1].sex,"男");
ClsNum[0].stu[1].sc.chinese=69.5;
ClsNum[0].stu[1].sc.math=70;
ClsNum[0].stu[1].sc.english=80;
ClsNum[0].stu[2].id=3;
strcpy(ClsNum[0].stu[2].name,"韩非");
strcpy(ClsNum[0].stu[2].sex,"男");
ClsNum[0].stu[2].sc.chinese=100;
ClsNum[0].stu[2].sc.math=100;
ClsNum[0].stu[2].sc.english=100;
ClsNum[0].stu[3].id=4;
strcpy(ClsNum[0].stu[3].name,"张良");
strcpy(ClsNum[0].stu[3].sex,"男");
ClsNum[0].stu[3].sc.chinese=99.5;
ClsNum[0].stu[3].sc.math=100;
ClsNum[0].stu[3].sc.english=100;
ClsNum[0].stu[3].id=5;
strcpy(ClsNum[0].stu[4].name,"白凤");
strcpy(ClsNum[0].stu[4].sex,"男");
ClsNum[0].stu[4].sc.chinese=65;
ClsNum[0].stu[4].sc.math=30;
ClsNum[0].stu[4].sc.english=50;
//二班
ClsNum[1].Cls_number=2;
ClsNum[1].stu_Num=2;
ClsNum[1].stu[0].id=1;
strcpy(ClsNum[1].stu[0].name,"姬无夜");
strcpy(ClsNum[1].stu[0].sex,"男");
ClsNum[1].stu[0].sc.chinese=30;
ClsNum[1].stu[0].sc.math=20;
ClsNum[1].stu[0].sc.english=30;
ClsNum[1].stu[1].id=2;
strcpy(ClsNum[0].stu[1].name,"赵高");
strcpy(ClsNum[0].stu[1].sex,"男");
ClsNum[1].stu[1].sc.chinese=50;
ClsNum[1].stu[1].sc.math=90;
ClsNum[1].stu[1].sc.english=60;
}
void inquire_Num(){
int Cls_ID;
printf("请输入需要查询的班级:\n");
scanf("%d",&Cls_ID);
if(Cls_ID==0||ClsNum[Cls_ID-1].Cls_number==0){
printf("该班级不存在");
}else{
if(ClsNum[Cls_ID-1].stu_Num>=5){
printf("%d班级为大班\n",Cls_ID);
}else{
printf("%d班级为小班\n",Cls_ID);
}
}
}
void inset_Grade(){
int clsnumber=0;
int stuId=0;
float chinese,math,english;
printf("请输入需要输入几班的成绩\n");
scanf("%d",&clsnumber);
printf("请输入学生学号\n");
scanf("%d",&stuId);
if(ClsNum[clsnumber-1].Cls_number==0){
printf("查无此班");
return;
}else{
if(ClsNum[clsnumber-1].stu[stuId-1].id==0){
printf("查无此人");
return;
}else{
printf("请分别输入该学生的语文 数学 英语(用空格隔开)");
scanf("%d %d %d",&chinese,&math,&english);
ClsNum[clsnumber-1].stu[stuId-1].sc.chinese=chinese;
ClsNum[clsnumber-1].stu[stuId-1].sc.math=math;
ClsNum[clsnumber-1].stu[stuId-1].sc.math=english;
}
printf("输入成功\n");
}
}
上边是实现了两个功能,其他功能你对照着完善下,没有时间做,毕竟还要上班。下次非常麻烦的代码,你的奖励20可没人做