为了正常的体验网站,请在浏览器设置里面开启Javascript功能!
首页 > C语言课程设计学生成绩管理系统个人总结

C语言课程设计学生成绩管理系统个人总结

2023-01-22 3页 doc 54KB 17阅读

用户头像 个人认证

is_041319

暂无简介

举报
C语言课程设计学生成绩管理系统个人总结PAGEPAGE1C语言课程设计学生成绩管理系统个人总结第一篇:C语言课程设计学生成绩管理系统个人总结C语言课程设计——学生成绩管理系统个人心得体会(徐州工程学院14计嵌1班07组张凯)这一周以来的课程设计,不仅让我明白了C语言的确是一门很有用的,但是又是不容易的一门课程。起初刚开始做课程设计时,以为这个课程设计不会有多难,只不过是把多个函数组合起来就好了,但是,经过这一星期的编程,发现要完完整整把程序按照要求编出来是一件很不容易的事情。然而在这一周以来的学习中,也对C语言这门课程有了更加的了解和学习。在整个编程的...
C语言课程设计学生成绩管理系统个人总结
PAGEPAGE1C语言课程学生成绩管理系统个人总结第一篇:C语言课程设计学生成绩管理系统个人总结C语言课程设计——学生成绩管理系统个人体会(徐州工程学院14计嵌1班07组张凯)这一周以来的课程设计,不仅让我明白了C语言的确是一门很有用的,但是又是不容易的一门课程。起初刚开始做课程设计时,以为这个课程设计不会有多难,只不过是把多个组合起来就好了,但是,经过这一星期的编程,发现要完完整整把程序按照要求编出来是一件很不容易的事情。然而在这一周以来的学习中,也对C语言这门课程有了更加的了解和学习。在整个编程的过程中,可以说遇到了很多难题,但是让我印象最深刻的是在编写从某文件中读取学生信息这个程序时所遇到的困难。起初,程序时编写出来了,在组建时也没有错误,但是就是实现不了这个功能,接着就是整整一天的苦战;终于,能够读取文件中的信息了,可是,新问题又来了,在显示读取的信息时出现了乱序。另外在编写加密代码的时候竟然忘记了将其放在主函数中运行闹了笑话,在指导老师的帮助下最后解决了这个问题。每天看到一行行代码着实有时让人头大。然而在这个程序完整地编写下来,我觉得编写程序需要很大的耐心,一个稍微大点的程序就有个几百甚至上千行,没有耐心是很难做得成功的。当然细心也很需要,在编程的过程中有很多错误都是自己的粗心造成的,有时甚至自己多次检查都看不出来,这样一来,会造成时间的大量浪费。这次的课程设计也是一次很好的对自我的检查。它让我知道了自己在C语言的学习上还不够认真刻苦,很多知识点还是没有很好的掌握,甚至有些知识点很生疏,这也许就是我在编写从某文件中读取学生信息这一函数时老碰壁的原因所在!从这一点上来看,发现我对待学习的态度还不够端正,有待加强。不管怎么说,经过这一次课程设计,在C语言方面的收获最大,让我读代码的能力大大提升了不少,也巩固了很多知识。同时也受到了指导老师刘云、邹文辉的细心指导,非常感谢!第二篇:语言课程设计-学生成绩管理系统1、课程设计的目的、任务《汇编语言》课程设计对于巩固汇编语言理论知识,加强学生的实际动手能力和提高学生综合素质十分必要。课程设计的目的主要是通过程序设计方法和技能的基本训练,巩固在课堂上学到的有关程序设计的基本知识和基本方法,通过实际动手能力的培养,进一步熟悉汇编语言的结构和使用方法,达到能独立阅读、编制和调试一定规模的汇编语言程序的水平。2、软件需求分析和设计2.1学生成绩管理系统是对学生成绩的管理,其中包括以下几个模块:(1).插入一个数据(插入学生学号以及语数外三个成绩)。(2)修改一个数据。(3)删除学生成绩数据。(4)查找学生成绩。(5)查看学生成绩的排名(6)查看学生成绩分布(7)按esc键退出系统2.2学生成绩管理系统应该包含以下信息:学号,语文成绩,英语成绩,数学成绩。因此,系统应该提供以下功能:(1)输出显示菜单。(2)输入学生的成绩(3)修改学生成绩(4)删除学生成绩(5)查询学生成绩(6)显示学生成绩排名(7)显示成绩分布统计(8)按esc键退出系统2.3依据程序的功能需求,该系统的功能结构图如下系统功能结构图2.4程序流程图:主程序流程图查找学生成绩插入学生学号及成绩修改学生的成绩显示各个学科各分数段的人数3、程序实现说明3.1学生管理系统中各子程序如下:(1).输入全部学生学号以及语文,英语,数学三科的成绩。子程序名:insert子程序描述:该子程序为输入字程序。系统在开始的时候是没有数据的,通过该子程序可以初始化系统,将学生的学号及成绩输入系统。代码:insertprocnear;定义进程子程序:插入学生,学号及成绩callinput;调用inputaddn,1retinsertendp(2).修改输入的成绩。子程序名:modify子程序描述:通过子程序修改学生的成绩代码:modifyprocnear;定义进程子程序:修改学生学号,成绩md1:outputmess1;输出mess1shuru;调用宏shuru:二位数据输入movbl,nmovbh,0moval,dlmovsi,0md:cmpal,xh[si];先查找输入的学生是否存在jeqq1_1;查到的话,就跳转到qq1_1输入修改的值,也就是重新输入。;结果相等则跳转到qq1_1addsi,1cmpsi,bxjbemd;小于等于则跳转到mdoutputmess;输出messjmpmd1;不相等继续输入学号qq1_1:;转入修改的值重新输入。movdi,sioutputmess2outputmess4movsi,0movcx,3qq3_1:shuruu;cmpdx,78h;jbeqq2_1;outputts3;jmpqq1_1;qq2_1:movbuf[si],dloutputbg;addsi,1loopqq3_1moval,buf[0];movchi[di],almoval,buf[1]分别输入语文,英语,数学成绩,并将其放在缓冲区buf中比较输入的成绩是否大于120XX果大于120XX话,那么重新输入成绩小于等于则转移到qq2_1输出ts3跳转到qq1_1输出空格将存入buf中的成绩,分别赋值给存放对应科目的成绩的数组moveng[di],almoval,buf[2]movmat[di],alretmodifyendp(3).删除学生的成绩。子程序名:delete子程序描述:通过子程序删除学生的成绩代码:deprocnear;删除某个学生的记录sc1:outputmess1shuru;调用宏shuru,接受输入的学号movbl,nmovbh,0moval,dlmovsi,0sc:cmpal,xh[si];查询输入学号的学生信息是否存在,不存在的话,重新输入学号jesc2;相等则转移到sc2addsi,1cmpsi,bxjbesc;小于等于则转移到scoutputmess;输出messjmpsc1sc2:subbx,sicmpbx,0jesc3;相等则转移到sc3movcx,bxsc4:movdl,chi[si+1]movchi[si],dlmovdl,eng[si+1]moveng[si],dlmovdl,mat[si+1]movmat[si],dlmovdl,xh[si+1]movxh[si],dladdsi,1loopsc4;loop循环指令,执行操作(cx)<--(cx)-1.若cx!=0,跳转到标号sc处循环执行;cx=0,则推出循环,执行loop的下一条指令subn,1sc3:retdeendp(3).查询学生的成绩。子程序名:find子程序描述:通过子程序查询学生的成绩代码:findprocnear;定义进程子程序:查找学生成绩callsum;求学生的总成绩callping;求学生的平均成绩bj1:outputmess1;输出mess1shuru;二位数数据输入movbl,nmovbh,0moval,dlmovsi,0bj:cmpal,xh[si];将输入的学号与输入的学号相比,jei;存在的话,将此学生的成绩输出。je表示结果相等则转移。addsi,1cmpsi,bxjbebj;outputmessjmpbj1i:outputstrr2shuzixh[si];shuzioutputbg;moval,chi[si]cbw;shuziiax;shuziioutputbg;moval,eng[si]cbw;shuziiax;shuziioutputbgmoval,mat[si]cbwshuziiaxoutputbg;moval,pj[si]cbw小于等于则转移到bj为二位数据输出输出空格将字节变为字为三位数据输出。输出空格将字节变为字为三位数据输出输出空格的字符串,用于与标题栏对齐shuziiaxoutputbgmovax,simovbl,2mulblmovbx,axshuziizc[bx];shuzii为三位数据输出outputbg;输出空格的字符串,用于与标题栏对齐shuzimc[si];shuzi为二位数据输出retfindendp(4).显示学生的成绩排名。子程序名:show子程序描述:通过子程序显示学生的成绩排名代码:showprocnear;定义进程子程序:显示结果排名callsum;调用宏sumcallping;调用宏pingcallrank;调用宏rankcallshuchu;调用宏shuchuretshowendp3.2程序运行抓图:主菜单修改学生成绩删除学生成绩显示各个学科各分数段的人数4、程序总结通过两个星期的学习,努力,终于完成了报告。系统可以很好的运行。这两个多星期的时间,几乎每天不是在敲代码,就是在看代码,查书,上网。系统中用到了很多最近才学习的知识,比如宏,子程序。这些都使得代码的运行效率提高了,代码行数减少了。系统还用到了bios的清屏功能。这些功能如果不是做课程设计,我想我很难会接触到这些知识。由于自己对知识掌握的不是很牢固,其中也会碰到一些困难。每当遇到问题的时候,我会先上网去查找,看看有没有人提过这方面的问题。互联网是强大的,大部分的问题通过网络都可以解决。部分找不到的问题,我就去请教班里学得好的同学。他们对知识的掌握远超过我。这样下来,很多问题都迎刃而解了。课程设计是一个很好的掌握书本上知识的过程。平时上课之后,自己都不会想着去敲一些代码联系联系。通过做课程设计,将理论与实践结合了起来,对知识的理解更加深入了。第三篇:C语言课程设计任务书(学生成绩管理系统)课程设计题目:简单的学生成绩管理的程序要求:一、由键盘输入原始数据。原始数据内容如下:学号姓名C程序设计高等数学英语线性代数1王..808080802张..90909090注:要求至少有20XX生的原始数据二、实现以下功能。程序要求主函数是一个功能选择菜单,其它各功能用函数实现。功能要求如下:1、原始数据的输入2、计算每位同学的平均分3、计算每门课程的平均分4、计算各分数段(90-100、80-89、60-79、60以下)的人数5、对这些同学的成绩按平均分排序,给出名次。6、对原始数据可以进行增、删、改的编辑操作。7、按学号查询学生。找到则显示该生信息,否则提示未找到。8、原始数据可以保存为文件,也可以从文件载入。注:程序统计输出结果如下:学号姓名C程序设计高等数学英语线性代数平均分名次1王..808080808022张..90909090901…各科平均分8585858585C程序设计高等数学英语线性代数平均分90-1001111180-891111160-690000060以下00000第四篇:C语言课程设计报告-学生成绩管理系统(vc)一、实践的目的和要求加深对《C语言》课程所学知识的理解,进一步巩固C语言语法规则。学会编制结构清晰、风格良好、数据结构适当的C语言程序,从而具备解决综合性实际问题的能力。二、实践内容在熟练掌握C语言的基本知识:数据类型(整形、实型、字符型、指针、数组、结构等);运算类型(算术运算、逻辑运算、自增自减运算、赋值运算等);程序结构(顺序结构、判断选择结构、循环结构);大程序的功能分解方法(即函数的使用)等。进一步掌握各种函数的应用,包括时间函数、绘图函数,以及文件的读写操作等。三、实践任务1.欢迎画面2.学生成绩管理系统(自己设计界面)3.异或加密与解密(1)文件加密(2)文件解密说明:将某一已知文件的内容以字符形式读出,与密钥(用户从键盘输入)的对应字符进行异或操作即可,解密同样如此。如:设原文为ab1234,密钥为56,则有ab1234565656按二进制进行异或操作即可得到密文(乱码)。4.移位加密与解密(1)文件加密(2)文件解密说明:将某一已知文件的内容(限于英文字母)以字符形式读出,根据密钥k(用户从键盘输入)将对应字符进行移位操作即可,解密时移动方向相反。如:设原文为abcdef,密钥为5,则有abcdef每个字母按字母表向后移动位(注:z后接a)fghijkl可得到密文(乱码)。5.辅助运算(1)整数N模m的乘法逆t要求:输入整数N和m,求出t,若t不存在,给出信息。提示:这三个数满足:N*t%m=1,使用穷举法。例如:当N为11,m为26时,由于(11×19)%26=1,所以11模26的乘法逆为19。(2)统计字母个数要求:输入一段英文字母,统计各个字母的个数,并按个数从大到小排序输出。提示:字母大小写等价。输出格式为:字母:个数。(3)OTP加密要求:输入同等长度的原文x和密钥k(英文字母),根据c=(x+k)%26得到密文,并输出。提示:将26个字母按0~25编号,将原文字母和对应位置的密钥字母的编号按上述公式进行计算后得到一个新的字母。四、设计流程图流程图另附!五、相关程序1欢迎画面#include#includestructSnow{intx;inty;intspeed;}snow[100];intsnownum=0;intsize;intchange=10;void*save1,*save2;voidCopy();voidDrawSnow();voidPr();voidmain(void){intgd=DETECT,gm;initgraph(&gd,&gm,“c:urboc2”);Copy();DrawSnow();getch();closegraph();}voidCopy(){setcolor(0);setfillstyle(SOLID_FILL,15);fillellipse(20XX20XX4,4);size=imagesize(196,196,20XX20XX;save1=malloc(size);save2=malloc(size);getimage(196,196,20XX20XXsave1);getimage(96,96,104,104,save2);}voidPr(){ints[15]={0,100,150,20XX150,20XX250,150,250,300,250,150,100,250,350};setcolor(change/10);settextstyle(0,0,4);outtextxy(150,20XX“Welcome!!”);sound(s[change/10]);}voidDrawSnow(){inti;intsx[62];randomize();for(i=0;i<62;i++)sx[i]=(i+2)*10;cleardevice();while(!kbhit()){Pr();if(snownum!=100){snow[snownum].speed=2+random(5);i=random(62);snow[snownum].x=sx[i];snow[snownum].y=10-random(100);}for(i=0;iputimage(snow[i].x,snow[i].y,save2,COPY_PUT);Pr();if(snownum!=100)snownum++;/*delay(300);*/setfillstyle(SOLID_FILL,15);for(i=0;isnow[i].y+=snow[i].speed;putimage(snow[i].x,snow[i].y,save1,COPY_PUT);if(snow[i].y>500)snow[i].y=10-random(20XX;}change++;if(change==140)change=10;}nosound();}2学生成绩管理系统(自己设计界面)#defineN1structstudent{charnum[10];charname[10];intscore[4];floatave;}stu[N];main(){inti,j,max,maxi,sum;floataverage;for(i=0;i{printf(“Pleaseinputscoresofstudent%d:n”,i+1);printf(“NO.:”);scanf(“%s”,stu[i].num);printf(“name:”);scanf(“%s”,stu[i].name);for(j=0;j<3;j++){printf(“score%d:”,j+1);scanf(“%d”,&stu[i].score[j]);}}average=0;max=0;maxi=0;for(i=0;ifor(j=0;j<3;j++)sum+=stu[i].score[j];stu[i].ave=sum/3.0;average+=stu[i].ave;if(sum>max){max=sum;maxi=i;}}average/=N;printf(“NO.namescore1score2score3averagen”);for(i=0;i{printf(“%5s”,stu[i].num);printf(“%10s”,stu[i].name);for(j=0;j<3;j++)printf(“%9d”,stu[i].score[j]);printf(“%8.2fn”,stu[i].ave);}printf(“average=%6.2fn”,average);printf(“Thehighestscoreis:%s,scoretotal:%dn”,stu[maxi].name,max);getch();}3.异或加密与解密#include#include#include#includevoidjiami(char*in,char*pwd,char*out);voidmain(intargc,char*argv[]){charin[30];charout[30];charpwd[8];if(argc!=4){printf(“Inputfilename:n”);gets(in);printf(“Pleaseenterpassword:n”);gets(pwd);printf(“Outputfilename:n”);gets(out);jiami(in,pwd,out);}else{strcpy(in,argv[1]);strcpy(pwd,argv[2]);strcpy(out,argv[3]);jiami(in,pwd,out);}}voidjiami(char*in,char*pwd,char*out_file){FILE*fp1,*fp2;registercharch;intj=0;intk=0;fp1=fopen(in,“rb”);if(fp1==NULL){printf(“Cannotopenin-file!n”);exit(1);}fp2=fopen(out_file,“wb”);if(fp2==NULL){printf(“Cannotopenorcreateoutput-file!n”);exit(1);}while(pwd[++k]);ch=fgetc(fp1);while(!feof(fp1)){fputc(ch^pwd[j>=k?j=0:j++],fp2);ch=fgetc(fp1);}fclose(fp1);fclose(fp2);}4.移位加密与解密#include“stdio.h”main(){intchoice=0,k;FILE*fp1,*fp2;charc,filename1[30],filename2[30];printf(“Pleaseinputtwodeferentfilename:”);scanf(“%s%s”,filename1,filename2);printf(“Pleaseinputthepassword:n”);scanf(“%d”,&k);if((fp1=fopen(filename1,“r”))==NULL)printf(“nERROR!CANNOTOPENTHEFILEn”);else{fp2=fopen(filename2,“w”);printf(“nChoose:(1-jiami2-jiemi)”);scanf(“%d”,&choice);switch(choice){case1:do{c=getc(fp1);if(((c>='a')&&(c<='z'-k))||((c>='A')&&(c<='Z'-k)))putc(c+k,fp2);elseif(((c>'z'-k)&&(c<='z'))||((c>'Z'-k)&&(c<='Z')))putc(c-(26-k),fp2);elseputc(c,fp2);}while(c!=EOF);break;case2:do{c=getc(fp1);if(((c>='a'+k)&&(c<='z'))||((c>='A'+k)&&(c<='Z')))putc(c-k,fp2);elseif(((c>='a')&&(c<'a'+k))||((c>='A')&&(c<'A'+k)))putc(c+(26-k),fp2);elseputc(c,fp2);}while(c!=EOF);break;default:printf(“nYouhavechooseawrongnumber!Pleasechooseagain!”);}}fclose(fp1);fclose(fp2);}5.辅助运算(1)整数N模m的乘法逆tmain(){unsignedn,m,t=1;intc;printf(“Pleaseenterthenumber:n”);scanf(“%d,%d”,&n,&m);while(t<65535){c=n*t%m;if(c==1||c==0)break;t++;}if(t==65535||c==0)printf(“Nichengnumberisnotexited!n”);if(c==1)printf(“Tis:%dn”,t);getch();}(2)统计字母个数#include“string.h”main(){inti,j,t;chara[80],b[26];intc[26];chare;printf(“Pleaseentertheletters:n”);gets(a);for(i=0;i<26;i++)b[i]='A'+i;for(i=0;i<26;i++)c[i]=0;for(j=0;j<80;j++){for(i=0;i<26;i++){if(a[j]==b[i]||a[j]==b[i]+32)c[i]++;}if(a[j]=='')break;}for(j=0;j<=25;j++){for(i=0;i<=25;i++){if(c[i]>c[i+1]){t=c[i];c[i]=c[i+1];c[i+1]=t;e=b[i];b[i]=b[i+1];b[i+1]=e;}}}for(i=25;i>=0;i--){if(c[i]!=0)printf(“The%cletternumberis%dn”,b[i],c[i]);}getch();}(3)OTP加密#include“stdio.h”main(){chara[80],b[80],c[80];inti;printf(“Pleaseenterthex:n”);gets(a);printf(“Pleaseenterthek:n”);gets(b);for(i=0;i<80;i++)c[i]=(a[i]+b[i])%26;printf(“Theresultis:n”);for(i=0;i<80&&c[i]!='';i++)printf(“%c”,c[i]);getch();}六心得体会通过此次C语言程序设计实践,本人实在是获益不浅!C语言是上个学期开的课程,所以这个学期并没怎么看过,当要开始设计的时候,还真不知从哪下手!结果,第一次的上机,我只坐了一个下午,什么也没干!回去以后,我想,这样不行,这样下去还得了!我就重新学了一遍我们上个学期的教材,发觉自已有许多都遗忘了!特别是有文件的操作,几乎是一遍空白!温习过后,开始做题!那个欢迎动画是在”C语言之家”找到的,自已改了一下,但并没做多大的改动!之后做出来的第一个程序是”统计字母个数”,因为上个学做过类似的!接着是”乘法逆”,这个我觉得比较简单!再接着是”OTP”加密!而那个学生成绩管理系统是参考了上机手册后做出来的!最后,花了最多时间的是”异或加密与解密”和”移位加解密”,几乎花了我百分之九十的时间,而且还是在一些在其他大学读计科专业的同学的帮助下和在上网查看了大量的资料之后才做出来!最后,想说两句,这次设计,让我重新掌握了C语言,而且还得到了用C语言解决实际问题的宝贵经验!七参考文献<><><>第五篇:课程设计--成绩管理系统“成绩管理系统”课程设计指导书课题名称:学生成绩管理系统设计目标:按照软件工程的规范,以SQLServer或Oracle为后台数据库,以VisualC++、Delphi等为前端开发工具,设计并实现一个能模拟高等学校学生成绩管理的系统。需求描述:学生成绩管理系统中:1.系统用户系统的用户是学校的学生、教师和管理员。学生使用本系统查询自己的成绩。教师使用本系统录入和查询自己所授课程的考试成绩。教学管理员可以查询所有课程成绩,并使用本系统进行成绩的统计和生成报表。2.系统功能(1)成绩录入:教师可以查询自己本学期所授课程,并录入学生的考试成绩。录入过程中,可以暂存已录入的成绩,当录入完成后提交。(2)成绩维护:教师在提交前,可以修改已录入或暂存的学生成绩;但提交后,则只能查询不能再进行任何修改。教学管理员可以清除教师已提交的成绩。(3)成绩查询:教师、教学管理员可以查询学生考试成绩。学生只允许查询自己的考试成绩,教师只允许查询自己所授课程的成绩。(4)成绩统计:教学管理员可以按课程、按学生、按班级等进行成绩统计。教学管理员根据核算出的总评成绩统计处于优、良、中、及格、不及格的学生人数以及占总人数的百分比。其中100-90为优,89-80为良,79-70为中,69-60为及格,60分以下为不及格。按要求输出成绩在优、良、中、及格、不及格各区间的学生学号。结果形式:提交课程设计报告、源程序和可演示的软件课程设计报告要求:详见课程设计模板课程设计参考思路:(1)熟悉数据库和开发工具,掌握开发工具与本地数据库的连接方法。(2)理解系统的信息需求,进行合理的数据库设计,建立各数据库表。(3)理解系统的功能需求,设计应用软件。结合Delphi或VC++进行系统界面(窗体、菜单以及相应控制按钮)的设计、连接与操纵数据库的设计,编写程序。(4)系统运行、调试并完善。(5)撰写设计报告。
/
本文档为【C语言课程设计学生成绩管理系统个人总结】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索