收藏 分销(赏)

C语言实验报告.doc

上传人:a199****6536 文档编号:1362691 上传时间:2024-04-24 格式:DOC 页数:21 大小:152KB
下载 相关 举报
C语言实验报告.doc_第1页
第1页 / 共21页
C语言实验报告.doc_第2页
第2页 / 共21页
C语言实验报告.doc_第3页
第3页 / 共21页
C语言实验报告.doc_第4页
第4页 / 共21页
C语言实验报告.doc_第5页
第5页 / 共21页
点击查看更多>>
资源描述

1、C语言程序设计实训报告设 计 题 目: 基于数组得学生信息管理系统 学 院 名 称: 信息科学技术学院 专 业: 计算机科学与技术 班 级: 姓 名: 学 号 指 导 教 师: 提 交 日 期: 2014年12月22日 一、实验内容编写并调试程序,实现学校各专业班级学生信息得管理。10个学生得信息存储在文件stdntIi、dt中。在头文件sudnt、中定义学生信息得结构体类型,包括:学号、姓名、专业、班级、门成绩;与符号常量(学生数)。(同一班级得学生可以属于不同得专业,同一专业得学生可以属于不同得班级)#define N 10struct Studentchar num15;/学号char

2、name15;/姓名char major10;/专业(puter,software,network)int classNo;/班级(1-2)int score3;/3门课得成绩(0-2);typedef struct Student STU;二、实验要求 (1) main函数:以菜单形式将各项功能提供给用户,根据用户得选择,调用相应得函数。STU tdnt; /保存输入得N名学生信息(2) 定义函数od Ipt(U p,nt n):从文件suentInit中输入n个学生得信息。(3) 定义函数vid Outpu(STU *p):将所指得某个学生信息表格化屏幕输出。(4) 定义函数etch(in

3、 studnInex):从文件中随机读取第sudentIndex个(0 stdentInex =N-1)学生得信息。(5) 定义函数voiSah(SU *p, nt clso, chr s, i scSm);:实现班级与成绩得综合查找(如1班,总分240得同学)。(6) 定义函数intax(STU , intsorenex):求所有学生、下标为scoreIne得课程分数最高得学生序号(在数组中得下标),学生序号作为返回值。(7) 定义函数voi Sort_sel(TU p):对所有学生,按平均成绩由低到高进行简单选择排序。(8) 定义函数oid Sorbu(STU *, intn); 对某个班

4、级得学生,按平均成绩由高到低进行起泡排序。并调用Ouput输出。定义局部变量:S sucas_aeN;/按平均成绩排序后得某个班级得学生信息;it oun; 实际元素个数(9) 定义函数void rtiet(STU *p, it n, a *mor):对某个专业得学生,按某门课程成绩由低到高进行直接插入排序。并调用tput输出。定义局部变量:STU st_clas sbject; /按某门课程成绩排序后得某个专业得学生信息;int un; /实际元素个数(10) 定义函数voav(Sp,n n) :将学生信息存入文件。四、程序清单(关键语句与变量加注释)1.头文件,类型定义,函数声明#icd

5、stdio、h#iudencld stri、hdefineN0sct Stutcar nu15;har me5;ch mao;nt cassN;itscore3;ydfstrctStudntST;vod Inut(STU p,in n);/从文件sutenit中输入个学生得信息oid tp(TU p);/将p所指得某个学生信息表格化屏幕输出STU Fech(it tudetIdex);/从文件中随机读取第tudentndex个(0240得同学)inMax(STU p,iscoreIndex);/求所有学生、下标为scorInex得课程分数最高得学生序号(在数组中得下标),学生序号作为返回值oi

