1、主要功能
1.能够输入学生姓名
2.能够查看全班学生
3.能看单独查看某学生的分数,可以通过学号和姓名查看
4.能够输出班级的总分和平均分
2、代码部分
主函数
int main()
{
int xt1, xt2;
b: xt_1();
bool selected = false;
while (!selected) {
if (choice == 1) {
system("cls");
printf("\n**************************************\n");
printf("\n** 欢迎使用成绩管理系统 **\n");
printf("\n**------------------******************\n");
printf("\n**| 1.进入系统 | 0.退出系统 **\n");
printf("\n**------------------******************\n");
}
else {
system("cls");
printf("\n**************************************\n");
printf("\n** 欢迎使用成绩管理系统 **\n");
printf("\n*******************-----------------**\n");
printf("\n** 1.进入系统 | 0.退出系统 |**\n");
printf("\n*******************-----------------**\n");
}
char input = _getch(); // 获取键盘输入
if (input == 75) { // 按下左箭头
choice = 1;
}
else if (input == 77) { // 按下右箭头
choice = 2;
}
else if (input == 49)
{
choice = 1;
goto A;
}
else if (input == 48)
{
return 0;
}
else if (input == 13) { // 按下回车键
A: selected = true;
bool selected = false;
if (choice == 1) {
xt_2();
printf("请选择");
while (!selected) {
displayMenu(choice);
char input = _getch(); // 获取键盘输入
if (input == 72) { // 按下上箭头
choice = (choice - 1) > 0 ? (choice - 1) : 7;
Sleep(10);
}
else if (input == 80) { // 按下下箭头
choice = (choice + 1) <= 7 ? (choice + 1) : 1;
Sleep(10);
}
else if (input == 49)
{
choice = 1;
goto a;
}
else if (input == 50)
{
choice = 2;
goto a;
}
else if (input == 51)
{
choice = 3;
goto a;
}
else if (input == 52)
{
choice = 4;
goto a;
}
else if (input == 53)
{
choice = 5;
goto a;
}
else if (input == 54)
{
choice = 6;
goto a;
}
else if (input == 55)
{
choice = 7;
goto a;
}
else if (input == 13) { // 按下回车键
a: selected = true;
switch (choice) {
case 1:
xt_3();
break;
case 2:
cd2();//完成按学号顺序显示原始成绩功能
break;
case 3:
cd3();//完成显示学号、姓名、总分、平均分功能
break;
case 4:
cd4();//按总分由高到低顺序打印班级成绩单
break;
case 5:
cd5();//查询学生成绩(输入学号或输入姓名,输出该生所有成绩)
break;
case 6:
cd6();//输出每门课的最高分,最低分,平均分,及格率
break;
case 7:
goto b;
}
}
}
}
else {
printf("\n********************\n");
printf("\n感谢使用,再见!!!\n");
printf("\n********************\n");
exit(0);
}
}
}
return 0;
}
这里面包含了对菜单1的操作
第一个菜单
void xt_1()
{
system("cls");
printf("\n************************************\n");
printf("\n** 欢迎使用成绩管理系统 **\n");
printf("\n************************************\n");
printf("\n** 1.进入系统 0.退出系统 **\n");
printf("\n************************************\n");
}
这就是菜单1的代码
system(“cls“)是用来清屏的
当选择进入的时候我们就要将菜单二显示出来
第二个菜单
void xt_2()
{
system("cls");
printf("\n--------------------------\n");
printf("\n| 1.输入成绩 |\n");
printf("\n--------------------------\n");
printf("\n| 2.显示原始成绩 |\n");
printf("\n--------------------------\n");
printf("\n| 3.每个人的总分和平均分|\n");
printf("\n--------------------------\n");
printf("\n| 4.打印班级成绩单 |\n");
printf("\n--------------------------\n");
printf("\n| 5.查询学生成绩 |\n");
printf("\n--------------------------\n");
printf("\n| 6.单科成绩分析 |\n");
printf("\n--------------------------\n");
printf("\n| 7.返回上级菜单 |\n");
printf("\n--------------------------\n");
}
接下来就是对应个选择做出的输出
void displayMenu(int choice)
{
system("cls");
if (choice == 1) {
printf("\n**************************\n");
printf("\n* 1.输入成绩 *\n");
printf("\n**************************\n");
printf("\n| 2.显示原始成绩 |\n");
printf("\n--------------------------\n");
printf("\n| 3.每个人的总分和平均分|\n");
printf("\n--------------------------\n");
printf("\n| 4.打印班级成绩单 |\n");
printf("\n--------------------------\n");
printf("\n| 5.查询学生成绩 |\n");
printf("\n--------------------------\n");
printf("\n| 6.单科成绩分析 |\n");
printf("\n--------------------------\n");
printf("\n| 7.返回上级菜单 |\n");
printf("\n--------------------------\n");
}
else if (choice == 2) {
printf("\n--------------------------\n");
printf("\n| 1.输入成绩 |\n");
printf("\n**************************\n");
printf("\n* 2.显示原始成绩 *\n");
printf("\n**************************\n");
printf("\n| 3.每个人的总分和平均分|\n");
printf("\n--------------------------\n");
printf("\n| 4.打印班级成绩单 |\n");
printf("\n--------------------------\n");
printf("\n| 5.查询学生成绩 |\n");
printf("\n--------------------------\n");
printf("\n| 6.单科成绩分析 |\n");
printf("\n--------------------------\n");
printf("\n| 7.返回上级菜单 |\n");
printf("\n--------------------------\n");
}
else if (choice == 3) {
printf("\n--------------------------\n");
printf("\n| 1.输入成绩 |\n");
printf("\n--------------------------\n");
printf("\n| 2.显示原始成绩 |\n");
printf("\n**************************\n");
printf("\n* 3.每个人的总分和平均分*\n");
printf("\n**************************\n");
printf("\n| 4.打印班级成绩单 |\n");
printf("\n--------------------------\n");
printf("\n| 5.查询学生成绩 |\n");
printf("\n--------------------------\n");
printf("\n| 6.单科成绩分析 |\n");
printf("\n--------------------------\n");
printf("\n| 7.返回上级菜单 |\n");
printf("\n--------------------------\n");
}
else if (choice == 4 ) {
printf("\n--------------------------\n");
printf("\n| 1.输入成绩 |\n");
printf("\n--------------------------\n");
printf("\n| 2.显示原始成绩 |\n");
printf("\n--------------------------\n");
printf("\n| 3.每个人的总分和平均分|\n");
printf("\n**************************\n");
printf("\n* 4.打印班级成绩单 *\n");
printf("\n**************************\n");
printf("\n| 5.查询学生成绩 |\n");
printf("\n--------------------------\n");
printf("\n| 6.单科成绩分析 |\n");
printf("\n--------------------------\n");
printf("\n| 7.返回上级菜单 |\n");
printf("\n--------------------------\n");
}
else if (choice == 5 ) {
printf("\n--------------------------\n");
printf("\n| 1.输入成绩 |\n");
printf("\n--------------------------\n");
printf("\n| 2.显示原始成绩 |\n");
printf("\n--------------------------\n");
printf("\n| 3.每个人的总分和平均分|\n");
printf("\n--------------------------\n");
printf("\n| 4.打印班级成绩单 |\n");
printf("\n**************************\n");
printf("\n* 5.查询学生成绩 *\n");
printf("\n**************************\n");
printf("\n| 6.单科成绩分析 |\n");
printf("\n--------------------------\n");
printf("\n| 7.返回上级菜单 |\n");
printf("\n--------------------------\n");
}
else if (choice == 6) {
printf("\n--------------------------\n");
printf("\n| 1.输入成绩 |\n");
printf("\n--------------------------\n");
printf("\n| 2.显示原始成绩 |\n");
printf("\n--------------------------\n");
printf("\n| 3.每个人的总分和平均分|\n");
printf("\n--------------------------\n");
printf("\n| 4.打印班级成绩单 |\n");
printf("\n--------------------------\n");
printf("\n| 5.查询学生成绩 |\n");
printf("\n**************************\n");
printf("\n* 6.单科成绩分析 *\n");
printf("\n**************************\n");
printf("\n| 7.返回上级菜单 |\n");
printf("\n--------------------------\n");
}
else if (choice == 7) {
printf("\n--------------------------\n");
printf("\n| 1.输入成绩 |\n");
printf("\n--------------------------\n");
printf("\n| 2.显示原始成绩 |\n");
printf("\n--------------------------\n");
printf("\n| 3.每个人的总分和平均分|\n");
printf("\n--------------------------\n");
printf("\n| 4.打印班级成绩单 |\n");
printf("\n--------------------------\n");
printf("\n| 5.查询学生成绩 |\n");
printf("\n--------------------------\n");
printf("\n| 6.单科成绩分析 |\n");
printf("\n**************************\n");
printf("\n* 7.返回上级菜单 *\n");
printf("\n**************************\n");
}
}
然后根据选择进入
第一部分
void xt_3()
{
int i, j;
system("cls");
printf("请输入学号、姓名、六门课成绩,中间以空格分开\n");
for (i = 0; i < m; i++)
{
scanf_s("%s", xh[i]);
scanf_s("%s", name[i]);
for (j = 0; j < n; j++)
scanf_s("%d", &fs[i][j]);
}
}
第二部分
void cd2()
{
int i, j;
system("cls");
printf("———————————————学生四门课成绩如下:———————————\n");
printf("| 学号 | 姓名 | 语文 | 数学 |电子电工| C语言 | 计算机 | 英语 |\n");
printf("————————————————————————————————————\n");
for (i = 0; i < m; i++)
{
printf("|%-5s|", xh[i]);
printf(" %-7s|", name[i]);
for (j = 0; j < n; j++)
printf(" %-5d|", fs[i][j]);
printf("\n————————————————————————————————————\n");
}
system("pause");
main();
}
第三部分
void cd3()
{
int i, j;
int sum;
system("cls");
printf("---------------------------------\n");
printf("|学号 | 姓名 | 总分 | 平均分|\n");
printf("---------------------------------\n");
for (j = 0; j < m; j++)
{
sum = 0;
for (i = 0; i < n; i++)
sum = sum + fs[j][i];
zf[j] = sum;
pjf[j] = sum / n;
printf("%-9s", xh[j]);
printf("%-9s", name[j]);
printf("%-6d", zf[j]);
printf("%-6.1f", pjf[j]);
printf("\n");
}
system("pause");
main();
}
第四部分
void cd4()
{
system("cls");
int i, j, k;
float t, sum;
char p[9];
for (j = 0; j < m; j++)
{
sum = 0;
for (i = 0; i < n; i++)
sum = sum + fs[j][i];
zf[j] = sum;
pjf[j] = sum / n;
}
for (i = 0; i < m - 1; i++)
for (j = 0; j < m - 1 - i; j++)
if (zf[j] < zf[j + 1])
{
strcpy_s(p, name[j]);
strcpy_s(name[j], name[j + 1]);
strcpy_s(name[j + 1], p);
strcpy_s(p, xh[j]);
strcpy_s(xh[j], xh[j + 1]);
strcpy_s(xh[j + 1], p);
for (k = 0; k < n; k++)
{
t = fs[j + 1][k];
fs[j + 1][k] = fs[j][k];
fs[j][k] = t;
}
t = zf[j];
zf[j] = zf[j + 1];
zf[j + 1] = t;
t = pjf[j];
pjf[j] = pjf[j + 1];
pjf[j + 1] = t;
}
printf("------------------------------------------------------------------------------------------------------------------------\n");
printf("| 班级成绩单 |\n");
printf("------------------------------------------------------------------------------------------------------------------------\n");
printf("| 学号 | 姓名 | 语文 | 数学 | 电子电工 | c语言 | 计算机 | 英语 | 总分 | 平均分 |\n");
printf("------------------------------------------------------------------------------------------------------------------------\n");
for (i = 0; i < m; i++)
{
if (i >= 1)
{
printf("------------------------------------------------------------------------------------------------------------------------\n");
}
printf("| %-9s|", xh[i]);
printf(" %-8s|", name[i]);
for (j = 0; j < n; j++)
printf(" %-8d|", fs[i][j]);
printf(" %-6d|", zf[i]);
printf(" %-6.1f|\n", pjf[i]);
}
printf("------------------------------------------------------------------------------------------------------------------------\n");
system("pause");
main();
}
第五部分
void cd5()
{
int i, j, k, xt3, x;
int sum;
char a[9];
char b[9];
caidan3();
for (x = 0; x < m; x++)
{
sum = 0;
for (i = 0; i < n; i++)
sum = sum + fs[x][i];
zf[x] = sum;
pjf[x] = sum / n;
}
bool selected = false;
while (!selected) {
if (choice == 1) {
system("cls");
printf("\n--------------------------------------------\n");
printf("\n| 查询学生成绩 |\n");
printf("\n****************----------------------------\n");
printf("\n* 1.按学号查询 * 2.按姓名查询 | 3.返回主页 |\n");
printf("\n****************----------------------------\n");
}
else
if (choice == 2) {
system("cls");
printf("\n--------------------------------------------\n");
printf("\n| 查询学生成绩 |\n");
printf("\n-------------- **************** ------------\n");
printf("\n| 1.按学号查询 * 2.按姓名查询 * 3.返回主页 |\n");
printf("\n-------------- **************** ------------\n");
}
else
if(choice==3)
{
system("cls");
printf("\n--------------------------------------------\n");
printf("\n| 查询学生成绩 |\n");
printf("\n------------------------------**************\n");
printf("\n| 1.按学号查询 | 2.按姓名查询 * 3.返回主页 *\n");
printf("\n------------------------------**************\n");
}
char input = _getch(); // 获取键盘输入
if (input == 75) { // 按下左箭头
choice = (choice - 1) > 0 ? (choice - 1) : 3;
}
else if (input == 77) { // 按下右箭头
choice = (choice + 1) <= 3 ? (choice + 1) : 1;
}
else if (input == 49)
{
choice = 1;
goto c;
}
else if (input == 50)
{
choice = 2;
goto d;
}
else if (input == 51)
{
choice = 3;
main();
}
else if (input == 13) { // 按下回车键
selected = true;
if (choice == 1) {
c:
printf("请输入学号:");
scanf_s("%c", &a);
for (i = 0; i < m; i++)
if (strcmp(xh[i], a) == 0)
{
j = i;
break;
}
if (i < m)
{
printf("学号 姓名 语文 数学 电子电工 c语言 计算机 英语 总分 平均分\n");
printf("%-9s", xh[j]);
printf("%-9s", name[j]);
for (i = 0; i < n; i++)
printf("%-8d", fs[j][i]);
printf("%-6.0d", zf[j]);
printf("%-8.1f", pjf[j]);
printf("\n");
}
else
printf("******查无此人******\n");
}
else
if (choice == 2)
{
d:
printf("请输入姓名:");
scanf_s("%c", b);
for (i = 0; i < m; i++)
if (strcmp(name[i], b) == 0)
{
j = i;
break;
}
if (i < m)
{
printf("学号 姓名 语文 数学 电子电工 c语言 计算机 英语 总分 平均分\n");
printf("%-9s", xh[j]);
printf("%-9s", name[j]);
for (i = 0; i < n; i++)
printf("%-8d", fs[j][i]);
printf("%-6.0d", zf[j]);
printf("%-8.1f", pjf[j]);
printf("\n");
}
else
printf("******查无此人******\n");
}
system("pause");
}
}
main();
}
与第二部分相对应的菜单
void caidan3()
{
system("cls");
printf("\n--------------------------------------------\n");
printf("\n| 查询学生成绩 |\n");
printf("\n--------------------------------------------\n");
printf("\n| 1.按学号查询 | 2.按姓名查询 | 3.返回主页 |\n");
printf("\n--------------------------------------------\n");
}
第六部分
void cd6()
{
int i, j, a, sum[n], max[n], min[n], c[3] = { 60,30,90 };
float ave[n], jgl[n], cfl[n], yfl[n], x, y, z;
system("cls");
caidan4();
scanf_s("%d", &a);
for (j = 0; j < n; j++)
{
sum[j] = 0;
z = y = x = 0;
max[j] = min[j] = fs[0][j];
for (i = 0; i < m; i++)
{
sum[j] = sum[j] + fs[i][j];
if (fs[i][j] > 60)
x++;
if (fs[i][j] > 30)
y++;
if (fs[i][j] > 90)
z++;
if (fs[i][j] > max[j])
max[j] = fs[i][j];
if (fs[i][j] > min[j])
min[j] = fs[i][j];
}
ave[j] = sum[j] / m;
jgl[j] = x / m;
cfl[j] = y / m;
yfl[j] = z / m;
}
printf("学科 班级 应考人数 实考人数 总分 总均分 最高分 最低分 及格率 差分率 优分率\n");
printf("%-6s", sub[a - 1]);
printf("202233");
printf(" 10 10 ");
printf("%-8d", sum[a - 1]);
printf("%-8.1f", ave[a - 1]);
printf("%-10d", max[a - 1]);
printf("%-10d", min[a - 1]);
printf("%-9.1f", jgl[a - 1]);
printf("%-10.1f", cfl[a - 1]);
printf("%-6.1f", yfl[a - 1]);
printf("\n");
system("pause");
main();
}
第六部分匹配的菜单
void caidan4()
{
printf("\n************************************************************\n");
printf("\n******************* 各 科 成 绩 分 析 :******************\n");
printf("\n************************************************************\n");
printf("\n 1.语文 2.数学 3.电子电工 4.c语言 5.计算机 6.英语 7.返回 \n");
printf("\n************************************************************\n");
printf("\n请选择学科序号:");
}
7、定义部分
float pjf[m];
int zf[m];
char xh[m][9];
int fs[m][n];
char name[m][10];
char sub[n][14];
int choice = 1;
3、注意
一定要声明,除非定义部分在调用前
4、完整代码
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include <conio.h>
#include<Windows.h>
#define m 10
#define n 6
void xt_1();
void xt_2();
void xt_3();
void cd2();
void cd3();
void cd4();
void cd5();
void cd6();
void caidan3();
void caidan4();
void displayMenu(int choice);
float pjf[m];
int zf[m];
char xh[m][9];
int fs[m][n];
char name[m][10];
char sub[n][14];
int choice = 1;
int main()
{
int xt1, xt2;
b: xt_1();
bool selected = false;
while (!selected) {
if (choice == 1) {
system("cls");
printf("\n**************************************\n");
printf("\n** 欢迎使用成绩管理系统 **\n");
printf("\n**------------------******************\n");
printf("\n**| 1.进入系统 | 0.退出系统 **\n");
printf("\n**------------------******************\n");
}
else {
system("cls");
printf("\n**************************************\n");
printf("\n** 欢迎使用成绩管理系统 **\n");
printf("\n*******************-----------------**\n");
printf("\n** 1.进入系统 | 0.退出系统 |**\n");
printf("\n*******************-----------------**\n");
}
char input = _getch(); // 获取键盘输入
if (input == 75) { // 按下左箭头
choice = 1;
}
else if (input == 77) { // 按下右箭头
choice = 2;
}
else if (input == 49)
{
choice = 1;
goto A;
}
else if (input == 48)
{
return 0;
}
else if (input == 13) { // 按下回车键
A: selected = true;
bool selected = false;
if (choice == 1) {
xt_2();
printf("请选择");
while (!selected) {
displayMenu(choice);
char input = _getch(); // 获取键盘输入
if (input == 72) { // 按下上箭头
choice = (choice - 1) > 0 ? (choice - 1) : 7;
Sleep(10);
}
else if (input == 80) { // 按下下箭头
choice = (choice + 1) <= 7 ? (choice + 1) : 1;
Sleep(10);
}
else if (input == 49)
{
choice = 1;
goto a;
}
else if (input == 50)
{
choice = 2;
goto a;
}
else if (input == 51)
{
choice = 3;
goto a;
}
else if (input == 52)
{
choice = 4;
goto a;
}
else if (input == 53)
{
choice = 5;
goto a;
}
else if (input == 54)
{
choice = 6;
goto a;
}
else if (input == 55)
{
choice = 7;
goto a;
}
else if (input == 13) { // 按下回车键
a: selected = true;
switch (choice) {
case 1:
xt_3();
break;
case 2:
cd2();//完成按学号顺序显示原始成绩功能
break;
case 3:
cd3();//完成显示学号、姓名、总分、平均分功能
break;
case 4:
cd4();//按总分由高到低顺序打印班级成绩单
break;
case 5:
cd5();//查询学生成绩(输入学号或输入姓名,输出该生所有成绩)
break;
case 6:
cd6();//输出每门课的最高分,最低分,平均分,及格率
break;
case 7:
goto b;
}
}
}
}
else {
printf("\n********************\n");
printf("\n感谢使用,再见!!!\n");
printf("\n********************\n");
exit(0);
}
}
}
return 0;
}
void xt_1()
{
system("cls");
printf("\n************************************\n");
printf("\n** 欢迎使用成绩管理系统 **\n");
printf("\n************************************\n");
printf("\n** 1.进入系统 0.退出系统 **\n");
printf("\n************************************\n");
}
void xt_2()
{
system("cls");
printf("\n--------------------------\n");
printf("\n| 1.输入成绩 |\n");
printf("\n--------------------------\n");
printf("\n| 2.显示原始成绩 |\n");
printf("\n--------------------------\n");
printf("\n| 3.每个人的总分和平均分|\n");
printf("\n--------------------------\n");
printf("\n| 4.打印班级成绩单 |\n");
printf("\n--------------------------\n");
printf("\n| 5.查询学生成绩 |\n");
printf("\n--------------------------\n");
printf("\n| 6.单科成绩分析 |\n");
printf("\n--------------------------\n");
printf("\n| 7.返回上级菜单 |\n");
printf("\n--------------------------\n");
}
void xt_3()
{
int i, j;
system("cls");
printf("请输入学号、姓名、六门课成绩,中间以空格分开\n");
for (i = 0; i < m; i++)
{
scanf_s("%s", xh[i]);
scanf_s("%s", name[i]);
for (j = 0; j < n; j++)
scanf_s("%d", &fs[i][j]);
}
}
void cd2()
{
int i, j;
system("cls");
printf("———————————————学生四门课成绩如下:———————————\n");
printf("| 学号 | 姓名 | 语文 | 数学 |电子电工| C语言 | 计算机 | 英语 |\n");
printf("————————————————————————————————————\n");
for (i = 0; i < m; i++)
{
printf("|%-5s|", xh[i]);
printf(" %-7s|", name[i]);
for (j = 0; j < n; j++)
printf(" %-5d|", fs[i][j]);
printf("\n————————————————————————————————————\n");
}
system("pause");
main();
}
void cd3()
{
int i, j;
int sum;
system("cls");
printf("---------------------------------\n");
printf("|学号 | 姓名 | 总分 | 平均分|\n");
printf("---------------------------------\n");
for (j = 0; j < m; j++)
{
sum = 0;
for (i = 0; i < n; i++)
sum = sum + fs[j][i];
zf[j] = sum;
pjf[j] = sum / n;
printf("%-9s", xh[j]);
printf("%-9s", name[j]);
printf("%-6d", zf[j]);
printf("%-6.1f", pjf[j]);
printf("\n");
}
system("pause");
main();
}
void cd4()
{
system("cls");
int i, j, k;
float t, sum;
char p[9];
for (j = 0; j < m; j++)
{
sum = 0;
for (i = 0; i < n; i++)
sum = sum + fs[j][i];
zf[j] = sum;
pjf[j] = sum / n;
}
for (i = 0; i < m - 1; i++)
for (j = 0; j < m - 1 - i; j++)
if (zf[j] < zf[j + 1])
{
strcpy_s(p, name[j]);
strcpy_s(name[j], name[j + 1]);
strcpy_s(name[j + 1], p);
strcpy_s(p, xh[j]);
strcpy_s(xh[j], xh[j + 1]);
strcpy_s(xh[j + 1], p);
for (k = 0; k < n; k++)
{
t = fs[j + 1][k];
fs[j + 1][k] = fs[j][k];
fs[j][k] = t;
}
t = zf[j];
zf[j] = zf[j + 1];
zf[j + 1] = t;
t = pjf[j];
pjf[j] = pjf[j + 1];
pjf[j + 1] = t;
}
printf("------------------------------------------------------------------------------------------------------------------------\n");
printf("| 班级成绩单 |\n");
printf("------------------------------------------------------------------------------------------------------------------------\n");
printf("| 学号 | 姓名 | 语文 | 数学 | 电子电工 | c语言 | 计算机 | 英语 | 总分 | 平均分 |\n");
printf("------------------------------------------------------------------------------------------------------------------------\n");
for (i = 0; i < m; i++)
{
if (i >= 1)
{
printf("------------------------------------------------------------------------------------------------------------------------\n");
}
printf("| %-9s|", xh[i]);
printf(" %-8s|", name[i]);
for (j = 0; j < n; j++)
printf(" %-8d|", fs[i][j]);
printf(" %-6d|", zf[i]);
printf(" %-6.1f|\n", pjf[i]);
}
printf("------------------------------------------------------------------------------------------------------------------------\n");
system("pause");
main();
}
void cd5()
{
int i, j, k, xt3, x;
int sum;
char a[9];
char b[9];
caidan3();
for (x = 0; x < m; x++)
{
sum = 0;
for (i = 0; i < n; i++)
sum = sum + fs[x][i];
zf[x] = sum;
pjf[x] = sum / n;
}
bool selected = false;
while (!selected) {
if (choice == 1) {
system("cls");
printf("\n--------------------------------------------\n");
printf("\n| 查询学生成绩 |\n");
printf("\n****************----------------------------\n");
printf("\n* 1.按学号查询 * 2.按姓名查询 | 3.返回主页 |\n");
printf("\n****************----------------------------\n");
}
else
if (choice == 2) {
system("cls");
printf("\n--------------------------------------------\n");
printf("\n| 查询学生成绩 |\n");
printf("\n-------------- **************** ------------\n");
printf("\n| 1.按学号查询 * 2.按姓名查询 * 3.返回主页 |\n");
printf("\n-------------- **************** ------------\n");
}
else
if(choice==3)
{
system("cls");
printf("\n--------------------------------------------\n");
printf("\n| 查询学生成绩 |\n");
printf("\n------------------------------**************\n");
printf("\n| 1.按学号查询 | 2.按姓名查询 * 3.返回主页 *\n");
printf("\n------------------------------**************\n");
}
char input = _getch(); // 获取键盘输入
if (input == 75) { // 按下左箭头
choice = (choice - 1) > 0 ? (choice - 1) : 3;
}
else if (input == 77) { // 按下右箭头
choice = (choice + 1) <= 3 ? (choice + 1) : 1;
}
else if (input == 49)
{
choice = 1;
goto c;
}
else if (input == 50)
{
choice = 2;
goto d;
}
else if (input == 51)
{
choice = 3;
main();
}
else if (input == 13) { // 按下回车键
selected = true;
if (choice == 1) {
c:
printf("请输入学号:");
scanf_s("%c", &a);
for (i = 0; i < m; i++)
if (strcmp(xh[i], a) == 0)
{
j = i;
break;
}
if (i < m)
{
printf("学号 姓名 语文 数学 电子电工 c语言 计算机 英语 总分 平均分\n");
printf("%-9s", xh[j]);
printf("%-9s", name[j]);
for (i = 0; i < n; i++)
printf("%-8d", fs[j][i]);
printf("%-6.0d", zf[j]);
printf("%-8.1f", pjf[j]);
printf("\n");
}
else
printf("******查无此人******\n");
}
else
if (choice == 2)
{
d:
printf("请输入姓名:");
scanf_s("%c", b);
for (i = 0; i < m; i++)
if (strcmp(name[i], b) == 0)
{
j = i;
break;
}
if (i < m)
{
printf("学号 姓名 语文 数学 电子电工 c语言 计算机 英语 总分 平均分\n");
printf("%-9s", xh[j]);
printf("%-9s", name[j]);
for (i = 0; i < n; i++)
printf("%-8d", fs[j][i]);
printf("%-6.0d", zf[j]);
printf("%-8.1f", pjf[j]);
printf("\n");
}
else
printf("******查无此人******\n");
}
system("pause");
}
}
main();
}
void caidan3()
{
system("cls");
printf("\n--------------------------------------------\n");
printf("\n| 查询学生成绩 |\n");
printf("\n--------------------------------------------\n");
printf("\n| 1.按学号查询 | 2.按姓名查询 | 3.返回主页 |\n");
printf("\n--------------------------------------------\n");
}
void cd6()
{
int i, j, a, sum[n], max[n], min[n], c[3] = { 60,30,90 };
float ave[n], jgl[n], cfl[n], yfl[n], x, y, z;
system("cls");
caidan4();
scanf_s("%d", &a);
for (j = 0; j < n; j++)
{
sum[j] = 0;
z = y = x = 0;
max[j] = min[j] = fs[0][j];
for (i = 0; i < m; i++)
{
sum[j] = sum[j] + fs[i][j];
if (fs[i][j] > 60)
x++;
if (fs[i][j] > 30)
y++;
if (fs[i][j] > 90)
z++;
if (fs[i][j] > max[j])
max[j] = fs[i][j];
if (fs[i][j] > min[j])
min[j] = fs[i][j];
}
ave[j] = sum[j] / m;
jgl[j] = x / m;
cfl[j] = y / m;
yfl[j] = z / m;
}
printf("学科 班级 应考人数 实考人数 总分 总均分 最高分 最低分 及格率 差分率 优分率\n");
printf("%-6s", sub[a - 1]);
printf("202233");
printf(" 10 10 ");
printf("%-8d", sum[a - 1]);
printf("%-8.1f", ave[a - 1]);
printf("%-10d", max[a - 1]);
printf("%-10d", min[a - 1]);
printf("%-9.1f", jgl[a - 1]);
printf("%-10.1f", cfl[a - 1]);
printf("%-6.1f", yfl[a - 1]);
printf("\n");
system("pause");
main();
}
void caidan4()
{
printf("\n************************************************************\n");
printf("\n******************* 各 科 成 绩 分 析 :******************\n");
printf("\n************************************************************\n");
printf("\n 1.语文 2.数学 3.电子电工 4.c语言 5.计算机 6.英语 7.返回 \n");
printf("\n************************************************************\n");
printf("\n请选择学科序号:");
}
void displayMenu(int choice)
{
system("cls");
if (choice == 1) {
printf("\n**************************\n");
printf("\n* 1.输入成绩 *\n");
printf("\n**************************\n");
printf("\n| 2.显示原始成绩 |\n");
printf("\n--------------------------\n");
printf("\n| 3.每个人的总分和平均分|\n");
printf("\n--------------------------\n");
printf("\n| 4.打印班级成绩单 |\n");
printf("\n--------------------------\n");
printf("\n| 5.查询学生成绩 |\n");
printf("\n--------------------------\n");
printf("\n| 6.单科成绩分析 |\n");
printf("\n--------------------------\n");
printf("\n| 7.返回上级菜单 |\n");
printf("\n--------------------------\n");
}
else if (choice == 2) {
printf("\n--------------------------\n");
printf("\n| 1.输入成绩 |\n");
printf("\n**************************\n");
printf("\n* 2.显示原始成绩 *\n");
printf("\n**************************\n");
printf("\n| 3.每个人的总分和平均分|\n");
printf("\n--------------------------\n");
printf("\n| 4.打印班级成绩单 |\n");
printf("\n--------------------------\n");
printf("\n| 5.查询学生成绩 |\n");
printf("\n--------------------------\n");
printf("\n| 6.单科成绩分析 |\n");
printf("\n--------------------------\n");
printf("\n| 7.返回上级菜单 |\n");
printf("\n--------------------------\n");
}
else if (choice == 3) {
printf("\n--------------------------\n");
printf("\n| 1.输入成绩 |\n");
printf("\n--------------------------\n");
printf("\n| 2.显示原始成绩 |\n");
printf("\n**************************\n");
printf("\n* 3.每个人的总分和平均分*\n");
printf("\n**************************\n");
printf("\n| 4.打印班级成绩单 |\n");
printf("\n--------------------------\n");
printf("\n| 5.查询学生成绩 |\n");
printf("\n--------------------------\n");
printf("\n| 6.单科成绩分析 |\n");
printf("\n--------------------------\n");
printf("\n| 7.返回上级菜单 |\n");
printf("\n--------------------------\n");
}
else if (choice == 4 ) {
printf("\n--------------------------\n");
printf("\n| 1.输入成绩 |\n");
printf("\n--------------------------\n");
printf("\n| 2.显示原始成绩 |\n");
printf("\n--------------------------\n");
printf("\n| 3.每个人的总分和平均分|\n");
printf("\n**************************\n");
printf("\n* 4.打印班级成绩单 *\n");
printf("\n**************************\n");
printf("\n| 5.查询学生成绩 |\n");
printf("\n--------------------------\n");
printf("\n| 6.单科成绩分析 |\n");
printf("\n--------------------------\n");
printf("\n| 7.返回上级菜单 |\n");
printf("\n--------------------------\n");
}
else if (choice == 5 ) {
printf("\n--------------------------\n");
printf("\n| 1.输入成绩 |\n");
printf("\n--------------------------\n");
printf("\n| 2.显示原始成绩 |\n");
printf("\n--------------------------\n");
printf("\n| 3.每个人的总分和平均分|\n");
printf("\n--------------------------\n");
printf("\n| 4.打印班级成绩单 |\n");
printf("\n**************************\n");
printf("\n* 5.查询学生成绩 *\n");
printf("\n**************************\n");
printf("\n| 6.单科成绩分析 |\n");
printf("\n--------------------------\n");
printf("\n| 7.返回上级菜单 |\n");
printf("\n--------------------------\n");
}
else if (choice == 6) {
printf("\n--------------------------\n");
printf("\n| 1.输入成绩 |\n");
printf("\n--------------------------\n");
printf("\n| 2.显示原始成绩 |\n");
printf("\n--------------------------\n");
printf("\n| 3.每个人的总分和平均分|\n");
printf("\n--------------------------\n");
printf("\n| 4.打印班级成绩单 |\n");
printf("\n--------------------------\n");
printf("\n| 5.查询学生成绩 |\n");
printf("\n**************************\n");
printf("\n* 6.单科成绩分析 *\n");
printf("\n**************************\n");
printf("\n| 7.返回上级菜单 |\n");
printf("\n--------------------------\n");
}
else if (choice == 7) {
printf("\n--------------------------\n");
printf("\n| 1.输入成绩 |\n");
printf("\n--------------------------\n");
printf("\n| 2.显示原始成绩 |\n");
printf("\n--------------------------\n");
printf("\n| 3.每个人的总分和平均分|\n");
printf("\n--------------------------\n");
printf("\n| 4.打印班级成绩单 |\n");
printf("\n--------------------------\n");
printf("\n| 5.查询学生成绩 |\n");
printf("\n--------------------------\n");
printf("\n| 6.单科成绩分析 |\n");
printf("\n**************************\n");
printf("\n* 7.返回上级菜单 *\n");
printf("\n**************************\n");
}
}