ImageVerifierCode 换一换
格式:DOCX , 页数:20 ,大小:80.49KB ,
资源ID:4509918      下载积分:5 金币
快捷注册下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

开通VIP
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.zixin.com.cn/docdown/4509918.html】到电脑端继续下载(重复下载【60天内】不扣币)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

开通VIP折扣优惠下载文档

            查看会员权益                  [ 下载后找不到文档?]

填表反馈(24小时):  下载求助     关注领币    退款申请

开具发票请登录PC端进行申请

   平台协调中心        【在线客服】        免费申请共赢上传

权利声明

1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。

注意事项

本文(学生成绩标准管理系统高质量C语言程序样本(共25页).docx)为本站上传会员【二***】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4009-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

学生成绩标准管理系统高质量C语言程序样本(共25页).docx

1、学生成绩标准管理系统高质量C语1=1 mi言程序 5、总结 本学生成绩管理系统能够实现增加,修改,删除记录的信息维护功能、按姓名,学号查 询学生成绩信息功能、某一课程在某一分数段的统计功能及某一课程的排序功能。编好程序, 运行完毕后,我们也发现了一些缺陷。比如,修改只能通过输入学号对该记录数据组进行修 改,而删除也只做了输入学号删除记录的设定。 当然,缺憾是补课避免的。总体上来讲,计算机综合课程设计上完了,完成了一个基本 的学生成绩管理系统,从系统需求分析、数据库设计开始到系统的设计实施,逐步熟悉了 c 语言程序设计。在组长的带领下我们经过了好几周的时间反复编写和调试程序,

2、从课本和网 上查阅相关资料,终于完成了整个课程设计。过程中,也遇到不少困难,如编程逻辑把握不 住,经验太少,不太善于调试程序等。不过我们还是一步一步的自己动手做,不会的地方参 考别人的程序自己再试着写或请教老师,在此过程中收获多多。 6、答辩记录7、教师意见 附录:^include <>^include <> #include<>#define SIZE 5 struct Student_type( char name[10]; int num; int math; int physic; int Clanguage; int English;) stud[SIZE];i

3、nt weihuxuanze () ( int i; printf("**”); printf("\t**\n"); printf("**”); printf (〃*请选择你所需的功能的序号*\n"); scanf &i); return i;}void saved () FILE *fp; int i: if ((fp=fopen"wb")) ==NULL) printf(*can open file\n"); return; ) for(i=0;i

4、), 1, fp)!=1)printf(*file write error\n"); fclose(fp);) void save (){ FILE *fp;int i; if ((fp=fopen "ab")) =NULL) ( printf("can open file\n"); return; ) if(fwrite(&stud[SIZE], sizeof(struct Student_type), 1, fp)!=1)printf("file write error'n"); fclose(fp); printf ("添加成功\n");for(i=0;i

5、l;i++) { fread (&stud[i], sizeof(struct Student_type), 1, fp); printf(*%-10s%8d%4d%4d%4d%4d\n*, stud[i]. name, stud[i]. num, stud[i]. math, stud[i].physic, stud[i]. Clanguage, stud[i]. English); )void zengjiaO ( printf (〃请输入新学生信息\n"); scanf ("%s%d%d%d%%d%d”, stud [SIZE], name, &stud [SIZE].

6、num, &stud [SIZE], math, &stud [SIZE], physic, &stud[SIZE]. Clanguage, &stud[SIZE]. English); save ();} voidxiugai(struct /*修改*/ ( Student_typestud[]) int i=0, choice;int u; printf C请输入您要修改的学生的学号:\n"); scanf("%s”, &u);for(i=0;i

7、intf C| 高数 ——\n〃); 请按 1 1 \rT); 请按2 | \n); printf C | 大物请按 3 |\n〃);printf (" | c 语言请按 4 | \n“); printf (* | 英语 printf("| 退出 printf( + 请按 5 | \n"); 请按 0|\n"); +\n ); printf C请输入您的选择:”); scanf("%d”, &choice): switch(choice)case 0:break; case 1: printfC请输入新姓名:〃); scanf("%s", stud[i]. name)

8、 break;case 2: printfC请输入新的高数分数:〃); scanf&stud[i]. math);break; case 3: printfC请输入新的大物分数:"); scanf("%d”, &stud[i]. physic);break; case 4: printfC请输入新的c语言分数:〃); scanf&stud[i]. Clanguage); break;case 5: printfC请输入新的英语分数:〃); scanf("%d”, &stud[i]. English);break; default: printf ("\n 无效选项!”); b

