//之前写的,命名不标准,勿学此命名格式;
#include
#include
#include
#include
void x(); //声明
void x1();
void x2();
void x3();
void x4();
void x5();
void x6();
void x7();
int i, j = 0;
int h = 0;
int r1, r2, r3;
int main() {
int o;
while (1) {
system("cls");
x();
scanf("%d", &o);
switch (o) {
case 0:
system("cls");
printf("**********************退出系统**********************\n");
exit(0);//关键字
break;
case 1:
x1();
break;//输入
case 2:
x2();
break;//显示
case 3:
x3();
break;//统计
case 4:
x4();
break;//排序
case 5:
x5();
break;//查询
case 6:
x6();
break;//删除
case 7:
x7();
break;//修改
case 8:
system("cls");
printf("*****************系统简单,无需帮助!********************\n");
system("pause");
break;
default:
system("cls");
printf("请选择正确的 *** 作!\n");
system("pause");
break;
}
}
return 0;
}
struct s {
char c[10];//学号
char c1[10];//姓名
int c2;//年龄
char c3;//性别
int c4;//语文成绩
int c5;//数学成绩
int c6;//英语成绩
int c7;//总分
double c8;//平均分
int r1, r2;
char n7;
} s[100];
int m = 0;
//主页面
void x() {
system("cls");
printf("**************************学生成绩管理系统*************************\n\n\n\n");
printf("0.退出 1.输入 2.查看 3.统计 4.排序 5.查询 6.删除 7.修改 8.帮助\n");
printf("请选择选项:");
}
//学生信息输入
void x1() {
int l;
while (1) {
v1:
system("cls");
printf("************************学生信息输入*************************\n\n\n");
printf("学号:");
scanf("%s", s[m].c);
fflush(stdin);
for (i = 0; i < m; i++) {
if (strcmp(s[i].c, s[m].c) == 0) {
system("cls");
printf("学号已被输入!\n按空格重新输入\n");
system("pause");
goto v1;
}
}
printf("姓名:");
scanf("%s", s[m].c1);
fflush(stdin);
printf("年龄:");
scanf("%d", &s[m].c2);
fflush(stdin);
printf("性别(m.女/f.男):");
scanf("%c", &s[m].c3);
fflush(stdin);
printf("语文成绩:");
scanf("%d", &s[m].c4);
fflush(stdin);
printf("数学成绩:");
scanf("%d", &s[m].c5);
fflush(stdin);
printf("英语成绩:");
scanf("%d", &s[m].c6);
fflush(stdin);
s[m].c7 = (s[m].c4 + s[m].c5 + s[m].c6);
s[m].c8 = (s[m].c7 / 3.0);
printf("是否继续(1.是/2.否):");
scanf("%d", &l);
m++;
if (l == 2) {
break;
}
}
}
//学生查询
void x2() {
int h2;
printf("1.学生信息查询\n2.学生成绩查询\n");
scanf("%d", &h2);
system("cls");
if (h2 == 1) {
printf("***********************学生信息显示***************************\n\n\n\n");
printf("学号 名字 年龄 性别(m.女/f.男)\n");
for (i = 0; i < m; i++) {
printf("***********************************************\n");
printf("%s %s %d %c \n", s[i].c, s[i].c1, s[i].c2, s[i].c3);
}
printf("***********************************************\n");
system("pause");
}
system("cls");
if (h2 == 2) {
printf("***********************学生信息显示***************************\n\n\n\n");
printf("学号 姓名 语文成绩 数学成绩 英语成绩 总分 平均分\n");
for (i = 0; i < m; i++) {
s[i].c7 = (s[i].c4 + s[i].c5 + s[i].c6);
s[i].c8 = (s[i].c7 / 3.0);
printf("***********************************************\n");
printf("%s %s %d %d %d %d %.2lf\n", s[i].c, s[i].c1, s[i].c4, s[i].c5, s[i].c6, s[i].c7, s[i].c8);
}
printf("***********************************************\n");
system("pause");
}
if (h2 > 2 || h2 < 1) {
printf("输入错误!\n");
system("pause");
}
}
//学生成绩统计
void x3() {
double g3 = 0.00;
double g4;
struct s f;
system("cls");
s[1].r1 = 0;
s[1].r2 = 0;
printf("*******************学生成绩统计*************************\n\n\n\n\n\n");
printf("及格 不及格 平均分\n");
for (i = 0; i < m; i++) {
s[i].c7 = (s[i].c4 + s[i].c5 + s[i].c6);
s[i].c8 = (s[i].c7 / 3.0);
if (s[i].c8 >= 60.0) {
s[1].r1++;
} else {
s[1].r2++;
}
g3 = g3 + s[i].c8;
}
g4 = g3 / m;
printf("%d %d %.2lf\n", s[1].r1, s[1].r2, g4);
for (i = 0; i < m; i++) {
s[i].c7 = (s[i].c4 + s[i].c5 + s[i].c6);
s[i].c8 = (s[i].c7 / 3.0);
for (j = 0; j < m - i; j++) {
if (s[j].c7 < s[j + 1].c7) {
f = s[j + 1];
s[j + 1] = s[j];
s[j] = f;
}
}
}
printf("***********************************************\n");
printf(" 最高分 最低分\n");
printf("***********************************************\n");
for (j = 0; j < 1; j++) {
printf("%.d ", s[j].c7);
}
for (i = 0; i < m - 1; i++) {
for (j = 0; j < m - 1 - i; j++) {
if (s[j].c7 > s[j + 1].c7) {
f = s[j + 1];
s[j + 1] = s[j];
s[j] = f;
}
}
}
for (j = 0; j < 1; j++) {
printf("%d\n", s[j].c7);
}
for (i = 0; i < m - 1; i++) {
for (j = 0; j < m - 1 - i; j++) {
if (s[j].c7 < s[j + 1].c7) {
f = s[j + 1];
s[j + 1] = s[j];
s[j] = f;
}
}
}
printf("***********************************************\n");
printf(" 最高分信息\n\n\n");
printf("***********************************************\n");
printf("学号 姓名 年龄 性别(m.女/f.男) \n");
for (j = 0; j < 1; j++) {
printf("***********************************************\n");
printf("%s %s %d %c\n", s[j].c, s[j].c1, s[j].c2, s[j].c3);
}
printf("***********************************************\n");
for (i = 0; i < m - 1; i++) {
for (j = 0; j < m - 1 - i; j++) {
if (s[j].c7 > s[j + 1].c7) {
f = s[j + 1];
s[j + 1] = s[j];
s[j] = f;
}
}
}
printf("***********************************************\n");
printf(" 最低分信息\n\n\n");
printf("***********************************************\n");
printf("学号 姓名 年龄 性别(m.女/f.男)\n");
for (j = 0; j < 1; j++) {
printf("***********************************************\n");
printf("%s %s %d %c\n", s[j].c, s[j].c1, s[j].c2, s[j].c3);
}
printf("***********************************************\n");
system("pause");
}
//学生成绩排序
void x4() {
struct s q;
int m1;
int o6;
system("cls");
printf("*******************学生成绩排序*************************\n\n\n\n\n\n");
printf("1.按姓名排序\n2.按成绩排序\n");
scanf("%d", &o6);
if (o6 == 1) {
system("cls");
printf("按姓名首字母由a到进行排序结果如下:\n");
for (i = 0; i < m - 1; i++) {
for (j = 0; j < m - 1 - i; j++) {
if (strcmp(s[j].c1, s[j + 1].c1) > 0) {
q = s[j + 1];
s[j + 1] = s[j];
s[j] = q;
}
}
}
system("cls");
printf("1.学生信息显示\n2.学生成绩显示\n");
scanf("%d", &m1);
system("cls");
if (m1 == 1) {
printf("学号 姓名 年龄 性别(m.女/f.男)\n");
for (j = 0; j < m; j++) {
printf("%s %s %d %c\n", s[j].c, s[j].c1, s[j].c2, s[j].c3);
}
}
if (2 == m1) {
printf("学号 姓名 语文成绩 数学成绩 英语成绩 总分 平均分\n");
for (j = 0; j < m; j++) {
s[j].c7 = (s[j].c4 + s[j].c5 + s[j].c6);
s[j].c8 = (s[j].c7 / 3);
printf("***********************************************\n");
printf("%s %s %d %d %d %d %.2lf\n", s[j].c, s[j].c1, s[j].c4, s[j].c5, s[j].c6, s[j].c7, s[j].c8);
}
}
if (m1 > 2 || m1 < 1) {
printf("输入错误!\n");
}
system("pause");
}
if (o6 == 2) {
for (i = 0; i < m - 1; i++) {
for (j = 0; j < m - 1 - i; j++) {
if (s[j].c8 < s[j + 1].c8) {
q = s[j + 1];
s[j + 1] = s[j];
s[j] = q;
}
}
}
system("cls");
printf("1.学生信息显示\n2.学生成绩显示\n");
scanf("%d", &m1);
system("cls");
if (m1 == 1) {
printf("学号 姓名 年龄 性别(m.女/f.男)\n");
for (j = 0; j < m; j++) {
printf("***********************************************\n");
printf("%s %s %d %c\n", s[j].c, s[j].c1, s[j].c2, s[j].c3);
}
}
if (m1 == 2) {
fflush(stdin);
printf("成绩从高到低\n\n");
printf("学号 姓名 语文成绩 数学成绩 英语成绩 总分 平均分\n");
for (j = 0; j < m; j++) {
s[j].c7 = (s[j].c4 + s[j].c5 + s[j].c6);
s[j].c8 = (s[j].c7 / 3);
printf("***********************************************\n");
printf("%s %s %d %d %d %d %.2f\n", s[j].c, s[j].c1, s[j].c4, s[j].c5, s[j].c6, s[j].c7, s[j].c8);
}
}
}
if (o6 > 2 || o6 < 1) {
printf("输入错误!\n");
}
system("pause");
}
//学生查询
void x5() {
double t6;
int t4 = 0;
int t3 = 0;
int k1;
char y[10];
system("cls");
printf("1.学生姓名查询\n2.学生学号查询\n");
scanf("%d", &k1);
if (k1 > 2 || k1 < 1) {
printf("输入错误!\n");
}
if (k1 == 1) {
printf("请输入要查询信息的学生姓名:");
scanf("%s", y);
for (i = 0; i < m; i++) {
s[i].c7 = (s[i].c4 + s[i].c5 + s[i].c6);
t6=s[i].c7;
s[i].c8 = (t6/ 3);
if (strcmp(s[i].c1, y) == 0) {
system("cls");
printf("学号:%s\n", s[i].c);
printf("姓名:%s\n", s[i].c1);
printf("年龄:%d\n", s[i].c2);
printf("性别(m.女/f.男):%c\n", s[i].c3);
printf("语文成绩:%d\n", s[i].c4);
printf("数学成绩:%d\n", s[i].c5);
printf("英语成绩:%d\n", s[i].c6);
printf("总分:%d\n", s[i].c7);
printf("平均分:%.2lf\n", s[i].c8);
break;
} else {
t3 = t3 + 1;
}
}
if (t3 >= m) {
printf("查无此人!\n");
}
}
if (k1 == 2) {
printf("请输入要查询信息的学生学号:");
scanf("%s", y);
for (i = 0; i < m; i++) {
s[i].c7 = (s[i].c4 + s[i].c5 + s[i].c6);
t6=s[i].c7;
s[i].c8 = (t6/ 3);
if (strcmp(s[i].c, y) == 0) {
system("cls");
printf("学号:%s\n", s[i].c);
printf("姓名:%s\n", s[i].c1);
printf("年龄:%d\n", s[i].c2);
printf("性别(m.女/f.男):%c\n", s[i].c3);
printf("语文成绩:%d\n", s[i].c4);
printf("数学成绩:%d\n", s[i].c5);
printf("英语成绩:%d\n", s[i].c6);
printf("总分:%d\n", s[i].c7);
printf("平均分:%.2lf\n", s[i].c8);
break;
} else
t4 = t4 + 1;
}
}
if (t4 >= m) {
printf("查无此人!\n");
}
system("pause");
}
//删除学生
void x6() {
int e;
char n3[10];
system("cls");
printf("请输入要删除信息的学生学号:");
scanf("%s", n3);
for (i = 0; i < m; i++) {
if (strcmp(s[i].c, n3) == 0) {
for (j = i; j < m; j++) {
strcpy(s[j].c, s[j + 1].c);
strcpy(s[j].c1, s[j + 1].c1);
s[j].c2 = s[j + 1].c2;
s[j].c3 = s[j + 1].c3;
s[j].c4 = s[j + 1].c4;
s[j].c5 = s[j + 1].c5;
s[j].c6 = s[j + 1].c6;
s[j].c7 = s[j + 1].c7;
s[j].c8 = s[j + 1].c8;
}
m--;
printf("删除成功!\n");
break;
} else {
e = 2 * m;
}
}
if (e == 2 * m) {
printf("查无此人!\n");
}
system("pause");
}
//修改学生
void x7() {
int t3 = 2;
int k5;
int g1 = 0;
char t1[10];
k7:
system("cls");
printf("请输入想要修改信息人的学号:");
scanf("%s", t1);
for (i = 0; i < m; i++) {
if (strcmp(s[i].c, t1) == 0) {
t3 = 5;
printf("1.学号 2.姓名 3.年龄 4.性别(m.女/f.男) 5.语文成绩 6.数学成绩 7.英语成绩\n");
printf("%s %s %d %c %d %d %d\n", s[i].c, s[i].c1, s[i].c2, s[i].c3, s[i].c4, s[i].c5, s[i].c6);
printf("进行选择,决定是否下一步:\n1.是,进行修改\n2.否,返回上一步\n3.否,返回主页面\n");
scanf("%d", &k5);
if (k5 == 1) {
printf("请选择要修改的项目:");
scanf("%d", &g1);
if (g1 == 1) {
printf("请输入修改后的学号:");
scanf("%s", s[i].c);
printf("修改成功!\n");
}
if (g1 == 2) {
printf("请输入修改后的姓名:");
scanf("%s", s[i].c1);
printf("修改成功!\n");
}
if (g1 == 3) {
printf("请输入修改后的年龄:");
scanf("%d", &s[i].c2);
printf("修改成功!\n");
}
if (g1 == 4) {
fflush(stdin);
printf("请输入修改后的性别(m.女/f.男):");
scanf("%c", &s[i].c3);
printf("修改成功!\n");
}
if (g1 == 5) {
printf("请输入修改后的语文成绩:");
scanf("%d", &s[i].c4);
printf("修改成功!\n");
}
if (g1 == 6) {
printf("请输入修改后的数学成绩:");
scanf("%d", &s[i].c5);
printf("修改成功!\n");
}
if (g1 == 7) {
printf("请输入修改后的英语成绩:");
scanf("%d", &s[i].c6);
printf("修改成功!\n");
}
}
}
if (strcmp(s[i].c, t1) != 0) {
}
}
if (k5 == 2) {
goto k7;
}
if (k5 == 3) {
}
if (t3 == 2) {
printf("查无此人!\n");
}
system("pause");
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)