开始 进入选择菜单 c=1? N Y Y 录入学生信息 查找学生信息 c=2? N c=3? Y 修改学生信息 N 删除学生信息 Y c=4? N c=5? N Y 课程成绩统计 结束 图 程序流程图
六、源程序
#include
9
struct student/*定义结构体*/ {int num;
char name[50];/*姓名,长度为50的字符串数组*/ char classes[50];/*班级名称,长度为50的字符串数组*/ double matchps;/*高等数学平时成绩,双精度实型变量*/ double matchks;/*高等数学考试成绩,双精度实型变量*/ double matchzh;/*高等数学综合成绩,双精度实型变量*/ double englishps;/*英语平时成绩,双精度实型变量*/ double englishks;/*英语考试成绩,双精度实型变量*/ double englishzh;/*英语综合成绩,双精度实型变量*/ double clangugeps;/*C语言平时成绩,双精度实型变量*/ double clangugeks;/*C语言考试成绩,双精度实型变量*/ double clangugezh;/*C语言综合成绩,双精度实型变量*/ double politicsps;/*政治平时成绩,双精度实型变量*/ double politicsks;/*政治考试成绩,双精度实型变量*/ double politicszh;/*政治综合成绩,双精度实型变量*/ double ave;/*平均成绩,双精度实型变量*/
}student[1000];/*最多存储1000个学生数据*/ int a,b,c,d,x,i,j,k; char s1[50]; double f;
void Inputfun()/*输入学生信息模块*/ {
for(; ;)/*设计死循环以至于在输入格式错误时可以再次输入*/ {
printf(\请输入班级名称:\\t\); /*输入班级名称*/ scanf(\,&s1); if(strlen(s1)>20) {
10
}
printf(\您输入的班级名称过长!\\n\); continue;
strcpy(student[i].classes,s1);
break; /*格式正确后跳出死循环*/
} for(; ;) {
printf(\请输入学号:\\t\);/*输入学号*/ scanf(\,&b); if(student[i].num<0) {
printf(\您输入的学号错误!\\n\); continue;
}
student[i].num=b; break; } for(; ;) {
printf(\请输入姓名:\\t\);/*输入姓名*/ scanf(\,&s1); if(strlen(s1)>20) {
printf(\您输入的姓名过长!\\n\); continue; }
strcpy(student[i].name,s1); break; }
11
for(; ;) {
printf(\请输入该生高等数学平时成绩:\\t\);/*输入各科平时成绩和考试成绩*/ scanf(\,&f); if(f>100||f<0) { }
student[i].matchps=f; break; } for(; ;) {
printf(\请输入该生高等数学考试成绩:\\t\); scanf(\,&f); if(f>100||f<0) { }
student[i].matchks=f;
student[i].matchzh=student[i].matchks*0.7+student[i].matchps*0.3;/*按考试成绩70%平时成绩30%算该门课程的最终成绩*/ break; } for(; ;) {
printf(\请输入该生英语平时成绩:\\t\); scanf(\,&f);
12
printf(\成绩不合理!请您输入合理的成绩.\\n\); continue;
printf(\成绩不合理!请您输入合理的成绩.\\n\); continue;
if(f>100||f<0) { }
student[i].englishps=f; break; } for(; ;) {
printf(\请输入该生英语考试成绩:\\t\); scanf(\,&f); if(f>100||f<0) { }
student[i].englishks=f;
student[i].englishzh=student[i].englishks*0.7+student[i].englishps*0.3; break; } for(; ;) {
printf(\请输入该生政治平时成绩:\\t\); scanf(\,&f); if(f>100||f<0) { }
13
printf(\成绩不合理!请您输入合理的成绩.\\n\); continue;
printf(\成绩不合理!请您输入合理的成绩.\\n\); continue;
printf(\成绩不合理!请您输入合理的成绩.\\n\); continue;