欢迎来到冰豆网! | 帮助中心 分享价值,成长自我!
冰豆网
全部分类
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • 党团工作>
  • ImageVerifierCode 换一换
    首页 冰豆网 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    学生成绩信息管理系统.docx

    • 资源ID:23715213       资源大小:184.69KB        全文页数:20页
    • 资源格式: DOCX        下载积分:10金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要10金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    学生成绩信息管理系统.docx

    1、学生成绩信息管理系统1 问题描述学生成绩管理系统学生成绩管理系统 学生信息包括学期、学号、班级、姓名,和语文、数学、英语、计算机四门课成绩。并按班级、学期查询学生成绩,并能录入、修改,求学生平均成绩和总成绩,输出不及格科目,按班级输出成绩单,按班级对学生成绩进行排序。2 系统分析 问题定义学生成绩管理系统设计学生成绩信息包括:学期,学号,班别,姓名,四门课程成绩(语文、数学、英语和计算机)。主要功能:(1) 能按学期、按班级完成对学生成绩的录入、修改(2) 能按班级统计学生的成绩,求学生的总分及平均分,设计并输出统计报表(3) 能查询学生成绩,不及格科目及学生名单(4) 能按班级输出学生的成绩

    2、单(5) 能按班级,按课程,对学生成绩进行排序。要求:使用二进制文件方式存储数据,系统以菜单方式工作开发工具 VC+数据结构 typedef struct studentMark int term; int classes; char name10; int number; char sex7; float chinese; float math; float english; float computer; struct studentMark *next; MARK;这是定义一个结构体,主要包括学期,班级,姓名,学号,性别,语文成绩,数学成绩,英语成绩,计算机成绩,以及包括一个结构体指针。

    3、另外还用了typedef这个关键字。因此,在程序的后面也可以用MARK来定义结构体变量或结构体指针变量。int term; 定义学期,学期只能是第一学期或者第二学期。 例如int 1;则表示第一学期。 int classes; 定义班级,班级只能是一班或者二班。 例如 int 2;则是表示定义为二班。 char name10; 定义姓名,在数组中存放字符串。 例如 char name=“yang”;则该学生的姓名为yang int number; 定义学号,例如int 1;则该学生学号为1号。 char sex7; 定义姓别,其性别最大长度为7. 例如 char sex=“man”;说明该学生

    4、为男生。同样可以这样定义女生。 float chinese; 定义语文成绩。 float math; 定义数学成绩。 float english; 定义英语成绩。 float computer; 定义计算机成绩。 struct studentMark *next; 定义一个结构体指针。int main(); 主函数,程序的入口。void m(MARK *head); 主菜单的函数原型,在函数m(head)中主要有选择创建学生成绩信息,查询学生成绩信息,修改学生成绩信息,统计学生成绩信息,输出学生成绩信息,存储学生成绩信息于文件,以及退出体统等选项可供用户选择。 MARK *creat(void

    5、 ); 创建函数的函数原型,在函数creat()中用户可以输入初始的学生信息:其中包括学生的学期、班级、姓名、学号和性别以及学生的语文、数学、英语和计算机等相关信息。void searchMark(MARK *head); 查询菜单的函数原型,在函数searchMark(head)中用户可以自由选择是查询某一个学生的成绩还是查询不及格学生的成绩。而这通过调用函数searchMarkStusentone(head)和函数searchMarkFail(head)完成操作。void searchMarkStusentone(MARK *head); 查询某个学生成绩的函数原型,在函数searchMa

    6、rkStusentone(head)中用户可以按学号或班级或者是按学期来查找某个学生的成绩。通过函数searchnumber(head)和函数 searchclasses(head)以及函数searchterm(head)完成操作。void searchnumber(MARK *head) 按学号查找学生的函数原型,;void searchclasses(MARK *head); 按班级查找学生的函数原型,void searchterm(MARK *head); 按学期查找学生的函数原型,void searchMarkFail(MARK *head); 查询没有及格的学生的函数原型,通过这个函

    7、数可以查找学生不及格科目及学生名单。MARK *changeMark(MARK *head); 修改学生成绩信息的函数原型,可以修改学生的学期、班级、姓名、学号和性别以及学生的语文、数学、英语和计算机等相关信息。void conuntMark(MARK *head); 统计学生成绩的函数原型,在函数conuntMark(head)中用户可以统计学生的总成绩以及平均成绩,通过调用函数totalMark(head)和函数aveMark(head)完成操作。void totalMark(MARK *head); 统计学生总成绩的函数原型,void aveMark(MARK *head); 统计学生平

    8、均成绩的函数原型,void printClassMark(MARK *head); 输出学生成绩信息的函数原型,通过此函数可以输出学生的学期、班级、姓名、学号和性别以及学生的语文、数学、英语和计算机等相关信息到屏幕上。void saveFileMark(MARK *head); 存储学生成绩信息于文件的函数原型,通过此函数可以输出学生的学期、班级、姓名、学号和性别以及学生的语文、数学、英语和计算机等相关信息与文件中。算法描述(1)创建主菜单(2)实现学生成绩信息录入(3)实现学生成绩信息查询(4)实现学生成绩信息修改 (一)修改某个学生的成绩 (a)按学期查询学生的成绩 (b)按班级查询学生的

    9、成绩 (c)按学号查询学生的成绩 (二)查询不及格的科目和学生名单(5)实现学生成绩统计 (a)按班级统计学生的总分。 (b)按班级统计学生的平均分。(6)实现学生成绩信息输出(7)保存学生的成绩信息于文件(8)流程图如下:程序调试情况(1)源程序如下: #include#include#include#include#define MAR (struct studentMark *)malloc(sizeof(struct studentMark)typedef struct studentMark int term; int classes; char name10; int number

    10、; char sex7; float chinese; float math; float english; float computer; struct studentMark *next; MARK;void m(MARK *head); MARK *creat(void );void searchMark(MARK *head);void searchMarkStusentone(MARK *head);void searchnumber(MARK *head);void searchclasses(MARK *head);void searchterm(MARK *head);void

    11、 searchMarkFail(MARK *head);MARK *changeMark(MARK *head);void conuntMark(MARK *head);void totalMark(MARK *head); void aveMark(MARK *head);void printClassMark(MARK *head);void saveFileMark(MARK *head);int main(void) MARK *head=NULL; printf( *n); printf( # 欢迎进入学生成绩信息管理系统#n); printf( *n); printf(n); he

    12、ad=creat(); m(head); return(0);void m(MARK *head ) int choose; while(1) printf(*n); printf( 学生成绩信息管理n); printf(*n); printf( 1创建成绩信息n); printf( 2查询成绩信息n); printf( 3修改成绩信息n); printf( 4统计成绩信息n); printf( 5按班级输出学生信息n); printf( 6保存成绩信息于文件n); printf( 7退出系统n); printf(*n); fflush(stdin); printf(请选择:); scanf(

    13、%d,&choose); if(1=choose) head=creat(); else if(2=choose) searchMark(head); else if(3=choose) head=changeMark(head); else if(4=choose) conuntMark(head); else if(5=choose) printClassMark(head); else if(6=choose) saveFileMark(head); else printf(退出系统); break; xt); stu=fopen(fileName,wb+); while(p!=NULL

    14、) fprintf(stu,%d %d,p-term ,p-classes ); fprintf(stu,%s %d,p-name,p-number); fprintf(stu,%s,p-sex ); fprintf(stu,%f %f %f %f,p-chinese ,p-math ,p-english ,p-computer ); p=p-next ; fclose(stu); printf(已经保存文件在%s中!n,fileName); printf(请按任意键返回主菜单!n); getchar(); /查找某个学生的成绩void searchMarkStusentone(MARK *h

    15、ead) char ch1,ch2; MARK *p=head-next; if(p=NULL) printf(没有任何信息,请先存入信息!n); printf(请按任意键返回主菜单!n); getchar(); else while(1) printf( 你要选择何种方式查询成绩!n); printf( n); printf( a、学号: n); printf( b、班级: n); printf( c、学期: n); printf( n); fflush(stdin); scanf(%c,&ch1); switch(ch1) case a:searchnumber(head);break;

    16、case b:searchclasses(head);break; case c:searchterm(head);break; printf(n); printf(是否还要继续查询学生的信息(y/n):); fflush(stdin); if(ch2=getchar()=n) break; /查询不及格学生void searchMarkFail(MARK *head) MARK *p=head-next ; char name10; int number,flag=0; int choose5; do fflush(stdin); printf(请输入! (1按姓名查询 2按学号查询 3 返

    17、回)n); scanf(%d,&choose5); switch(choose5) case 1 : fflush(stdin); printf(请输入要查找的名字n); gets(name); while(p!=NULL) if(!strcmp(name,p-name) printf(姓名 学号n); printf(%s %dn,p-name ,p-number ); if(p-chinese name ); if(p-math name ); if(p-english name ); if(p-computer name ); flag+; printf(n); p=p-next; if(

    18、flag=0) printf(没有你要找的信息!n); break; case 2 : fflush(stdin); printf(请输入你想要查找的学号:n); scanf(%d,&number); while(p!=NULL) if(number=p-number) printf(姓名 学号n); printf(%s %dn,p-name ,p-number ); if(p-chinese name ); if(p-math name ); if(p-english name ); if(p-computer name ); flag+; printf(n); p=p-next; if(f

    19、lag=0) printf(没有你要找的信息!n); break; case 3: printf(请按任意键返回!n); getchar(); break; default: printf(你输入的有误!请重新选择n); break; while(choose5!=1 & choose5!=2 & choose5!=3); printf(按任意键返回!n); getchar();/按学号查询void searchnumber(MARK *head) MARK *p=head-next; int number,i=0; printf(请输入你要查询的学生学号:n); scanf(%d,&numb

    20、er); while(p!=NULL) if(number=p-number) printf(-n); printf(t学期t学号t班别t姓名t性别t语文t数学t英语t计算机tn); printf(-n); printf(%dt,p-term); printf(%dt,p-number); printf(%dt,p-classes); printf(%st,p-name); printf(%st,p-sex); printf(%1ft,p-chinese); printf(%1ft,p-math); printf(%1ft,p-english); printf(%1ft,p-computer)

    21、; i=2; p=p-next; if(i=0) printf(没找到该学生的信息!); /按班级查询成绩void searchclasses(MARK *head) int classes,i=0; MARK *p=head-next; printf(请输入你要查询成绩的班级:); scanf(%d,&classes); printf(请输出%d班所有同学的成绩:n,classes); printf(-n); printf(t学期t学号t班别t姓名t性别t语文t数学t英语t计算机tn); printf(-n); while(p!=NULL) if(classes=p-classes) pri

    22、ntf(%dt,p-term); printf(%dt,p-number); printf(%dt,p-classes); printf(%st,p-name); printf(%st,p-sex); printf(%1ft,p-chinese); printf(%1ft,p-math); printf(%1ft,p-english); printf(%1ft,p-computer); printf(n); printf(n); i=2; p=p-next; if(i=0) printf(没找到学生信息!n); /按学期查询void searchterm(MARK *head) int ter

    23、m,i=0; MARK *p=head-next; printf(请输入你要查询成绩的学期:); scanf(%d,&term); printf(请输出第%d学期所有班级的信息:n);printf(-n); printf(t学期t学号t班别t姓名t性别t语文t数学t英语t计算机tn); printf(-n); while(p!=NULL) if(term=p-term) printf(%dt,p-term); printf(%dt,p-number); printf(%dt,p-classes); printf(%st,p-name); printf(%st,p-sex); printf(%1

    24、ft,p-chinese); printf(%1ft,p-math); printf(%1ft,p-english); printf(%1ft,p-computer); printf(n); printf(n); i=2; p=p-next; if(i=0) printf(没找到学生信息!n); /学生总分void totalMark(MARK *head) float total=0; int i=0; MARK *p=head-next; while(p!=NULL) total=p-chinese+p-math+p-english+p-computer; printf(第%d个学生的总分为:%1f!n,i+1,total); printf(n); printf(已经统计了第%d个学生的总成绩!n,i+1); printf(n); printf(n); i


    注意事项

    本文(学生成绩信息管理系统.docx)为本站会员主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2022 冰点文档网站版权所有

    经营许可证编号:鄂ICP备2022015515号-1

    收起
    展开