9、reak;}break; }printf C修改成功\n"); for(i=0;i

10、SIZE-l;i++) (if(strcmp(stud[i]. name, s)==0) ( /*删除操作*/ for(j=i;j

11、ish; ) ) ) ) printf("Delete Successed!\n"); saved (); for(i=0;istud[k]. math)( k=j; p=

12、stud[i]. physic;stud[i]. physic=stud[k]. physic;stud[k]. physic=p;q=stud[i]. math;stud[i]. math=stud[k]. math;stud[k]. math=q: r=stud[i]. English;stud[i]. English=stud[k]. English;stud[k], English=r; w=stud[i]. Clanguage;stud[i]. Clanguage=stud[k]. Clanguage;stud[k], Clanguage=w;t=stud[i]. num;stu

13、d[i]. num=stud[k]. num;stud[k]. num=t; strcpy(x, stud[i]. name);strcpy (stud[i]. name, studfk]. name); strcpy (stud[k]. name, x);} }for(i=0;i

14、排序*/ {k=i;for(j=i+l;jstud[k]. physic)( k=j; p=stud[i]. physic;stud[i]. physic=stud[k]. physic:stud[k]. physic=p;q=stud[i]. math;stud[i]. math=stud[k]. math;stud[k]. math=q: r=stud[i]. English;stud[i]. English=stud[k], English;stud[k]. English=r; w=stud[i]. Clangua

15、ge;stud[i]. Clanguage=stud[k]. Clanguage;stud[k], Clanguage=w;t=stud[i]. num;stud[i]. num=stud[k]. num;stud[k]. num=t; strcpy(x, stud[i]. name);strcpy (stud[i]. name, studfk]. name); strcpy (stud[k]. name, x);} }for(i=0;i

16、nt i, j,k=O, p, q, r,w; double y;char x[10]; int t;for (i=0; istud[k]. Clanguage)( k=j; p=stud[i]. physic;stud[i]. physic=stud[k]. physic;stud[k]. physic=p;q=stud[i]. math;stud[i]. math=stud[k]. math;stud[k]. math=q: r

17、stud[i]. English;stud[i]. English=stud[k]. English;stud[k]. English=r; w=stud[i]. Clanguage;stud[i]. Clanguage=stud[k]. Clanguage;stud[k], Clanguage=w;t=stud[i]. num;stud[i]. num=stud[k]. num;stud[k]. num=t; strcpy(x, stud[i]. name);strcpy (stud[i]. name, studfk]. name); strcpy(stud[k]. name, x)

18、} }for(i=0;istud[k]. English)( k=j; p=stud[i]. physic;stud[i]. physic=stud[k]. physic

19、stud[k]. physic=p;q=stud[i]. math;stud[i]. math=stud[k]. math;stud[k]. math=q: r=stud[i]. English;stud[i]. English=stud[k], English;stud[k]. English=r; w=stud[i]. Clanguage;stud[i]. Clanguage=stud[k]. Clanguage;stud[k], Clanguage=w;t=stud[i], num;stud[i]. num=stud[k]. num:stud[k]. num=t; strcpy(

20、x, stud[i]. name);strcpy (stud[i]. name, studfk]. name); strcpy (stud[k]. name, x);} }for(i=0;i

21、这时的人工管理几乎无法实现,在这种情况下 用数据库进行管理变的尤为必要,这可以发挥计算机的优势,就需要有教务管理系统来提高 学生成绩管理工作的效率。过这样的系统,可以做到信息的规范管理,科学统计和快速的查 询,从而减少管理方面的工作量和减少人为的错误。本次我们组选的就是学生成绩管理系统, 要实现对学生成绩、课程的相关管理。 关键词:成绩管理、C语言项目、程序设计、程序分析 ].physic, stud[i]. Clanguage, stud[i]. English):}} voidtongji(structStudent_typestud[])〃按分数段统计人数 ( int i, j

22、 a, max, min, k, 1, q, p, w;k=0,1=0, p=0, q=0, w=0; printfC你想统计哪科成绩:1高数2大物3C语言4英语\n"); scanf ("%d", &j); printf ("请输入两个分数:\n"); scanf ("%d%d”, &max, &min); if(maxmin&&stud[i]. math

23、4d%4d\n", stud[i]. name, stud[i]. num, stud[i]. math, stud[i]・ physic, stud[i]. Clanguage, stud[i]. English); }} }else if(j==2) for(i=0;imin&&stud[i]. physic

24、tud[i]. Clanguage, studfi]. English);} )) else if(j==3)( for(i=0;imin&&stud[i]. Clanguage

25、imin&&stud[i]. English

26、); printf("\t**\n"); printf C*请选择你所需的功能的序号*\n〃); scanf &i); return i;) int zhucaidanO(int i; printf ("\t******学生成绩管理系统*****\n"); printf("**”); printf("\t**\n"); printf("**”); printf("\t**\n"); printf C*请选择你所需的功能的序号松n〃); scanf &i); return i;} int chaxunxuanze()( int i; printf ("\t\tl.

27、按学号查询\n"); printf C\t\t2 .按姓名查询\n"); printf ("\t\t按其它数字键退出\n"); scanf ("%d",&i); return i;Student_type Student_type stud[]) voidchaxun_xuehao(struct〃按学号查找并显示一个记录 ( int u;int i=0; printfC输入要查询学生的学号:");scanf ("%d", &u); for(i=0;i

28、 stud[i]. name, stud[i]. num, stud[i]. math, stud[i]. ph ysic, stud[i]. Clanguage, stud[i]. English); ) 〃输出该学生信息) voidchaxun_xingming(structStudent_typestud[])〃按姓名查找并显示一个记录 ( char s[10];int i=0; printfC输入要查询学生的姓名:〃);scanf ("%s”, s); for(i=0;i

29、8s%4d%4d%4d%4d%4d\n*, stud[i]. name, stud[i]. num, stud[i]. math, stud[i].ph ysic, stud[i]. Clanguage, stud[i]. English); ) 〃输出该学生信息) intmainO//主函数 int i: int number; void chaxun_xingming(struct Student_type stud[]); FILE*fp; if((fp=fopen"rb"))==NULL) (printf("cannot open file'n"); exit (

