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

    学生成绩管理系统实验报告材料C.doc

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

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

    学生成绩管理系统实验报告材料C.doc

    word某某学院计算机与信息工程学院面向对象课程设计报告班 级:计 算 机 学 院专 业:计 算 机 科 学 与 技 术 题 目:学 生 成 绩 管 理 系 统 指导教师:导师职称:学 号:姓 名:组 长:年月日21 / 21目 录一设计目的41 定义类42 实现程序功能4二总体设计5三详细设计5四调试与测试5五心得体会5一 设计目的主要实现对学生成绩进展系统化的管理,可以对学生根本信息进展输入、存储、修改、删除等,还可按照学号来查询、排序学生信息等。由此可以看出,此系统对于管理学生成绩是很有效的。1 定义定义学生student类,其中至少包括某某、性别、学号、班级和四门功课的成绩。2 实现下面功能1、设计菜单实现功能选择;2、输入功能:输入学生信息,并保存到文件中;3、计算每个学生的总分与平均分并排序4、能根据学号修改学生信息5、能根据学号删除学生信息6、查询功能: 1能够根据学号查询学生信息; 2能够根据某某、班级查询学生信息3统计学生成绩,按照班级和科目计算平均分。二 总体设计学生成绩管理定义学生类student输入学生信息某某性别学号班级英语数学语文应用计算总分计算平均分修改信息删除信息查询信息根据学号进展编辑根据某某班级查询统计成绩排序按照班级、科目计算分数设计菜单栏功能三 详细设计#include<iostream>#include<stdio.h>#include<ctype.h>#include<stdlib.h>#include<string.h>#include<iostream>#include<iomanip>using namespace std;typedef classpublic: char num10; char cla10; char name10; char byyl10; char jsjzc10; char sjk10; char jsjyy10; int pjf;Student;Student stu80;int menu() char c; for(;c<'0'|c>'8') system("cls"); cout<<" 欢迎使用本学生成绩管理系统!"<<endl; cout<<"编程人员:李臻 学号:101102022" cout<<endl; cout<<"* 学生成绩管理系统 * "<<endl; cout<<setw(32)<<" "<<"1.输入学生资料"<<endl; cout<<setw(32)<<" "<<"2.输出学生资料"<<endl; cout<<setw(32)<<" "<<"3.按平均分排序"<<endl; cout<<setw(32)<<" "<<"4.添加学生资料"<<endl; cout<<setw(32)<<" "<<"5.按学号查找删除该学生资料"<<endl; cout<<setw(32)<<" "<<"6.查找显示学生资料"<<endl; cout<<setw(32)<<" "<<"7.按学号修改该学生资料"<<endl; cout<<setw(32)<<" "<<"8.从文件中读入数据"<<endl; cout<<setw(32)<<" "<<"0.储存学生资料并退出系统"<<endl; cout<<"* "<<endl; cout<<"请选择(0-8):" c=getchar(); return(c-'0');int zh(char str10) /将字符串转换为数值型 int i; int sum=0; for(i=0; i <strlen(str);i+) sum=10*sum+stri-'0' return sum; int Input(Student stud,int n) /输入数据。 int i=0; char sign,x10; for(;sign != 'n' && sign != 'N') int sum=0; cout<<setw(15)<<" "<<"班级:" cin>>studn+i.cla; cout<<setw(15)<<" "<<"学号:" cin>>studn+i.num; cout<<setw(15)<<" "<<"某某:" cin>>studn+i.name; cout<<setw(15)<<" "<<"编译原理:" cin>>studn+i.byyl; sum+=zh(studn+i.byyl); cout<<setw(15)<<" "<<"计算机组成原理:" cin>>studn+i.jsjzc; sum+=zh(studn+i.jsjzc); cout<<setw(15)<<" "<<"数据库:" cin>>studn+i.sjk; sum+=zh(studn+i.sjk); cout<<setw(15)<<" "<<"计算机英语:" cin>>studn+i.jsjyy; sum+=zh(studn+i.jsjyy); studn+i.pjf=sum/4;/算出平均分 gets(x); cout<<setw(10)<<" " cout<<"还有要输入的信息吗?(y/n)" cin>>&sign; i+; return(n+i); void Display(Student stud, int n) /输出数据。 int i; cout<<setw(2)<<" "<<" "<<setw(65)<<" "<<endl; cout<<setw(2)<<" "<<"班级 学号 某某 编译原理 计算机组成原理 数据库 计算机英语 平均分"<<endl; cout<<setw(2)<<" " cout<<" "<<setw(2)<<""<<endl; for(i=1;i<n+1;i+) printf(" %-8s%-8s%-9s%-9s%-12s%-9s%-9s%-9dn",studi-1.cla,studi-1.num,studi-1.name,studi-1.byyl,studi-1.jsjzc,studi-1.sjk,studi-1.jsjyy,studi-1.pjf); if(i>1 && i%10=0) cout<<setw(2)<<" "<<" "<<setw(2)<<"-"<<endl; cout<<setw(2)<<" " system("pause"); cout<<setw(2)<<" "<<" "<<setw(2)<<"-"<<endl; cout<<setw(2)<<" " system("pause");void Sort(Student stud,int n) /按平均分排序。 int i,j,a; char t20; for(i=0;i<n-1;i+) for(j=0;j<n-1-i;j+) if(studj.pjf>studj+1.pjf) a=studj.pjf;studj.pjf=studj+1.pjf;studj+1.pjf=a; strcpy(t,studj+1.cla); strcpy(studj+1.cla,studj.cla); strcpy(studj.cla,t); strcpy(t,studj+1.num); strcpy(studj+1.num,studj.num); strcpy(studj.num,t); strcpy(t,studj+1.name); strcpy(studj+1.name,studj.name); strcpy(studj.name,t); strcpy(t,studj+1.byyl); strcpy(studj+1.byyl,studj.byyl); strcpy(studj.byyl,t); strcpy(t,studj+1.jsjzc); strcpy(studj+1.jsjzc,studj.jsjzc); strcpy(studj.jsjzc,t); strcpy(t,studj+1.sjk); strcpy(studj+1.sjk,studj.sjk); strcpy(studj.sjk,t); strcpy(t,studj+1.jsjyy); strcpy(studj+1.jsjyy,studj.jsjyy); strcpy(studj.jsjyy,t); cout<<setw(15)<<" "<<"排序成功!"<<endl;int Insert(Student stud,int n) /插入一条学生信息。 char x10; cout<<setw(2)<<" "<<"班级:" cin>>studn.cla; cout<<setw(2)<<" "<<"学号:" cin>>studn.num; cout<<setw(2)<<" "<<"某某:" cin>>studn.name; cout<<setw(2)<<" "<<"编译原理:" cin>>studn.byyl; cout<<setw(2)<<""<<"计算机组成原理:" cin>>studn.jsjzc; cout<<setw(2)<<" "<<"数据库:" cin>>studn.sjk; cout<<setw(2)<<" "<<"计算机英语:" cin>>studn.jsjyy; gets(x); n+; cout<<setw(2)<<" "<<"插入成功!"<<endl; return(n);int Delete(Student stud,int n) /按学号查找信息,删除信息。 char s20; int i=0,j; cin>>s; while(strcmp(studi.num,s)!=0&&i<n) i+; /*查找判断*/ if(i=n) printf("ttt没有发现该学生资料!n"); /*返回失败信息*/ return(n); for(j=i;j<n-1;j+) /*删除操作*/ strcpy(studj.num,studj+1.num); strcpy(studj.name,studj+1.name); strcpy(studj.cla,studj+1.cla); strcpy(studj.byyl,studj+1.byyl); strcpy(studj.jsjzc,studj+1.jsjzc); strcpy(studj.sjk,studj+1.sjk); strcpy(studj.jsjyy,studj+1.jsjyy); cout<<setw(15)<<" "<<"当前信息已删除成功!"<<endl; /*返回成功信息*/ return(n-1); void Query(Student stud,int n) /按名字查找信息 char s20; int i=0; cout<<setw(15)<<" "<<"输入他她的某某:" cin>>s; while(strcmp(studi.name,s)!=0&&i<n) i+; /*查找判断*/ if(i=n) printf("ttt没有发现该学生资料!n"); /*输入失败信息*/ return; cout<<setw(15)<<" "<<"学号:"<<studi.num<<endl; cout<<setw(15)<<" "<<"编译原理:"<<studi.byyl<<endl; cout<<setw(15)<<" "<<"计算机组成原理:"<<studi.jsjzc<<endl; cout<<setw(15)<<" "<<"数据库:"<<studi.sjk<<endl; cout<<setw(15)<<" "<<"计算机英语:"<<studi.jsjyy<<endl;int Xiugai(Student stud,int n) /修改信息。 n=Delete(stud,n); cout<<setw(15)<<" "<<"输入你要修改的学生资料"<<endl; n=Insert(stud,n); cout<<setw(15)<<" "<<"修改完成"<<endl; return(n);int AddfromText(Student stud, int n) /从文件中读入数据。 int i=0,num; FILE *fp; char filename20; cout<<setw(2)<<" "<<"输入文件名:" cin>>filename; if(fp=fopen(filename,"rb")=NULL) cout<<setw(2)<<" "<<"无法打开文件"<<endl; cout<<setw(2)<<" " system("pause"); return(n); fscanf(fp,"%d",&num); for(;i<num;) fscanf(fp,"%s%s%s%s%s%s%s&d",studn+i.cla,studn+i.num,studn+i.name,studn+i.byyl,studn+i.jsjzc,studn+i.sjk,studn+i.jsjyy,studi-1.pjf); i+; n+=num; fclose(fp); cout<<setw(2)<<" "<<"读入成功!"<<endl; cout<<setw(2)<<" " system("pause"); return(n);void WritetoText(Student stud,int n) /将所有记录写入文件。 int i=0; FILE *fp; char filename20; cout<<setw(2)<<" "<<"将资料输入文件"<<endl; cout<<setw(2)<<" "<<"输入文件名:" cin>>filename; if(fp=fopen(filename,"w")=NULL) cout<<setw(2)<<" "<<"无法打开文件"<<endl; system("pause"); return; fprintf(fp,"%dn",n); for(;i<n;) fprintf(fp,"%-6s%-5s%-5s%-5s%-5s%-5s%-5s%-5dn",studi.cla,studi.num,studi.name,studi.byyl,studi.jsjzc,studi.sjk,studi.jsjyy,studi.pjf); i+; fclose(fp); cout<<setw(2)<<" "<<"输入成功!"<<endl; int b; cout<<setw(2)<<" "<<"请确定是否退出系统:"<<endl; cout<<setw(2)<<" "<<"0.退出系统"<<endl; cout<<setw(2)<<" "<<"1.返回"<<endl; cin>>b; if(b=0) cout<<setw(2)<<" "<<"谢谢使用!"<<endl; cout<<setw(2)<<" " system("pause"); exit(0); void main() /主函数调用。 int n=0; for(;) switch(menu() case 1: cout<<setw(2)<<" "<<"输入学生资料"<<endl; n=Input(stu,n); break; case 2: cout<<setw(2)<<" "<<"输出所有学生资料"<<endl; Display(stu,n); break; case 3: cout<<setw(15)<<" "<<"按某某排序"<<endl; Sort(stu,n); cout<<setw(2)<<" " system("pause"); break; case 4: cout<<setw(2)<<" "<<"插入学生资料"<<endl; n=Insert(stu,n); cout<<setw(2)<<" " system("pause"); break; case 5: cout<<setw(2)<<" "<<"删除学生资料"<<endl; cout<<setw(2)<<" "<<"输入他她的某某:" n=Delete(stu,n); cout<<setw(2)<<" " system("pause"); break; case 6: cout<<setw(2)<<" "<<"查找学生"<<endl; Query(stu,n); cout<<setw(2)<<" " system("pause"); break; case 7: cout<<setw(2)<<" "<<"修改学生资料"<<endl; cout<<setw(2)<<" "<<"输入你要修改的学生的某某:" n=Xiugai(stu,n); system("pause"); break; case 8: cout<<setw(2)<<" "<<"从文件中读入数据"<<endl; n=AddfromText(stu,n); break; case 0: cout<<setw(2)<<" "<<"将所有资料写入文件"<<endl; WritetoText(stu,n); cout<<setw(2)<<" " system("pause"); break; 四 调试与测试上图为选择1时的界面上图为选择2时的界面上图为选择3时的界面上图为选择4时的界面上图为选择5时的界面上图为选择6时的界面上图为选择7时的界面上图为选择8时的界面上图为选择0时的界面五 心得体会本次实验经过同学、组长的帮助才能做到这个份上,对于我来说真的很难得了,我并不把总结看的高,所以我认为我做的还将就吧,还有很多细小的地方感觉有问题,但是时间不那么够了,只能这样了。总的来说,这次的实验,我的收获很大吧,以前很多没学到的东西,在这次能够学到,了解了更多的关于C+的知识。最后,谢谢各位教师的帮助!

    注意事项

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

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




    备案号:宁ICP备20000045号-1

    经营许可证:宁B2-20210002

    宁公网安备 64010402000986号

    课桌文档
    收起
    展开