6、Sort_selec(STU );/对所有学生,按平均成绩由低到高进行简单选择排序vod ort_bbe(SU *p,it n);/对某个班级得学生,按平均成绩由高到低进行起泡排序void Srt_nsert(TU *p,int n,a * major);/对某个专业得学生,按某门课程成绩由低到高进行直接插入排序voi Save(TU * ,in n);/将学生信息存入文件2、主函数inlude tudt、void ain()in i,n,id,num,sub,corse;/n,第几个结构体;i,菜单序号;num,班级号;ub,学生下标;cors,课程下标cha majona;/专业名称STU

7、suetsN;STte;while(1)prinf(n请输入功能编号,运行相应功能n);pintf(n1、您将从文件中读取0个人得信n);pritf(2、您将从文件中随机读取第(0=n)个学生得信息)pnt(n3、您将根据某一班级某一专业总分超过多少进行查找);print(4、您将求某一课程分数最高得学生序号得下标n);pin(5、您将对平均成绩由低到高进行简单选择排序法n);pintf(n6、您将对某一个班得平均成绩由低到高进行起泡排序法n);prntf(、您将对某门专业得学生得某门课程成绩由低到高进行直接插入排序法n);printf(n8、您将把学生信息存入文件n);can(%d,&i);

8、gechar();wth(id)a 1:ri(从文件中读取信息n);Int(sdts,ieof(stuent)/sieof(ST);/调用Int函数,sizeof(stut)/sizeof(STU)表示要读取几个学生得信息printf(学号 姓名 专业 班级 课程1 课程 课程3n);or(i=0;iN;i+)Output(tudensi);/调用Outpt函数brek;cas2:pintf(n请输入您想从文件中读取第几个结构体信息(%d)n,N);c(d,n);tem=Fech(n);/Ftchprnf(下面就是第d个结构体得信息n,n);rintf(学号 姓名 专业 班级 课程1 课程 课

9、程3);Ouput(te);/调用put函数bea;case 3:prinf(n请输入班级号u(或2)n);prinf(n请输入专业名称majorame(puter=c,softar=s,etwok)n);prntf(n请输入一个分数m(0m300)n);scaf(%d,&n);getcha();caf(c,&majoame);getchar();scanf(%d,&m);Sarh(tunts,num,majorname,m);/调用Search函数brek;case :pintf(n请输入某一课程下标cors(,1,2);sf(%d,&cose);sbMx(sdents,cose);/调用M

10、ax函数,返回值给subprintf(下面就是课程%d最高分学生得信息n,ors);prntf(n学号 姓名 专业 班级 课程0 课程1课程2n);Oupt(stuentsub);/调用utut函数re;cae :prntf(n下面就是对所有学生得平均成绩简单选择排序后得顺序:);Sort_selet(stdnt);/调用Sort_elect函数bre;cse 6:rintf(请输入一个班级号num(1或2)n);saf(%,&num);pntf(n下面就是对某个班级起泡排序后顺序:n);Sort_bub(tudents,um);/调用Sor_buble函数rak;cs7:prinf(请输入某

11、一课程下标orse(0,1,2)n);printf(n请输入专业名称arame(pute=c,sftwars,netork=n)n);sanf(%d,&corse);etchar();an(%,&majrnam);nf(下面就是对某一专业学生得某一课程直接插入排序后得顺序:n);or_iner(sudents,orse,&majrnme);调用Sorinser函数brak;se 8:Sa(stdets,zo(stuens)/izeof(ST);/调用Sve函数,sizf(stdents)/sieof(TU)表示要保存几个学生得信息break;deul:reak;if(id8)rek;3、Inp

12、u函数ine studn、hvoidnput(STU* ,int)FLE f;ca 1;rintf(n请输入打开文件名:n);gets();fp=on(,);frea(p,sieo(STU),p);close(p);4、Outpu函数#incude tudet、hvod Outp(ST *)pit(n%-5s-1s%-8s%6%dddn,p-nm,pnm,p-ajor,p-clasN,pscor0,p-score,p-sre);5、Ftch函数#includ stuen、hSTU Fet(n studentInd)STU tem;FL *p;c ;i((sudIndex)|(studnIxN-

13、1)rif(stentInerrn);exit(0);geca();print(n请输入打开文件名:n);ges();fp=oe(,r);seek(f,(lon)(studentdexszeof(STU),EE_ST);fad(&tem,sizeof(STU),1,);fclose(fp);retur tem;、earh函数#icudesudnt、hod earh(STU p,int clssN,char s,int soreSm)int i;for(i;mar0=s) i()core0+(p+i)-core1+(+)score)screSum)rintf(下面就是班级%d专业%c超过%d分得

14、学生信息n,lasNo,s,scoreSum);prinf(n学号姓名 专业 班级 课程1 课程 课程n);Outut();7.Max函数#inude stent、hntM(S*p,int scoIndex)int =0,mx,rel;max(p+)-screscoreIndx;resl=;for(i=1;icrcorenexmax)mx=(p+i)-scoresconex;reslt=;retun resul;8、 Sortelect函数#icud stuent、vd Sort_slect(SU* )ini,j,k;float sm,ae,t;STU tem;for(i=0;iN;i+)um

15、=0、0;sum=su+(+i)ore0(p+i)re1+(p+i)-core2;av=sum/3;for(i=0;N1;+)k=i;or(j=k;N;j+)f(vejae)=j;t=ae;vk=vei;ai=t;e=*(p+);*(p+k)=(p+i);(+i)t;pntf(学号 姓名 专业 班级 课程1 课程2 课程3n);or(i=0;clasNo=n)u+;stuclass_av=*(p+i);j+;um=、; sum=sum+(p)-coe+(p+i)-score+(p+i)-soe; avei=sum/3;for(i0;icut1;i+)for(j=0;vej+1)t=avej;

16、ve=vej+1;ave+t;tem=stu_css_ave;s_ass_avej=stu_clas_vj+1;u_ls_ave1=;rnt(n学号 姓名 专业 班级课程1 课程2课程3n);or(=0;jt;j+)utput(stu_ca_+j);、 Soisrt函数#inluesuent、hvodortiser(SU *p,int n,char* mjor)STU stuas_subjectN;nt i=0,j=1,cunt=;fo(i=;i;i+)if( majr=(p+i)-maor0)out+;st_ca_suectj=* (i);j+;fo(=2;i=cot;+)stu_clsub

17、jet0=s_class_sbecti;for(j=i-1;u_lass_suject、sorensu_clas_subjectj、soen;-)stu_class_subjecj+=stu_clss_subectj;su_lasssbjet+1=uclass_sujc0;pintf(n学号 姓名 专业 班级 课程1 课程 课程3);or(j=1;j=cot;j+)utt(tu_clas_subject+j);11、 Sv函数ncude stdet、hvoi ave(STU p,intn)L fp;char 5;inti;prntf(请输入保存得文件名:n);ges();if((fp=f(,wb)=NL)prnf(cnot opn filen);retr;for(i=0;n;i+)f(wrte(p+,sizef(TU),1,f)!=1)pint( eron);五、程序测试(Iut、Search、Max、rt_ble、Sot_insert函数得调用及执行结果得截图)1、Input 函数2、Srch函数3、Mx函数4、Sr_bubl函数5、or_nsrt函数

展开阅读全文
部分上传会员的收益排行 01、路***(¥15400+),02、曲****(¥15300+),
03、wei****016(¥13200+),04、大***流(¥12600+),
05、Fis****915(¥4200+),06、h****i(¥4100+),
07、Q**(¥3400+),08、自******点(¥2400+),
09、h*****x(¥1400+),10、c****e(¥1100+),
11、be*****ha(¥800+),12、13********8(¥800+)。
相似文档                                   自信AI助手自信AI助手
搜索标签

当前位置:首页 > 通信科技 > 开发语言

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

关于我们      便捷服务       自信AI       AI导航        获赠5币

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

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

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

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服