30、0); ) for(i=0;i

31、case 1:chaxun_xuehao(stud);break; case 2:chaxun_xingming(stud):break;) break: case 3:tongji(stud);break;case 4:switch(paixuxuanze()) (case l:paixu_math(stud);break; case 2:paixu_physic(stud);break;case 3:paixu_Clanguage(stud);break; );break;default :printf(*对不起,无此功能”);break; }) ) return 0;

32、1、设计目的和要求 以本班同学的高等数学、大学物理、C语言、大学英语的成绩为基础,建立一个可以实 现以下功能的学生成绩管理系统。 A. 信息维护 信息数据以文件形式保存,要求能够实现对学生信息数据的维护,其中包括增加、删除 以及修改学生信息。 B. 信息查询 要求能够能够实现按学生姓名和学号两种方式查询学生各课成绩。 C. 成绩统计 输入任意课程名和一个分数段,统计该课程在该分数段的学生信息。 D. 成绩排序 对用户指定的任意课程名,按成绩升序或降序排列学生数据并显示排序结果。 2、总体设计 根据设计目的和要求,我们首先将程序分成四个模块,分别为信息维护、信息查询、成 绩

33、统计及成绩排序。而在各个主模块中,我们又将其分成若干个小模块,从而实现程序设计 的要求。其中,模块设计如下:信息维护一1、增加学生信息2、删除学生信息3、修改学生 信息;信息查询一1、按学号查询2、按姓名查询;成绩统计;成绩排序一1、按高数排序2、 按大物排序3、按C语言排序4、按英语排序。所以最终实现的功能有:1、增加学生信息2、 删除学生信息3、修改学生信息4、按学号查询成绩5、按姓名查询成绩6、成绩按某门课程 某个分数段统计7、成绩按某门课程排序。 一个方便学校使用的学生成绩管理系统,这个系统的功能比较完善。使用类内函数和主 函数中的switch语句实现多分支选择结构,进而实现该系统的

