C,,学籍管理系统_第1页
C,,学籍管理系统_第2页
C,,学籍管理系统_第3页
C,,学籍管理系统_第4页
已阅读5页,还剩41页未读 继续免费阅读

下载本文档

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

文档简介

1、c,学籍管理系统 c+ 学生学籍管理系统 1、 基本 要求 :为方便管理一个班同学得学籍,编写一个学籍管理系统软件。系统记录必须包括学生姓名、学号、数学、物理、化学、英语、网络等课程成绩。 2、 、 基本 管理功能: (1) 添加:增加一个同学得记录到管理系统中。 (2) 查询:可以根据姓名或学号查找某人得相关信息,若找到则显示其信息。 (3) 修改:在管理系统中修改一个同学得记录。 (4) 保存:将所有学生学籍信息保存在一个文件中(数据库文件或普通得文本文件)。 (5) 读取:从文件中读取已保存了数据。 (6) 删除:从管理系统中删除一条记录。 (7) 恢复:能恢复被删除得记录。 (8) 统

2、计:(a)计算各门课程全班平均成绩及总成绩;(b) 统计其课程全班得:100 分、 9 分、89 分、79 分、9 分、5分以下学生人数及全班总人数得百分比;(c)以表格形式打印全部学生得平均成绩(包括各课总得平均成绩)。 (9) 其她:可以根据自己得思路设计其她功能。 ps :我们报告就是手写得, 所以报告没有弄上来, 不过源程序大家可以瞧一下,下面就是运行得界面 剩下得功能大家自己试吧,这里就不截图了。 源程序:(头文件#inclu stdafx、与主函数 int ma(t agc, ch a gv) 就是建工程时自带得,把之前得清掉后直接复制即可) #include tdaf、 #icl

3、udeiosream #incldesea #ncludecmah #icldesring #icudestdlib、 icludecnio、 inueiomaip sing aspa sd; nt =0,u0; nt number6=0,0,,0,0; /各门学科分段成绩得人数 dube pot60,0,0,0; doule eva5=,0,0,,0; stng fnd_nae; srg fnd_num; nt ; void search(srig); vd earc(it); oi cnqu_data(); /*存取文件/ vid av_ata(); /*保存文件 oid raa(); /

4、*读取文件* void rnw_data(); /*删除恢复*/ void deletdata(nt m); /删除记录*/ oid ecover_dat(); /*恢复记录/ vd et_a(); /*课程得平均成绩*/ u_resl1(); vd put_result2(); void t_sult(); class student /定义一个 sent 类 pubc: stude(); *构造函数*/ vi se_eva(); frid vod set_masage(int m,stdent );/*友元函数*/ rind vod add_sge(int m,stuent j);/友元函

5、数*/ frind vid putassage(in ,sunt j); fred oid chang_da(in m,sue j);/*修改学生信息/ fren void search_aa(); /查找学生信息/ friend vid searc_ne(strng nme); friend o serch_num(sting nu); ren void se_ne(); riend od setpoin(); riend vod save_data(); /*保存文件 rien void read_dta(); /*读取文件/ fried oi deltedata(int m); /删除记

6、录* friend void rcovedata(); *恢复记录*/ fiend void seteva(); /*课程得平均成绩*/ friend vod put_rsul1(); rivte: sring nae; /*姓名/ strng num; /*学号*/ /*别性*/ ;xes gnrs double va; /*学习水平/ dobl sue; *数学成绩*/ double wul; /*物理成绩*/ doble huaxue; /*化学成绩*/ ue yingyu; /*英语成绩*/ ouble wnlo; 网络成绩 sd20,studl200; stuent:studen()

7、 /*定义构造函数* nam=wu; num=wu; sex=w; shuxue=0; wli=0; huxe=0; yiyu; angluo0; vod student:se_va() 计算平均成绩 eva=(huxuewli+huaxue+yiyuwan)/; voi set_masse(in m,uden j) in i; o(i=0;im;+) co输入第i+1个学生得信息endl; ot姓名 学号 性别 数学成绩 物理成绩 化学成绩 英语成绩 网络成绩en; inji、naeji、umj、exi、shueji、wuliji、huaxei、yinyui、wnglu; cutn; sy(

8、cl); oi ad_asage(int ,stden )/增加学生信息 n ; fr(=n;in+;i+) cot输入第个学生得信息endl; cut姓名 学号 性别 数学成绩 物理成绩 化学成绩 英语成绩 网络成 绩end; cinji、namji、nui、sej、uxeji、ulij、huxuji、yngyuji、wnluo; ssem(cls); n=n; void chng_at(in ,tudnt )/修改学生信息 if(=0|mn) cout输入错误!ndl;getch(); ele cotnl; cout 输入该同学得新学籍信息endl; ct _ enl; cout姓名 学号

9、 性别 数学成绩 物理成绩 化学成绩 英语成绩 网络成绩endl; cinm-1、aej-、numj-1、sx1、huxuejm、wulijm-、hauej-、ngyjm1、waglu; sytm(cls); outendlendedndlendendlenndlendlenlndl 修改成功,按任意键返回主菜单。end;geth(); vi put_massag(it ,stent ) int i; out _ endl; out 序号| 姓 名 学 号 性别数学|物理化学英语网络endl; cou |-|-|-|-endl; or(i0;im;i+) cot ;cout etfill(0)

10、etw()stiosflgs(is:)setoflas(ios::fixd)etreciso(0)+1;cut; cot setfill(0)se(7)seioslag(io:left)tioslags(is:fixed)specisin()j、ame;cut; cotsetil(0)set(0)seisfgs (ios:let)setiosflgs(is:fxed)sereision(0)i、num;c|; cot etil(0)setw(3)setiosflgs(s:lft)eisflags(ios:fxed)stprecon()ji、sex;cou; cout setfill(0)se(

11、3)etisflags(ios:le)stisfgs(ios:fix)stprciion(0)ji、uxe;cut; ot setfl(0)sew()sioflags(ios::eft)setifla (io:fixe)etpreision(0)i、wuli;cou|; cou sfll()setw()etislag(ios::lt)setosflags(os:fed)eprision(0)ji、huaxu;cout|; cout stfill()setw()etos(io:t)tiolags(ios:fixed)setpreon(0)j、ingu;cout|; cout setfill(0)

12、st(3)setioa(ios:left)stslags(ios::fied)setprciion(0)ji、anluo;ou; cotn; ou |_|_|_|_| endl; od sarchdata()/查找功能 cr a; (a;=|a!=4;) systm(cls); cout1、按姓名查找endl2、按学号查找ndl3、输出所有学生信息endl4、返回主菜单endl; cin; sste(ls); sitc(a) cse :ot输入您需要查找得学生姓名: ;cinfin_ne;sacham(fd_nme);brea; ae 2:co输入您需要查找得学号: ;cnfn_um;sear

13、chum(fn_nu);be; case 3:coutendl; ;lde息信籍学生学 tuo ut_massge(n,tu);gech();break; case :bek; ldneldnelnlneldnednldletuc:tuedendlendedl 错误指令!按任意键返回。edl;tch();rea; voi ecnae(stri me)/按姓名查找 int i; bool fla=flse; fo(i0;in;i+) (td、me=am) cut _enl; cout 序号 姓 名 学 号 性别|数学|物理|化学英语网络e; cout |-|-|-|-|-|-|end; u ;u

14、t stfil(0)sew(3)eosfag(ios:ef)+;ut; co tll()tw()etisf(is:lft)stui、nae;cout|; cosetfill(0)sew(10)setislag(ios:lft)studi、num;u; ou sfll(0)sew(3)siolags (ios:eft)studi、ex;out|; cou sill()setw(3)setislas(ios:ef)udi、uxu;cut; cut setfil()set()stoflag(is::lft)tui、wli;cout; out etfil(0)set(3)tioflags(is:le)

15、udi、huaxe;cot|; cout sfil(0)setw(3)setiolgs (ios:lef)studi、yingyu;cout; ot etfill(0)se(3)setosflgs(os::let)stdi、wnglo;cou; coutn; _|_|_|_| ndl; flag=tru; bek; if(fag=fal) cot对不起,暂无此学生信息; ec(); voi search_num(strig num)/按学号查找 it i; bl flagfalse; for(i=0;in;i+) f(stdi、num=num) cot _endl; cout |序号 姓 名

16、学 号 |性别数学物理化学|英语|网络end; cout -|-|-|-|-|-|el; cut ;c setfil(0)setw()seosas(ios::le)i+;out|; cout etill(0)setw(7)setiosl(os:left)stui、name;cout; outseill()etw(10)seosflas(io:left)stud、m;o|; cot setfill(0)etw(3)setiosflas(is:eft)stu、sex;cot; cout setfill(0)etw(3)oslag(os::f)std、shxu;cu|; cut efill(0)se

17、w(3)setiofgs(i:let)sui、wul;ut; ut sefil()etw(3)etiosflgs(ios:left)stdi、uaxu;cout; cu sti(0)setw(3)seiosflas(ios::eft)stud、ygu;co; cut setfill(0)sew(3)setiosflgs(ios::let)stdi、wnluo;out|; cout; cout |_|_|_|_|_|_ endl; lagtrue; re; (fagfalse) out对不起,暂无此学生信息; getch(); vid st_numr()/number 开始 int e,f,i,

18、; fo(e=,f=,t=0,i=;i;+) /0 if(tdi、shuue=10) t+; number=t; for(1,0,t,i0;in;+) i(tudi、wuli=100) t+; numeref=; for(e=2,f=0,t=,=;i;i+) i(stdi、uaue=100) +; nmbef=t; fr(e=3,f=0,t,=0;n;) if(studi、yinyu=10) +; nmreft; or(e=,=0,=0,=0;n;i+) if(udi、wag=100) t+; umberef=t; fo(e=,=1,t=0,i=0;n;+) /9099 i(stui、suxu

19、=90sudi、shuxue99) t+; numberf=t; fo(1,f=1,t=0,i0;in;i+) /099 f(tudi、wi=90sudi、wuli=9) t+; nuerf=t; f(=2,f=1,t=0,i=0;i;i+) /909 if(stdi、huaue=0stui、hau99) t+; nmberef=t; for(e3,f=1,t=0,i=;i;+) /099 if(studi、yigyu90sud、yingyu=99) t+; beref=t; for(=4,f=,t0,=0;in;i+) /999 i(studi、wanglo90studi、ango=99)

20、t+; nuere=t; for(e,f2,t=,i=;n;i+) /089 f(stu、huu=0studi、shuxue=89) +; nubere=t; fo(e=,2,t,=0;in;+) /089 (studi、wli=0stdi、uli=89) t+; nmbref=t; for(e2,f=2,=0,=0;n;i+) /8089 if(stu、huaxe80tudi、uxe=9) t+; numee=t; or(e=3,=2,t0,i=0;n;+) /88 if(stud、yingyu=80stu、yingyu9) t+; nuberf=; f(=4,=,=,i;i+) /8089

21、 if(tud、wangluo=80studi、walo=9) t+; umbrf=t; or(e=0,f=3,t=0,i=0;i;i+) /7079 f(stu、hu=stdi、huxu=9) t+; umbef=t; f(e=1,f=3,=0,i0;in;i+) /079 f(sd、wuli=70sudi、wuli79) t+; mef=t; for(e=2,f=3,t0,i=;in;i+) /7079 if(ud、huaue=7tudi、haxu79) t+; nuber=t; or(e=,f,t0,i=;i;i+) /707 if(studi、yingu70stdi、yigyu=7)

22、+; umberft; (e=4,f=3,t=,i=0;in;+) /779 if(studi、wanguo=70stdi、anglu=79) t+; numbrf=; fo(e0,f=,t0,i0;in;i+) /09 (sui、shxe=60sudi、shxu69) t+; numbee=; or(e1,f=4,t=0,i=0;in;+) /6069 f(stu、wui=0stdi、wu=9) t+; nmberef=t; for(e=2,f=4,t=0,i=0;in;i+) /606 f(sdi、xue60studi、axe=9) +; numberef=t; fr(3,f=,0,i=0

23、;in;i+) /6069 if(stud、yingy=0studi、yingy=69) t+; numbere=t; or(e=4,4,t=,i0;i+) /606 i(tudi、waluo=60stud、wanglu=9) +; numbef=t; o(e,,0,i=;n;+) /9 以下 if(stdi、shxuetudi、shxu=9) +; nmerf=t; fr(e=,t=0,i=0;i;i+) /59 以下 if(stud、wuli0sdi、wu=59) t+; umberef=t; fo(=2,f5,t0,i0;i+) /59 以下 if(studi、huaxu0t、huaxe

24、=9) t+; numberf=; for(e=,f=5,t=0,=0;n;i+) /59 以下 (stu、igu=0studi、ngyu59) t+; nmberef=t; for(e4,f=5,=0,i=;in;+) /59 以下 (tdi、wangluo=0sudi、wngluo=) t+; numeref=t; void se_point() /t nt ,; fo(e0;e;e+) for(f=0;6;f+) inef=numberef/(n1、0)10; vod se_e2() /*课程得平均成绩*/ ouble s;int i; for(i=0,s;in;i+) ssstudi、

25、huxue; ev0=s(n*1、0); for(i0,=0;i;i+) ss+tud、wui; eva1=/(n*、0); for(i=0,s=;i;+) ss+sti、uxu; ev=s/(n*1、0); fo(i=0,=0;in;i) s=s+stdi、yiny; ev=(n*1、0); or(i=,=0;i;i) s=s+studi、angluo; eva4=s(n1、); void t_result() /输出统计结果 char g; fo(g=0;g=0|g!;) system(c); cout1、查询每位学生得总平均分endl2、查询各课得成绩分布及平均成绩endl3、查询各段成

26、绩所占得百分比ndl4、返回主菜单end; cng; sem(c); ich(g) case 1:put_resut();ec();break; cas 2:u_reul();getch();ak; cse 3:pu_result3();etc();bak; cs 4:rak; deful:couendldlendledlndlelendedlendndlenl 错误指令!按任意键返回。endl;etch();reak; void t_esul()/每位学生得总平均分 t e; cot 学生得总平均分 l; cout _endl; cout 姓 名|平均成绩|endl; cot -|-endl

27、; fr(e=0;n;e+) cot |;utsetfil()sew(6)seiosflags(os:right)sue、name ;cousetfill(0)()stiosflags(os:rih)stude、eva |el; out _enl; void put_reut2() /输出统计结果 2 int ,f; cut 各课得成绩分布及平均成绩 en; cu _endl; cut 课 程| 100 |909|8089|07606960 以下|平均分|edl; ot |-|-|-|-|-|-|endl; ou |;cout数 学|;for(=0,f=;f;f+)coutsetil(0)se

28、w(4)setsfla(i::g)numbef |;cout sefil(0)stw(5)seiosflags(ios:ef)seioslas(ios:ixd)setpecsion(1)va|n; c |;t物 理;fr(e=,f=0;f6;+)ctsefill()et()sisflag(ios:right)nbere ;ct sell(0)setw(5)sflas(o:le)etsflags(os:fxe)setprecsion()evandl; cou ;ut化 学|;for(=2,f=0;f6;+)cutstfll()se(4)setiosflas(io:ght)umeref ;cot

29、etill(0)stw(5)setioslags(os:l)setiosfag(ios::fixed)etrcisio(1)ea2edl; cout |;cout英 语|;f(e,=0;f6;f+)cottfil(0)se(4)setioslgs(i:ight)nuere ;cou stfill(0)setw(5)seiflas(ios:lt)stiosflags(io:fixed)sepriion(1)eva3|d; cou ;u网 络;for(e=4,f=0;f;+)ctetfi(0)sew(4)setiosfags(ios:rght)nmbre |;ou setfil(0)st(5)se

30、tifags(ios:lft)setiosflags(ios:ixed)setrecion(1)eva|endl; ou _|_|_|end; voi p_reslt3() /输出统计结果 3 t e,f; c 各段成绩所占得百分比 edl; o _endl; |课 程| 0 |9099808909|0660 以下平均分|enl; c |-|-|-|-|-dl; cut |;ou数 学|;fr(e=,f=0;f6;+)ctsetfill()setw(5)etiosflags(io:iht)oint |;cout setil(0)stw()setioa(io::l)setoflas(ios::i

31、xed)epreion(1)eva0endl; cout ;co物 理;for (e1,f;6;f+)outstfil(0)ew(5)etiosags(io:righ)ointe ;out setfill()sew(5)setoags(os::left)etifas(ios:xe)etpreision(1)eal; cout ;out化 学;f(e=2,f0;f6;+)coutsefll(0)sew(5)seioslags(io:rght)pntef ;cou setfll(0)et()tiosflags(io:left)setiosflags(ios:fixd)etpeision()e2|d

32、l; cot |;ou英 语|;for(e,f=0;f;+)ctetill()etw(5)seioflag(is:rigt)ointef ;cout seti(0)ew()stiofags(ios::left)siosflags(ios:fixd)sepreision(1)evaed; c |;ut网 络;for(e=4,;6;f+)cutsetfl(0)sew()setisflags(o:right)poinef ;cot setfl(0)setw(5)setioslas(i:lft)setosflags(i:fied)seprecision(1)ev|endl; cot |_|_|_|_|

33、_|endl; voi cuqu_dta() /存取文件 char g; for(g=0;g=0|g!=;) yste(ls); cout1、保存文件endl、读取文件endl、返回主菜单end; cng; sstem(cls); switch(g) cae 1:sve_daa();beak; :read_dat();beak; s 3:rak; defat:coendledlndlenledledndldlendlendledl 错误指令!按任意键返回。nl;gech();brek; d sa_data() /保存文件 int ; remov(学生学籍信息、t); ostrea outfil

34、e(学生学籍信息、d,os:ot); f(ot) cerr打开失败!edl; exi(1); ele for(i0;i;i+) outfilesudi、nam ; otfiletdi、num ; outfilestdi、sex ; outilestudi、huxu ; outfilestudi、wuli ; ouiletud、huxue ; tfiletdi、yingyu ; outflestu、waguo ; =i; couendlendlendendlenlndlendedlenledlendl 保存成功_,按任意键返回主菜单。endl; t(); etch(); void read_da

35、ta() /读取文件 int i; fstrea inle(学生学籍信息、dt,io::); if(!infle) rr打开失败!ndl; ext(1); ls f(n=0,0;i200;i+) infilestui、a; ilestudi、num; nileui、se; nflstud、huxue; infilesud、wu; infilestud、uaxe; nlstu、yigu; infilestui、wanguo; +; f(studi、wangluo=tudi、uli=0ud、uaue=0) i=200; n-; ctnlendendlendledlendldlendndlendl 读取成

温馨提示

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

评论

0/150

提交评论