欢迎来到课桌文档! | 帮助中心 课桌文档-建筑工程资料库
课桌文档
全部分类
  • 党建之窗>
  • 感悟体会>
  • 百家争鸣>
  • 教育整顿>
  • 文笔提升>
  • 热门分类>
  • 计划总结>
  • 致辞演讲>
  • 在线阅读>
  • ImageVerifierCode 换一换
    首页 课桌文档 > 资源分类 > DOC文档下载  

    C语言实验报告-学生成绩管理系统.doc

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

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

    C语言实验报告-学生成绩管理系统.doc

    -C语言程序设计实践报告题 目 学生成绩管理系统 一、 设计目的通过课程设计使学生综合使用所学过的C语言程序设计知识,掌握构造化程序设计的根本思路和法,在所掌握的根本知识和技能的根底上,进一步提高自学能力和查找资料的能力,解决一定程度的复杂的构造化程序设计问题,加深对所学知识的理解与掌握,增强学生我们利用自己所学知识解决实际问题的能力,为以后的程序开发打下根底。二、系统分析随着科学技术的不断开展,对人们的工作水平要求也越来越高,然而计算机就成了帮助人们解决这个问题的工具,熟练的运用计算机,它能为人们解决多工作上的难题。对与一个管理人员来说,快而迅速的了解各种信息是很关键的。使用计算机在C语言环境下编写相关的管理系统就能到达对相关信息的录入、显示;对记录的查询极其修改等目的。基于同样的C语言环境,对其提供的头文件*hstdio.h ,stdlib.h,string.h,malloc.h,mem.h,ctype.h,conio.h等的不同组合,能为我们解决多多的问题,因此,用它来编写成绩管理管理系统是可行的。三、学生成绩管理系统主要功能² 数据的录入:如录入学生的根本信息,以及该学生选修课程的根本信息;² 数据的修改:如修改指定*、或者指定*的学生信息,或者修改其选修课程信息;² 数据的插入:插入*个学生信息;² 数据的查询:如按*查询、按*查询等;² 数据的删除:如删除指定*、或者指定*的学生及其选修课程信息;² 平均成绩的计算:计算每个学生各门功课的平均成绩,并按平均成绩从高到低的次序输出学生信息;² 列出不及格学生清单*、*、不及格的课程和成绩。四、功能的实现与要求1数据录入:数据录入的功能是将需要的数据进展录入,用于后面的各项操作。实现:用输入函数对数据进展录入,先确定学生的个数,再用一个循环进展输入,选修课程数量亦然。2. 数据修改:数据修改的主要功能是为修改数据输入出现的错误,实现:先指定该生的*,找到该生,再输出该生当前的信息,用一个if语句对数据进展修改,再用一个循环语句对选修课信息进展修改。3. 数据插入: 数据插入的主要功能是在数据录入之后,为防止数据输入的遗漏,实现:分为两个局部,第一个是插入第一个位置,第二是插入第一个位置之后,把当前的位置赋给后面的加以实现。4数据查询: 数据查询的主要功能是在数据输入之后进展分类再现,实现:分为输出所有数据,按*查询,按*查询,当输入的数据满足条件时即输出所要求的。5数据删除:数据删除的主要功能是在数据录入、数据插入和数据修改完成之后对无用数据进展删除,实现:输入*,满足条件时即把后一个数值赋给前一个数值,到达删除的目的。6平均值计算:平均值计算的主要功能是求平均值,再对其进展排序,实现:用公式进展计算求平均值,之后便是排序问题,求最大值,然后依次输出各最大值,即实现了排序功能。7. 列出不及格学生清单:这局部的主要功能是列出不及格学生清单,实现:用一个判断语句,当分数小于60时,即输出相应的学生信息即可。五、系统框图登录模块学生根本信息查询录入修改班机信息管理学生课程管理输入修改查询学生成绩管理输入修改查询退出系统六、系统流程图开场完毕选择操作输入数据排序显示数据查询删除主菜单插入数据退出系统按*按*保存数据吧按景平均成绩选择7选择6选择5选择4选择3选择2选择1选择8按平均成绩上下i读取数据吧选择8班级*性别*七、 界面设计·系统运行界面局部如下: 图1主界面图2主菜单图3录入数据图4修改数据图5插入数据图6数据查询图7计算平均成绩图8不及格学生统计八、程序代码*include<stdio.h>*include<windows.h>*include<string.h>*include <stdlib.h>main()int i,w=0,u/*被选中学生的下标*/,f/*科目数量*/;int o=0/*学生总数*/,p=0,g50/*每个学生的选修课程数量*/,a,*,b/*新增学生个数*/,*/*当前学生班级*/;char *m50/*当前学生*/,h10;char oo/*判断是否继续*/,q;float s50/*平均成绩*/,ma*,al50;long qq;struct studentint i;/*班级*/long j;/*/char m30;/*/char n10;/*性别*/int *;/*年龄*/c50;struct scoreint q;/*课程编号*/char w50;/*课程名称*/float e;/*学分*/float r;/*考试成绩*/float t;/*平时成绩*/double y;/*综合成绩*/z5010;printf("nn*nnn 欢 迎 进 入nn 学生成绩管理系统nnn 设计者:剽悍的小白兔 090909*nn指导教师:TZnn*大学 信息科学与工程学院 电气09*班nnn 2010年7月nnn*n Press Enter to Continue");getchar();system("CLS");while(1)system("CLS");printf("nn*n 系统主菜单nn1.录入数据nn2.修改数据nn3.插入数据nn4.数据查询nn5.删除数据nn6.平均成绩计算nn7.列出不及格学生清单nn8.退出系统nn");printf("请输入一个数字来选择目录:nn");scanf("%d",&i);system("CLS");if(i=1)/*1.录入数据*/printf("录入数据nn");while(1)printf("n请输入要录入的学生个数:n");scanf("%d",&b);if(b<1) printf("n输入错误!n请输入要录入的学生个数n");else if(b>=1)for(a=0;a<b;a+)printf("n请输入第%d个学生的根本信息:nn班级 * * 性别 年龄n",a+1);scanf("%d %ld %s %s %d",&co+a.i,&co+a.j,&co+a.m,&co+a.n,&co+a.*);printf("n请输入此学生选修课程数量:n");scanf("%d",&f);go+a=f;for(i=0;i<f;i+)printf("n请输入该学生第%d门选修课程信息:nn课程编号 课程名称 学分 考试成绩 平时成绩n",i+1);scanf("%d %s %f %f %f",&zo+ai.q,&zo+ai.w,&zo+ai.e,&zo+ai.r,&zo+ai.t);o=p+b;p=b;getchar();printf("n是否继续输入y/n"n");scanf("%s",&h);if(strcmp(h,"n")=0) break;else if(strcmp(h,"y")=0) system("CLS");else if(i=2)/*2.修改数据*/printf("修改数据n");if(o=0) printf("n系统没有学生信息");elsewhile(1)printf("n请输入要修改数据的学生的*:n");scanf("%ld",&qq);w=0;for(a=0;a<o;a+)if(qq=ca.j)printf("该学生当前信息:班级:%d *:%ld *:%s 性别:%s 年龄:%dn",ca.i,ca.j,ca.m,ca.n,ca.*);u=a;w=w+1;if(w=0)printf("输入错误!");break;while(1)printf("n请输入数字选择要修改的数据:n1.班级 2.* 3.* 4.性别 5.年龄 6.选修课程信息n");scanf("%d",&i);if(i!=6) printf("n请输入修改后数据:n");if(i=1)scanf("%d",&cu.i);else if(i=2)scanf("%ld",&cu.j);else if(i=3)scanf("%s",&cu.m);else if(i=4)scanf("%s",&cu.n);else if(i=5)scanf("%d",&cu.*);else if(i=6)printf("n 该学生选修课当前信息:");for(i=0;i<gu;i+)printf(" 课程编号:%d 课程名称:%s 学分:%3.1f 考试成绩:%3.1f 平时成绩:%3.1fn",zui.q,zui.w,zui.e,zui.r,zui.t);printf("n请输入要修改的数据的当前选修课程n");scanf("%d",&*);w=0;for(i=0;i<gu;i+)if(*=zui.q)printf("n请输入数字选择要修改的数据:1.课程编号 2.课程名称 3.学分 4.考试成绩 5.平时成绩n");scanf("%d",&*);printf("n请输入修改后数据:n");if(*=1)scanf("%d",&zui.q);else if(*=2)scanf("%s",&zui.w);else if(*=3)scanf("%f",&zui.e);else if(*=4)scanf("%f",&zui.r);else if(*=5)scanf("%f",&zui.t);else printf("输入错误!");w=w+1;if(w=0) printf("输入错误!");else printf("输入错误!");break;printf("nn是否继续修改此学生信息y/n"n");scanf("%s",&h);if(strcmp(h,"n")=0) break;else if(strcmp(h,"y")=0) system("CLS");printf("nn是否继续下一学生信息y/n"n");scanf("%s",&h);if(strcmp(h,"n")=0) break;else if(strcmp(h,"y")=0) system("CLS");else if(i=3)/*3.插入数据*/printf("插入数据");while(1)printf("n是否要将信息插入到第一个位置y/n"nn");scanf("%s",&h);if(strcmp(h,"n")=0)printf("n请输入要插入位置前一个学生的*:");scanf("%ld",&qq);for(a=0;a<o;a+)if(qq=ca.j)printf("n请输入要添加的学生信息:n班级 * * 性别 年龄n");for(u=o;u>a;u-)cu+1=cu;for(i=0;i<gu;i+)zu+1i=zui;gu+1=gu;scanf("%d %ld %s %s %d",&ca+1.i,&ca+1.j,&ca+1.m,&ca+1.n,&ca+1.*);o=o+1;printf("是否添加该学生的选修课程信息y/n");scanf("%s",&h);if(strcmp(h,"y")=0)printf("n请输入此学生选修课程数量:n");scanf("%d",&f);ga+1=f;printf("n请分别输入该学生选修课程信息:nn课程编号 课程名称 学分 考试成绩 平时成绩n");for(i=0;i<f;i+)scanf("%d %s %f %f %f",&za+1i.q,&za+1i.w,&za+1i.e,&za+1i.r,&za+1i.t);else if(strcmp(h,"y")=0)printf("n请输入要添加的学生信息:n班级 * * 性别 年龄n");for(u=o;u>=0;u-)cu+1=cu;for(i=0;i<gu;i+)zu+1i=zui;gu+1=gu;scanf("%d %ld %s %s %d",&c0.i,&c0.j,&c0.m,&c0.n,&c0.*);o=o+1;printf("是否添加该学生的选修课程信息y/n"n");scanf("%s",&h);if(strcmp(h,"y")=0)printf("n请输入此学生选修课程数量:n");scanf("%d",&f);g0=f;printf("n请分别输入该学生选修课程信息:nn课程编号 课程名称 学分 考试成绩 平时成绩n");for(i=0;i<f;i+)scanf("%d %s %f %f %f",&z0i.q,&z0i.w,&z0i.e,&z0i.r,&z0i.t);printf("nn是否继续插入下一学生信息y/n"n");scanf("%s",&h);if(strcmp(h,"n")=0) break;else if(strcmp(h,"y")=0) system("CLS");else if(i=4)/*4.数据查询*/printf("数据查询n");for(a=0;a<o;a+)for(i=0;i<ga;i+)zai.y=zai.r*0.7+zai.t*0.3;while(1)printf("nn*nn 数 据 查 询nnn1.显示全部数据nn2.按*查询nn3.按*查询nn4.返回主菜单");printf("nn请输入一个数字来选择目录:nn");scanf("%d",&p);if(p=1)for(a=0;a<o;a+)printf("班级:%d *:%ld *:%s 性别:%s 年龄:%dn",ca.i,ca.j,ca.m,ca.n,ca.*);for(i=0;i<ga;i+)printf("课程编号:%d 课程名称:%s 学分:%3.1f 考试成绩:%3.1f 平时成绩:%3.1f 综合成绩:%3.1fn",zai.q,zai.w,zai.e,zai.r,zai.t,zai.y);else if(p=2)printf("请输入要查询学生的*:n");scanf("%ld",&qq);w=0;for(a=0;a<o;a+)if(qq=ca.j)printf("班级:%d *:%ld *:%s 性别:%s 年龄:%dn",ca.i,ca.j,ca.m,ca.n,ca.*);for(i=0;i<ga;i+)printf("课程编号:%d 课程名称:%s 学分:%3.1f 考试成绩:%3.1f 平时成绩:%3.1f 综合成绩:%3.1fn",zai.q,zai.w,zai.e,zai.r,zai.t,zai.y);w=w+1;if(w=0) printf("此*不存在!n");else if(p=3)printf("请输入要查询学生的*:n");scanf("%s",&*m);w=0;for(a=0;a<o;a+)if(strcmp(*m,ca.m)=0)printf("班级:%d *:%ld *:%s 性别:%s 年龄:%dn",ca.i,ca.j,ca.m,ca.n,ca.*);for(i=0;i<ga;i+)printf("课程编号:%d 课程名称:%s 学分:%3.1f 考试成绩:%3.1f 平时成绩:%3.1f 综合成绩%3.1fn",zai.q,zai.w,zai.e,zai.r,zai.t,zai.y);w=w+1; if(w=0) printf("此*不存在!n");else if(p=4)break;else printf("输入错误!n");printf("nn是否返回数据查询界面y/n"n");scanf("%s",&h);if(strcmp(h,"n")=0) break;else if(strcmp(h,"y")=0) system("CLS");else if(i=5)/*5.删除数据*/printf("删除数据");while(1)printf("n请输入要删除的学生的*:n");scanf("%ld",&qq);w=0;for(a=0;a<o;a+)if(qq=ca.j)for(i=a;i<o;i+)ci=ci+1;for(u=0;u<gi;u+)ziu=zi+1u;gi=gi+1;printf("n已删除nn");w=w+1;o=o-1;if(w=0) printf("n该学生不存在!n");printf("nn是否继续删除学生数据y/n"n");scanf("%s",&h);if(strcmp(h,"n")=0) break;else if(strcmp(h,"y")=0) system("CLS");else if(i=6)/*6.平均成绩计算*/printf("平均成绩计算");printf("n按平均成绩从高到低的次序输出学生信息:nn");for(a=0;a<o;a+)for(i=0;i<ga;i+)zai.y=zai.r*0.7+zai.t*0.3;while(1)for(a=0;a<o;a+)ala=0;for(u=0;u<ga;u+)ala=ala+zau.t;sa=ala/ga;for(a=0;a<o;a+)ma*=sa;for(u=a;u<o;u+)if(su>ma*) ma*=su;su=sa;sa=ma*;for(a=0;a<o;a+)printf("平均成绩:%3.1f 班级:%d *:%ld *:%s 性别:%s 年龄:%dn",sa,ca.i,ca.j,ca.m,ca.n,ca.*);for(i=0;i<ga;i+)printf(" 课程编号:%d 课程名称:%s 学分:%3.1f 考试成绩:%3.1f 平时成绩:%3.1f 综合成绩%3.1fn",zai.q,zai.w,zai.e,zai.r,zai.t,zai.y);printf("nn是否返回主目录y/n"n");scanf("%s",&h);if(strcmp(h,"y")=0) break;else if(strcmp(h,"n")=0) system("CLS");else if(i=7)/*7.列出不及格学生清单*/printf("列出不及格学生清单");for(a=0;a<o;a+)for(i=0;i<ga;i+)zai.y=zai.r*0.7+zai.t*0.3;while(1)printf("nn不及格学生清单:nn");*=0;for(a=0;a<o;a+)for(u=0;u<ga;u+)if(int)zau.y<60)printf("*:%ld *:%s 不及格课程:%s 综合成绩:%3.1fn",ca.j,ca.m,zau.w,zau.y);*=*+1;if(*=0) printf("所有学生成绩均及格");printf("nn是否返回主目录y/n"n");scanf("%s",&h);if(strcmp(h,"y")=0) break;else if(strcmp(h,"n")=0) system("CLS");else if(i=8)/*8.退出系统*/break;else printf("输入错误!");getchar();九、心得体会通过本次C程序课程设计,我觉得对自己提高很大:克制了的偷懒的毛病,这在我以后的学习和工作中的心理定位与调节有很大的帮助。我感受到了编程是一项非常烦琐密的活动,他不但需要一个人密的思考问题的能力,处理问题的能力,还需要有足够的耐心和谨治学的作风,来不得半点马虎。通过本次课程设计,我初步学会了论文设计的根本法,学会了怎样去借鉴别人的法和经历,知道如去查找资料和整合处理这些资料的能力,这为以后的大学毕业设计论文打下了一个初步的根底使我收益最大的是享受到了一种成功的喜悦,在这两个星期之中从开场确实定论文题目,然后是上网和上图书馆查找资料,编写C语言原程序,然后是进展编译,这个环节是一个非常痛苦和困难的,常常会因为一小点的错误而在编译失败与再次修改的漫漫循环之路中,但失败的越多,对人的考验就越多,在编译运行成功之后的享受成功的喜悦也就越多,另外在调试程序的过程中不断的思考和运用已经学到的知识,这对于自己是有很大的提高的。由于所学的知识不多,自己的编程经历缺乏,仍存在一些错误,按现有的知识水平有些东西暂时还无法解决,还有待于在以后的学习中不断提高和改良!. z.

    注意事项

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

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




    备案号:宁ICP备20000045号-1

    经营许可证:宁B2-20210002

    宁公网安备 64010402000986号

    课桌文档
    收起
    展开