34、各项功能。该系统能实现7 项功能。设计本次实验所用到的知识点有:类、指针、数组,构造函数,动态内存分配,switch 语句、if语句、while ()语句等。 student类中的构造函数是来实现当类生成对象时用于对数据的初始化。例如 stud[].name是对学生姓名的初始化,stud[].math是对学生高等数学成绩的初始化,而 stud[]. Clanguage是对学生c语言成绩的初始化。而student类将有内在联系的,成组出现 的学生姓名,学号,各科成绩结合在一起,形成一种组合型数据结构。 3. 详细设计 该部分是用来修改己录入的学生的数据信息。 我们采用通过学号修改的方法来

35、修改已录入的学生的数据信息。当输入学生学号后,系 统会提示“请选择您要修改的内容:”同时给出要修改的选项,包括姓名高数、大物、c语言、 英语、及退出供您选择。当做出选择后,会得到“请输入新数据”的提示。该部分通过if 语句、switch语句和while语句实现其功能。 voidxiugai(structStudent_typestud[])/*修改*/ int i=0,choice; int u; printfC请输入您要修改的学生的学号:\n〃); scanf &u); for(i=0;i

36、\n ); printfC| 姓名 请按 1 1 \n〃); printf C| 高数 请按 2 | \n〃); printf C| 大物 请按 3 | \n〃); printf (* | c 语言 请按 4 | \n"); printf (* | 英语 请按 5 | \n"); printf("| 退出 请按 0|\n〃); printf( + +\n ); printfC请输入您的选择:〃);scanf&choice); switch(choice)( case 0:break: case 1: printfC请输入新姓名:");scanf("%s”,

37、 stud[i]. name); break; case 2: printfC请输入新的高数分数:〃); scanf ("%d”, &stud [i]. math);break; case 3: printfC请输入新的大物分数:");scanf&stud[i]. physic); break;case 4: printf ("请输入新的c语言分数:”); scanf&stud[i]. Clanguage); break;case 5: printfC请输入新的英语分数:”); scanf("%d”, &stud[i]. English); break: default

38、 printf (*\n 无效选项!”);break; }break; ) printf C修改成功\n");for(i=0;i

39、mp函数找到对应的数据,最后借用strcpy函数一一将下一数 据的值覆盖到上一个数据,从而实现删除数据的的功能。该部分通过if语句和strcmp函数 以及strcpy函数实现其功能。 void shanchu () /*按姓名查找,删除一条记录*/ char s[10]; int j,i=0; printfC输入要删除记录的姓名:"); scanf s); for(i=0;i

40、l]. num; strcpy (stud[j]. name, stud[j+l]. name);stud[j]. physic=stud[j+l]. physic; stud[j]. math=stud[j+l]. math;stud[j]. Clanguage=stud[j+1]. Clanguage; stud[j]・ English=stud[j+1]. English; ) } } ) printf (""Delete Successed! \n"); saved (); for(i=0;i

41、4d%4d\n/z, stud[i], name, stud[i], num, stud[i], math, stud[i ].physic, stud[i]. Clanguage, stud[i]. English);} } 该部分是用来新增学生的数据信息。 首先设计一个save函数,先打开文件数据库,能够实现保存并关闭文件后,通过fread 写入一组数据,从而达到新增数据的目的。 void save () ( FILE *fp;int i; if ((fp=fopen("", "ab"))=NULL) (printf("can open file\n"); return

42、 )if (fwrite(&stud[SIZE], sizeof(struct Student_type), 1, fp)!=1) printf("file write error\n"); fclose(fp);printf C添加成功\n"); for(i=0;i

43、 stud[i]. Clanguage, stud[i]. English); ) ) void zengjiaO ( printfC请输入新学生信息\n"); scanf (z,%s%d%d%d%%d%dz,, stud [SIZE]. name, &stud[SIZE]. num, &stud [SIZE], math, & stud[SIZE], physic, &stud[SIZE]. Clanguage, &stud[SIZE]. English); save (); } 4、调试分析 修改数据功能如下图: | «3 ,C:\US£R$\M\0€SiarOP\Debug\3.exe,D GJ 以 90 lei 83 82 102 82 83 103 72 83 104 72 83 105 92 84 to cont inue 一羊五Q 翼 入入成wt改n3n 7176 8272 71 删除数据功能如下图: 增加数据功能如下图:

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服