C语言课程设计程序由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“c语言课程设计程序”。
#include #include #include struct student { int num;char name[15];
//定义学生结构体,st数组。
int score[5];float jqave;int rank;}st[27];
struct kecheng { int num;char kcname[20];
//定义课程结构体,course数组.float xuefen;float biaozhuncha;int youxiu;int lianghao;int zhongdeng;int jige;int bujige;
}course[5];
void readdata1(){
int i,j;
char str1[100];
FILE *f1;
f1=fopen(“c:xinji110213.txt”,“r”);
fgets(str1,100,f1);// printf(“%-s”,str1);
for(i=0;i
{
fscanf(f1,“%d%s”,&st[i].num,st[i].name);
// printf(“%-4d%-10s”,st[i].num,st[i].name);
for(j=0;j
{
fscanf(f1,“%d”,&st[i].score[j]);// printf(“%-9d”,st[i].score[j]);}
// printf(“n”);}
fclose(f1);}
void readdata2(){
int k;
char str2[100];
FILE *f2;
f2=fopen(“c:xj02kc.txt”,“r”);
fgets(str2,100,f2);// puts(str2);
for(k=0;k
{
fscanf(f2,“%d%s%f”,&course[k].num,course[k].kcname,&course[k].xuefen);
// printf(“%-8d%-10s%2.1fn”,course[k].num,course[k].kcname,course[k].xuefen);
}
fclose(f2);} void jqave(){ int i,j;float s=0,sum=0;for(i=0;i
{
for(j=0;j
{
s+=course[j].xuefen;
sum+=st[i].score[j]*course[j].xuefen;
}
st[i].jqave =sum/s;
} }
void ranking()
{ int i,j;
for(i=0;i
st[i].rank=1;
for(j=0;j
if(st[i].jqave
st[i].rank=st[i].rank+1;} }
void paiminghoudechengji(){ int i,j;FILE *fp;fp=fopen(“c:MC110213.txt”,“w”);printf(“ 名次 学号
姓名
数学分析
高等代数
C语言
大学物理
大学艺术
加权平均分 n”);fprintf(fp,“ 名次 学号
姓名
数学分析
高等代数
C语言
大学物理
大学艺术
加权平均分 n”);
for(i=0;i
{
printf(“%3d%5d%8s”,st[i].rank,st[i].num,st[i].name);
fprintf(fp,“%3d%5d%8s”,st[i].rank,st[i].num,st[i].name);
for(j=0;j
{
printf(“%10d”,st[i].score[j]);
fprintf(fp,“%10d”,st[i].score[j]);
}
printf(“%12.2fn”,st[i].jqave);
fprintf(fp,“%12.2fn”,st[i].jqave);} fclose(fp);}
void xiechengji(){ int j;FILE *fp;fp=fopen(“c:xj1110213.txt”,“w”);fprintf(fp,“ 编号
课程名称
课程学分
标准差
优秀
良好
中等
及格
不及格
n”);printf(“ 编号
课程名称
课程学分
标准差
优秀
良好
中等
及格
不及格
n”);for(j=0;j
{
printf(“%3d%15s%10.2f”,course[j].num,course[j].kcname,course[j].xuefen);fprintf(fp,“%3d%15s%10.2f”,course[j].num,course[j].kcname,course[j].xuefen);
printf(“%10.1f%8d%8d%8d%8d%6dn”,course[j].biaozhuncha,course[j].youxiu,course[j].lianghao,course[j].zhongdeng,course[j].jige,course[j].bujige);
fprintf(fp,“%10.1f%8d%8d%8d%8d%6dn”,course[j].biaozhuncha,course[j].youxiu,course[j].lianghao,course[j].zhongdeng,course[j].jige,course[j].bujige);
} fclose(fp);}
void pingjunfen(){ int i,j;
for(j=0;j
{
float zongfen=0,pingjunfen=0;
for(i=0;i
zongfen+=st[i].score[j];
pingjunfen=zongfen/27;
} }
void biaozhuncha(){
int i,j;
for(j=0;j
float zongfen=0,pingjunfen=0,x=0;
for(i=0;i
zongfen+=st[i].score[j];
pingjunfen=zongfen/27;
for(i=0;i
x+=(st[i].score[j]-pingjunfen)*(st[i].score[j]-pingjunfen);
course[j].biaozhuncha=(float)sqrt((x/27));
} }
void count(){
int i,j;
for(i=0;i
{
course[i].youxiu=0,course[i].lianghao=0,course[i].zhongdeng=0,course[i].jige=0,course[i].bujige=0;
for(j=0;j
{
if(st[j].score[i]
course[i].bujige++;
else if(st[j].score[i]
course[i].jige++;
else if(st[j].score[i]
course[i].zhongdeng++;
else if(st[j].score[i]
course[i].lianghao++;
else
course[i].youxiu++;
} } }
void chengjitiao(){
int i,j;FILE *fp;fp=fopen(“c:cjt110213.txt”,“w”);do
{ printf(“请输入你要查询的编号
退出请按零”);
scanf(“%d”,&i);
fprintf(fp,“ 编号
姓名
数学分析
高等代数
C语言
大学物理
大学艺术
加权平均分
名次n”);printf(“ 编号
姓名
数学分析
高等代数
C语言
大学物理
大学艺术
加权平均分
名次n”);if(i>=0&&i
printf(“%3d%10s”,st[i-1].num,st[i-1].name);for(j=0;j
printf(“%9d”,st[i-1].score[j]);
fprintf(fp,“%9d”,st[i-1].score[j]);} printf(“%12.2f%8dn”,st[i-1].jqave,st[i-1].rank);fprintf(fp,“%12.2f%8dn”,st[i-1].jqave,st[i-1].rank);fclose(fp);} while(i>0&&i
}
void bujigexueshengmingdan(){
int i,j;
printf(“不及格学生名单如下:n”);printf(“ 学号
姓名
不及格课程
分数
n”);for(i=0;i
for(j=0;j
if(st[i].score[j]
{printf(“%3d%12s”,st[i].num,st[i].name);
printf(“%15s%8dn”,course[j].kcname,st[i].score[j]);
// printf(“
平均分”);
// printf(“%10.2f
名次%8dn”,st[i].jqave,st[i].rank);
}
} }
void youdeng(){ int i,k;printf(“ 优等生名单如下n”);printf(“编号
姓名
数学分析
高等代数
C语言 大学物理 大学艺术 加权平均分
名次n”);for(i=0;i
if(st[i].jqave>=90||st[i].rank
{
printf(“%2d%10s”,st[i].num,st[i].name);
for(k=0;k
printf(“%9d”,st[i].score[k]);
printf(“%10.2f%8dn”,st[i].jqave,st[i].rank);
}
else;
} }
void caidan()
{ loop: printf(“
&&简易教学管理系统&&n”);
printf(“pre 1 for
排名后的成绩表
!n”);
printf(“pre 2 for
各科成绩情况!n”);
printf(“pre 3 for
成绩条!n”);
printf(“pre 4 for
不及格学生名单!n”);
printf(“pre 5 for
优等生名单!n”);
printf(“pre 0 for
退出n”);
int t;
scanf(“%d”,&t);
switch(t)
{
case 1:
paiminghoudechengji();break;
case 2:
xiechengji();break;
case 3:
chengjitiao();break;
case 4:
bujigexueshengmingdan();break;
case 5:
youdeng();break;
case 0:
exit(0);
}
goto loop;
}
void main(){
readdata1();
readdata2();
jqave();
ranking();
pingjunfen();
biaozhuncha();count();
caidan();}