5、插入学生信息:
输入要插入的信息 开始
是否继续?继续按1,结束按0 1 0
6、优秀学生信息:
N 否大于等于90? Y 学生平均成绩是开始 结束 Y 输出该生学号和姓名 N Y
7、不及格学生信息:
第 16 页 共 37 页 结束 检索完毕?
开始 判断该生是否有不及格科目 N Y
输出该该生学信息 N 检索完毕? Y
8、成绩统计模块:
每门课程平均成绩请按开始 结束 1 1,单科成绩排名请按2 2
输出该科选择要排名的科目 输出每门课程平均成绩
成绩排名 结束
第 17 页 共 37 页
七、源程序
#include
struct stu/*定义结构体*/ {int num;
char name[50]; char classes[50]; double gsps_score; double gsks_score; double gszh_score; double dlps_score; double dlks_score; double dlzh_score; double yyps_score; double yyks_score; double yyzh_score; double wlps_score; double wlks_score; double wlzh_score; double pj_score; }student[1000];
int a,b,c,d,x,i,j,k,s,y,flag; char s1[50],c1;
double f,t,gp,dp,yp,wp;
/***********************录入、修改、插入学生信息三个模块调用了输入模块*************************************/
void Inputfun()/*输入学生信息模块*/ {
for(; ;)/*设计死循环以至于在输入格式错误时可以再次输入*/ {
printf(\请输入班级名称:\\t\输入班级名称*/ scanf(\ if(strlen(s1)>20) {
printf(\您输入的班级名称过长!\\n\ continue; }
strcpy(student[i].classes,s1); break; /*格式正确后跳出死循环*/ }
第 18 页 共 37 页
for(; ;) {
printf(\请输入学号:\\t\输入学号*/ scanf(\
if(student[i].num<0) {
printf(\您输入的学号错误!\\n\ continue; } student[i].num=b; break; }
for(; ;) {
printf(\请输入姓名:\\t\输入姓名*/ scanf(\ if(strlen(s1)>20) {
printf(\您输入的姓名过长!\\n\ continue; }
strcpy(student[i].name,s1); break; }
for(; ;) {
printf(\请输入该生高等数学平时成绩:\\t\输入各科平时成绩和考试成绩*/
scanf(\ if(f>100||f<0) {
printf(\成绩不合理!请您输入合理的成绩.\\n\ continue; }
student[i].gsps_score=f; break; }
for(; ;) {
printf(\请输入该生高等数学考试成绩:\\t\ scanf(\ if(f>100||f<0) {
第 19 页 共 37 页
printf(\成绩不合理!请您输入合理的成绩.\\n\ continue; }
student[i].gsks_score=f;
student[i].gszh_score=student[i].gsks_score*0.7+student[i].gsps_score*0.3;/*按考试成绩70%平时成绩30%算该门课程的最终成绩*/ break; }
for(; ;) {
printf(\请输入该生电路理论平时成绩:\\t\ scanf(\ if(f>100||f<0) {
printf(\成绩不合理!请您输入合理的成绩.\\n\ continue; }
student[i].dlps_score=f; break; }
for(; ;) {
printf(\请输入该生电路理论考试成绩:\\t\ scanf(\ if(f>100||f<0) {
printf(\成绩不合理!请您输入合理的成绩.\\n\ continue; }
student[i].dlks_score=f;
student[i].dlzh_score=student[i].dlks_score*0.7+student[i].dlps_score*0.3;
break; }
for(; ;) {
printf(\请输入该生英语平时成绩:\\t\ scanf(\ if(f>100||f<0) {
printf(\成绩不合理!请您输入合理的成绩.\\n\ continue;
第 20 页 共 37 页