C语言学生成绩查询系统_第1页
C语言学生成绩查询系统_第2页
C语言学生成绩查询系统_第3页
C语言学生成绩查询系统_第4页
C语言学生成绩查询系统_第5页
已阅读5页,还剩20页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、实训目的能力目标全面熟悉、掌握C语言基本知识,掌握C程序设计中数组、函数、指针 的操作,把编程和实际结合起来,增强对不同的问题运用和灵活选择合 适的数据结构以及算法描述的本领,熟悉编制和调试程序的技巧,掌握 分析结果的若干有效方法,进一步提高上机动手能力,培养使用计算机 解决实际问题的能力,规范编程思想,为以后在专业课程中应用计算机 系统解决计算、分析、实验和设计等学习环节打下较扎实的基础。实训要求:(1) 掌握C语言中的基本数据输入、输出;(2) 熟练使用C语言中的数组;(3) 熟练使用C语言中的函数;(4) 熟练使用C语言中的指针;(5) 熟练使用C语言中的结构体。实训内容(过程及步骤)

2、设计题目:学生成绩査询系统1、基本思路:以数组为基础,加以函数和结构体。然后程序分由“输入学生成绩”,“输出学生成绩”,査询学生成绩”,“修改学生成绩”,“查看成绩排序”,“查看成绩统计保存数据”,“读取数据”等等这几大部分组成。这五部分各自用一个程序列出,然后在用其他函教将 他们连接起来。2、程序:#includc #indudc #includc #includc #includcc #dcfinc N 10ty pcdcf struct students为siudciuf/char num10;/”学生学号/char namc10);厂学主姓若*7ini age;厂年龄/char scx

3、10;/性别” /float cyy;语言成缰float computer; /计算号成簧/float cnish; /英语成绩float pj;厂平均成缰/STC;STU temp;void sort(STC studentsJnt n); /排厅void s:iyc(STL studentsQ.int n);/-ttiini Lnumyp-iiAmcagcscx.-cyyp-computcr,p cnglish ,p p j);/林添加学生信恳林7ini add(STU sindents Jnt *n)int i=0;systctn(Mels);prim n;printf(-谱揄入学主信息

4、巧;printff*退出谙在学生号处揄入:0眄;printffif输入学主学号:J;sc:mf(,%s,studcntsi.num);whik(strcmp(studcntsi.num;t(r)/当输入的学号为时结東输入 pnntfCif输入学生姓若”);sciUif(,nssiudcnisi.mmc);prmtF m m VAniiJ;pnntfCif输入学生年龄:);scanf( “d,&studcntsi.agc);printff*nnn,f);printfC请输入学生性别:h);sc;mf(,%s,studcnisi.scx);pnntfC,*ff*K*nnn,f);pnntfCif揄

5、入C语言成缰:n J;scanf(%F;&studcntsfcyy);prints谙输入计算机成绕n -);scanF(%F:&studuntsi.c)mpinr);pnntfC,*f*f*nnn,r);printffif输入英语成缰:n M);scanfC.fglish);pnntfC1 * 材 *初 叭nnj;students i.pj=(studcntsi.cyy+studcntsi.c)mpuicr+sLish)/3; printfC学生平均成绕 %&Ofn*tuduntsipj);i+;pnntfC,*ff*K*nnn,f);printfCig输入学生学号:n J

6、;sciuifCissiudcnisH.num);*n=i;savc(studcnts ,i);return 1;/机查询学主信恳函数材ini L)caic(STC studentsQJnt n)char nutnflOJjiamcpO); ini i=0;systcmCcls);printff退出请输入:OiT);primf(话选择以什么冇置查询:1) 按学主学号亘询2).按学主姓名查询iT);sc;mf(u%d&k);if(k=l)prinrfC请输入你要査询的学生学号:眄;scanff%jium);whilc(iC语盲成缰:8.0fn计算机 成缰:英语成缰:8.Ofn平均成寄:studc

7、ntsi.num,suidcntsi.nnmc,studcntsi.agcstudcntsi.scx,putcrstudcn ts i .engish,students ipj);m=i; gcicharO; break;i+;if(i=n)pring没有所找学生信息眄;gctcharO;else if(k=2)printfC谙输入你要査询的学生姓各巧;scanff%G:namc);whilc(in)if(stTcmp(siudcntsi.natnc4iamc)=0)厂若找到姓 */ pnntfC*学主学号仇口学主堆若:sn学主年1:%dn学

8、主性别:sn学生C语专成缭&0fn计算机成 缰:80fn英语成缰&02平均成:siudcntsi.agc,s indents ij.scxtudcntsH.cyypuicr.studcn ish,studcntsi.pj);m=i;gctclurO;break;i+;if(i=n)primff有所找学生信息眄;rci-urnm;/-返回一个根m便于修改学生信息/getcharO;/*显示函教void input (STU students Qjnt n)ini i;systcmfcin; 清屏if(n=O) /*决示汝有学生信恳児录/prinn没有学生记录!卅);prinrfCnn

9、);printhcadcrQ; /*输出表格头部1Vi=0;whilc(idify(STC studcntsQJnt n)ini i;if(nmputcr)/3; priniff* 平均成绩:%-9.0fnM,students ij.pj);savc(studcnts 41);printf(Mn修改成功!n*);elseprintf(Mn(t fi)und!n);gctcharO;/w学生成续排序于程序林/void sortiSTC students QJnt n)ini i,j,nbcdu,f,k;float p;printfC1 n退出谙输入:0 ”);printfC成缰排序方式选择:1按

10、Cl52按英语3按平均n );sc;mf(H%d&k);if(k=I)厂用选择法对C语言排序for(i=0; in; i+)for(j=O;jn-l;j+)if(glishsnidcntsi+glish)tcmp=studcntsi;studcntsi=studcntsj-r 1;students j+ l=tcmp;else if(k=2)/-英语用冒泡法/ for(a=0; an-1 ; a+)c=a;f()r(b=n+l; b students c .cyy)c=b;if (c!=a)tcmp=studcntsa); studcntsa=studcntsc

11、; students c=icmp;厂平均成缰用插入法/if(k=3)f()r(d= 1 ;dn;d+)p=studcntsd.pj;for(c=0;cd;c+) if(studcntsc.pjc;f)students I=studcntsf-l;studcntsc=icmp;input(studcnts,n); / 显示排序后的所有记录*/ sax(studcnts ,n);printf(wn 排序完成!iT);/林统计学生分敎在各等饭的人数于程序“十/void T()ngji(STC studcnisQnt n)int count6085=0c()uni85=0count60=0;int

