#包括
#包括
#包括中
#定义N 50 / *定义符号常量,代表的学生人数最多* /
诠释计数= 0; / *全局变量记录数组的当前位置* /
学生/ *定义结构类型,代表学生信息* /
{
字符名[10]; / *学生姓名* /
字符数[10]; / *学生ID * /
浮点数学/数学成绩* /
浮动英语/英语成绩* /
};的
输入(学生* ARR)/ *函数声明无效,输入学生信息* /
无效排序(学生* ARR)/ *函数声明的订单* /
无效的发现(学生* ARR)/ *函数声明,找一个学生信息* /
无效的主要()
{
的char selmenu; / *定义一个局部变量,用来记录用户选择功能编号* / 学生螺柱[N]; / *定义结构的数组,用于记录学生信息* /
/ *循环接口* /
{系统(“CLS”); / *清屏功能* /
的printf(“\ N \ N”);
的printf(“\ \ T \ T \ T学生成绩管理系统\ N \ N”);
的printf(“\ \ T \ T \ T1输入学生成绩\ N”);
的printf(“\ T \ T \ T \ T2。按排榜\ N”);
的printf(“\ \ T \ T \ T3查找学生信息\ N”); BR />的printf(“\吨\ T \ T \ T4退出\ n \ n已”);
的printf(“\ T \ T \输入功能选择号码(1-4):”);
fflush的(STDIN); / *清空输入缓冲区* /
scanf函数(“%c”的,selmenu)/ *接受用户选择功能号* /
开关( selmenu)/ *输入一个不同的数字来调用相应的函数来完成功能* /
{
case'1:
输入(双头); / *调用输入学生信息的功能, ,参数学生信息数组名* /
打破;
case'2:
排序(螺柱)/ *召唤出排榜函数的参数是数组名* /
;
case'3':
发现(螺柱)/ *由学生呼叫号码和姓名查找学生信息的功能* /
突破;
}
}(selmenu! = '4'); / *确定是否退出* /
的printf(“\ n \ n已\ T \ T \ T ---------- -----谢谢---------------- \ N \ N“); / *输出告别* /
} 无效输入(学生* ARR)/ *定义输入学生信息的功能* /
{
字符CH / *接收用户指令* /
/ *使用周期,学生成绩由用户输入控制* / {
系统(“CLS”);
的printf(“\ N%d的学生输入信息:\ N输入学生的姓名:”数+ 1);
的printf(“\ n输入学号:”);
scanf函数(“%”,改编[计]数字);
的printf(“\ n输入的数学成绩:”);
scanf函数(“%f”的改编[计]数学);
的printf(“\ n输入的英文结果:“);
scanf函数(”%f“的改编[计]);
数+ / *记录当前输入学生信息,一些* / 的printf(“\ N是否继续输入(Y / N)\ N”);
fflush的(STDIN); / *清空输入缓冲区* /
CH = getchar函数();
}(CH =='Y'| | CH =='Y')/ *确定用户的指令,是否继续输入* /
} 无效排序(学生* ARR)的总成绩排/ *定义列表功能* /
{
INT I,J,K; / *定义循环变量I,J,最低数量的位置k * / />结构学生t; / *定义交换的临时变量* /
如果(计数== 0)/ *阵列的学生表现,以确定是否存在* /
的printf(“没有学生的成绩,先记录在学生信息\ N“);
其他
{
(I = 0; <计数1 + +)/ *类型的学生选择方法成就* / {
K =我;
(J = i +1的; J <数; J + +)/ * k是到达[我]改编[计数1 ,最低数量的位置* /
((ARR [K]。数学+到达[K]。英语)<(ARR [J]。数学+改编[J]。英语)) K = J br(k! = I)/ *如果最小的号码是不是比较列第一,交换* /
T =到达[K]; ARR [K] =到达[I];
到达[I] = T;
}
}
的printf(“\ N排榜:\ N \ N“);
(J = 0; J <数; J + +)/ *输出出学生的成绩和排名* /排榜
的printf(“\%-6S \ T%4S \ T%-6.1F \ T%6.1F \ T-6.1F% \ T%5D \ N“,
改编[J]。名字,编曲[J]。数量,编曲[J]。数学,编曲[J]。英语,改编[J]。数学+改编[ J]英语
j +1)的;
}
的printf(“\ n输入返回到主程序\ N”);
fflush的(STDIN); BR />的getchar的();
}
作废的发现(学生ARR)/ *定义查询功能* /
J;
字符名称]的学生姓名;用于接收用户输入* /
字符数[10]; / *接收用户输入* /
系统的学生证(“CLS”); / / * *清屏功能* / 的printf(“\ n请输入学生信息,您正在寻找:\”);
的printf(“\ n个学生的名字:”);
scanf函数(“%”,名称);
的printf(“\ n个学生学号:”);的
> scanf函数(“%”号);
(J = 0; J <计数; J + +)/ *使用字符串比较函数来找到战争的艺术合格的学生成绩* /
{
((STRCMP(名称,编曲[J]。名字)== 0)&&(STRCMP(数量,到达[J]号)== 0))
{
printf的-4S(“\ N \吨\吨数\吨数学\吨\吨得分\ N”);
的printf(“\%-6S \ T%\ T%6.1F \ T %\ T%6.1F-6.1F \ N“,
改编[J]。名字,编曲[J]。数量,编曲[J]。数学,编曲[J]。英语,编曲[J]。数学+改编[J]。英语);
突破;
}
}
(J> =计)/ *如果没有找到,从循环条件退出* /
printf的(“\ N没有发现学生记录,请检查并重新找到!\ N”);
fflush的(STDIN); / *清空输入缓冲区* /
printf的(“\ n输入返回先前的功能菜单\ N”);
用getchar();
}