c十十编程教学(c十十编程教学a=c)

2023-12-22 13:59:01 数码极客 bianji01

 

用C语言或者C++编程实现“教学管理系统”!!!急啊,在线等候!

简易教学管理系统的设计与实现------半年学习的果子

用C-FREE写的。在论坛看了看,好像好多人都没学多少章节,但是学过的都比我们从课本上学的深呐,

哎,学校开的C只有半年的课就完了,以后怎么搞噢~~~~!!

#defineM25

#defineN6

#include

#include

#include

structstudent

intnum;

charname[20];

intscore[N];

floatave;

}st[M];

structkecheng

intnum;

charkcname[20];

floatxuefen;

floatave;

doublebzc;

}course[N];

structtongji

intexc;

intgood;

intmid;

intpass;

intnopass;

}tongji[N];

/*读取数据文件WL0114.txt*/

voidread_dat1()

inti,j;

charstr1[100];

FILE*fp;

fp=fopen("D:\\WL0114.txt","r");

if(fp==0)

printf("cannotopen");

exit(0);}

fgets(str1,10000,fp);

for(i=0;i

fscanf(fp,"%d%s",&st[i].num,st[i].name);

for(j=0;j

fscanf(fp,"%d",&st[i].score[j]);

fclose(fp);

/*读取数据文件WL01kc.txt*/

voidread_dat2()

FILE*fp;

intk;

charstr2[100];

fp=fopen("D:\\WL01kc.txt","r");

if(fp==0)

printf("cannotopen");

exit(0);

fgets(str2,100,fp);

for(k=0;k

fscanf(fp,"%d%s%f",&course[k].num,course[k].kcname,&course[k].xuefen);

fclose(fp);

/*计算每名学生N门课的加权平均分*/

voidjqave()

{FILE*fp;/*******自动创建CTJ0114.txt文件********/

fp=fopen("D:\\CTJ0114.txt","w");

fprintf(fp,"名次学号姓名英语C语言线性代数离散数学高等数学密码学平均成绩\n");

fclose(fp);

inti,j;

floats=0,sum;

for(i=0;i

s+=course[i].xuefen;

for(i=0;i

sum=0;

for(j=0;j

sum+=st[i].score[j]*course[j].xuefen;

st[i].ave=(int)(sum*10.0/s+0.5)/10.0;

/*计算每门课的平均分和标准差*/

voidcourse_ave()

inti,j;

floatsum;

for(i=0;i

{sum=0;

for(j=0;j

sum+=st[j].score[i];

course[i].ave=sum/M;}

for(i=0;i

sum=0;

for(j=0;j

sum+=(st[j].score[i]-course[i].ave)*(st[j].score[i]-course[i].ave);

course[i].bzc=sqrt(sum/M);

/*统计每门课的优良中及格与不及格的情况*/

voidcourse_tongji()

inti,j;

for(i=0;i

for(j=0;j

if(st[i].score[j]>=90)tongji[j].exc+=1;

elseif(st[i].score[j]>=80)tongji[j].good+=1;

elseif(st[i].score[j]>=70)tongji[j].mid+=1;

elseif(st[i].score[j]>60)tongji[j].pass+=1;

elsetongji[j].nopass+=1;

/*利用函数course_tongji()的统计结果得到以下各课程成绩分布示意图*/

voidcourse_tjpic()

inti,j;

printf("\n*******************************************************************************\n");

printf("\n各课程成绩分布示意图\n");

printf("\n0.返回主菜单1.英语2.C语言3.线性代数4.离散数学5.高等数学6.密码学.\n");

printf("\n*******************************************************************************\n");

while(1){

printf("输入课程编号(1-6):");

scanf("%d",&j);

switch(j){

case1:case2:case3:case4:case5:case6:{

printf("\t\t%10s成绩分布示意图\n",course[j-1].kcname);

printf("优秀:\t");for(i=0;i

printf("良好:\t");for(i=0;i

printf("中等:\t");for(i=0;i

printf("及格:\t");for(i=0;i

printf("不及格:\t");for(i=0;i

case0:return;

default:printf("输入有误!\n");break;

/*统计不及格的学生并输出其信息*/

voidst_tongji()

inti,j;

printf("\n学号姓名课程名称学分成绩\n");

for(i=0;i

for(j=0;j

if(st[i].score[j]<60)

printf("\n%2d%10s%15s%10.1f%10d\n",st[i].num,st[i].name,course[j].kcname,course[j].xuefen,st[i].score[j]);

elsecontinue;

/*利用函数jqave()的结果对学生进行排名*/

intpaim(floatt)

inti,n=0;

for(i=0;i

if(t

elsecontinue;

}returnn+1;

/*统计优秀学生,并显示其信息*/

voidst_tongji2()

inti,j;

printf("\n学号姓名英语C语言线性离散高数密码学平均分名次\n");

for(i=0;i

for(j=0;j

if(st[i].ave>=92||paim(st[i].ave)<=5||(st[i].ave>=88&&st[i].score[j]>=99))

printf("\n%2d%9s",st[i].num,st[i].name);

for(j=0;j

printf("%8d",st[i].score[j]);

printf("%10.1f%4d\n",st[i].ave,paim(st[i].ave));

elsecontinue;

/*将排名后的班级成绩单写入到MC0114.txt*/

voidWrite_cjd()

FILE*fp;

inti,j;

fp=fopen("D:\\MC0114.txt","w");

if(fp==0)

printf("Failetobuildanewfile!\n");

exit(0);

fprintf(fp,"名次学号姓名英语C语言线性代数离散数学高等数学密码学平均成绩\n");

for(i=0;i

fprintf(fp,"%3d%4d%10s",paim(st[i].ave),st[i].num,st[i].name);

for(j=0;j

fprintf(fp,"%10d",st[i].score[j]);

fprintf(fp,"%10.1f\n",st[i].ave);

}printf("文件创建成功,完整路径:D:\\MC0114.txt\n\n");

fclose(fp);

/*将统计每门课的优良中及格与不及格的情况写入到MC0114.txt*/

voidWrite_course()

FILE*fp;

inti,j;floatt;

fp=fopen("D:\\KC0114.txt","w");

if(fp==0)

printf("Failetobuildanewfile!\n");

exit(0);

fprintf(fp,"编号课程名平均分标准差优秀良好中等及格不及格\n");

for(i=0;i

fprintf(fp,"%d%10s%10.1f%10.1f%10d%10d%10d%10d%10d\n",course[i].num,course[i].kcname,course[i].ave,course[i].bzc,tongji[i].exc,tongji[i].good,tongji[i].mid,tongji[i].pass,tongji[i].nopass);

printf("文件创建成功,完整路径:D:\\KC0114.txt\n\n");

fclose(fp);

/*显示每名学生的成绩*/

voidst_cjd()

FILE*fp;

inti,j;

fp=fopen("D:\\CTJ0114.txt","a");

printf("输入学生的学号:");

scanf("%d",&i);

if(i>=0&&i<=M)

{printf("名次学号姓名英语C语言线性代数离散数学高等数学密码学平均成绩\n");

fprintf(fp,"%2d%4d%10s",paim(st[i-1].ave),st[i-1].num,st[i-1].name);

printf("%3d%4d%10s",paim(st[i-1].ave),st[i-1].num,st[i-1].name);

for(j=0;j

printf("%8d",st[i-1].score[j]);}

fprintf(fp,"%10.1f\n",st[i-1].ave);

printf("%10.1f\n",st[i-1].ave);fclose(fp);

printf("\n此学生成绩已经保存到了:D:\\CTJ0114.txt\n\n");

else{printf("无效学号!\n");st_cjd();}

voidmain_chaxun()

intn;

printf("\n*******************************************************************************\n");

printf("\n学生详细成绩查询系统\n");

printf("\n1.输出指定学生的成绩2.显示不及格名单3.显示优秀生名单4.返回主菜单.\n");

printf("\n*******************************************************************************\n");

while(1){printf("执行查询命令:");

scanf("%d",&n);

switch(n)

{case1:st_cjd();break;

case2:st_tongji();break;

case3:st_tongji2();break;

case4:return;

default:printf("输入有误!\n");break;

voidmain_menu()

{intn;

printf("\n&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&\n");

printf("\n简易教学管理系统\n");

printf("\n1.创建班级成绩单2.创建各课程成绩统计3.学生成绩查询4.课程成绩分布查询5.退出.\n");

printf("\n&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&\n");

while(1){printf("执行命令:");

scanf("%d",&n);

switch(n)

{case1:Write_cjd();break;

case2:Write_course();break;

case3:main_chaxun();main_menu();

case4:course_tjpic();main_menu();

case5:exit(0);

default:printf("输入有误!\n");break;

main()

read_dat1();

read_dat2();

jqave();

course_ave();

course_tongji();

main_menu();

两个数据文件的内容

(1)两个数据文件

/*Wl0114.txt文件内容*/

学号姓名英语C语言线性代数离散数学高等数学密码学

1刘**919293949596

2***859267759386

3***887691929377

4杨新659454918866

5拓拔野938533549490

6梁萧909489909291

7程冬699892595890

8周风928986945992

9田小玉897892887074

10秦羽896977746890

11花小霜909293918978

12柳莺莺918559886592

13公羊羽896891898788

14项少龙887766558794

15董帅民899277916567

16高进885688786989

17花清啸896582948489

18王小宝695844243355

19谷慎929190939491

20陆见858984818392

21余敏津599180858584

22梁文靖858494929394

23万归藏919485838161

24鸣人855793945868

25武大858187868072

/*WL01LC.txt文件内容*/

编号课程名称课程学分

1英语6.0

2C语言4.0

3线性代数5.0

4离散数学4.5

5高等数学3.0

6密码学2.0

c十十编程要学多久?

C十十编程要学多久,具体看有没有计算机语言基础,如果有,大概一个月可学懂,如果没有则可能要花半年的时间。

声明:易趣百科所有作品(图文、音视频)均由用户自行上传分享,仅供网友学习交流。若您的权利被侵害,请联系315127732@qq.com
广告位招租
横幅广告