12、i=0;systcmCckJ;prim” n退出谙输入:0 iT;inpustudencsn);i=0;whilc(i85*/*60 平均成 85*7严平均成续85)cmim85+;i=i+1 continue;if(studcntsi.pj=6)&stud5tsipjv=85) c)un t6O85+;i=i +1 ;cn tinuc; if(studcntsi.pj60)c)unt60+;i=i+1 continue;printfCn统计结杲 pnntfC平均成缰高于分的人数d ncount85);printffprintfC平均成绩在分和分之间的人教1 nM,count6085);nH)

13、;眄;printff*pnntfC平均成缰低于分的人:%d ncount60);*printff* printfC*nn* gctcharO;/林导出或保存敎据/void s:iyc(STL students Qjnt n)FILE* fp;ini i=0;fp=f(pcnCsi-udcntsM;wb+);/*以偻写冇式打开创逹一个二进制文件/ if(fp=NULL)厂打开文件失畋*/primf(n*“材打开文件错误林”、“);return;fbrj=(hiSi=c(f(STU),l,fp)=l)/- 次写一条记录或一个结构数组元素全文件“/continue;elsebird;if(i0)ge

14、tcharO;printfCnn*共导出d个学生信息叫比i);gctcharO;elsesystcmcls);printfC-*有信邑导出”眄;gctcharO;fclow(fp);/关馬此文件*/严十导入数据屮林/void Rcad(STL students( n)FILE* fp;ini i=0;fp=f()pcnCstudcnts-;-rb1,);/*以只读方式打开一个巳有的二进制文件 if(fp=NULL)厂打开文件失畋/prinifCXn* -十-打开文件错误!.初、眄;cxit(0);for(i=0p0)primF(anmf 共导入:d 个学生信息*-*-*nM3);gc

15、tcharO; systcmCck*);printf(叭林*林没有借息导入!gctcharO;gctcharO;Fclow(fp);/咲|芍此文件/*主函数林*/void mainOSTU studentsfN;ini n;charsl3,s2p=,r,;int ijc;printff”);Ann;Annnu); 学号 :O951100201 AnH);An,f);printff,A欢迎使用本软件printff-版本:修改版primf( 姓名:邢曽甘班饭:09511002printf(HA printf(Hf*printf(nnn,*);fbr(i=(hi3y+)printfCn谙揄入密码门;

16、gcts(sl);if(sircmp(s 1 ,s2)=0)break;elseprintfCn密码服谙重新输入J;primfCn您巳连续次拖绪,系统得退出!巧; cxit(0);elsewhile k=displaymcnu();swi 忙 h(k)case *1*: add(studcnts,&n); break;case *2*: Rcad(stxidcnts,&n);input(studcntsn) ;brcak;case 9y : Rcad(stxidcnts,&n);L)catc(siudcnts,n);brcak;case 4: RcadtudcntsiJjModifytudcn

17、tsjiJbrciJc;case *5*: Rcad(studcnts,&n);sort(siudcnts4i);brcak;case *6*: Rcad(studcnts,&n);T)ngji(studcnis,n); break;case 7: snvc(studcntsji) ;brcak;case *8*: Rcad(studcnts,&n);brc;ik;ease *9*: sysirmfcls);printfCn * w 谢谢您的使用 *n,);cxit(0);brcak;default: print-f(unn输入错误,输入必须是-9之间的一个数宇!请重新输入n,r);gctch

18、arO;gctcharO;3、运行结果(截图): 第一步:输入本软件的使用密码。C:Windowssystem 3 2cmd. exe亠.按学生学号查询2.按学生姓名查询1请输入你要查询的学生学号;01T = 01 :邢曾智9 = 20、看65 比赛机隣责;56 gWg = 65 ”平均成绩:62芝一、 的号48别一巨语机: filns A c s刖 iun青% TP智曾9 3 7 7 70幵2弓6 6 67决共导出2个学生信息扶修改成功,第七步:成绩排序靑繩黔叢选择按G语言 2.按英语 3 .按平均EB C;Window5systm3 2cmd.exe学生成養囂理应用采单1输入学生成绩Z输岀

19、学生成绩3查询学生成绩4修改学生成绩5查看成绩排序6查看成绩统计?保存数据8读取数据9退出系统请选择你想进行的操作汚*共导入:2个学生信息按英语排序0B C:Windowssystem 3 2cmd. exeq | 回 | S3号学0102学生成绩管理系统:年龄:性别:C语言成绩:计算机咸绩:英语成绩:平均咸绩:20:男:78!65!65 I 6920 I 勇: GG :66!68!67第八步:成绩统计学生成绩管理系统号学0102:年龄:性别:C语言成绩:计算机咸绩:英语成绩:平均咸绩:20:男:78!65!65 I 6920 I 勇: GG :66!68!67第九步:保存数据第十步:导出数据4、遇到困难:在进行此次实训的过程中我遇到了许多的问题,比如没有定义函数名就进行

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论