项目程序代码_第1页
项目程序代码_第2页
项目程序代码_第3页
项目程序代码_第4页
项目程序代码_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

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

文档简介

1、/=学员信息管理系统=/=编制:宋焱鑫/=TXT文本文件实时存储数据,仍然运用结构体数组#includestdio.h#inccluddesstdllib.h#inccluddesstriing.h#inccluddecconiio.hhint sccounnt; /定义义数据库库实际学学生数量量typeedeffstrructt/定义义学生信信息结构构体类型型chhar no10; charr naame16; floaat sscorre33; STTU;STU stuu1000000;/声明明结构体体数组,以数据据库中最最大学生生数量来来定义/函数数声明部部分voidd reeadddb

2、(); /初始始化学员员信息,把外存存中学生生数据读读入到内内存中voidd saaveddb(); /把内内存中结结构体数数组中的的学生数数据保存存到外存存中voidd zhhumuulu(); /显示示程序主主目录voidd diispllay(); /显示示所有学学员信息息voidd innputt(); /录入入新学员员信息int fiind(chaar sstr80);/查找指指定学号号的学员员,找到到返回该该学员在在数组中中的下标标,没找找到返回回-1,strr代表指指定学号号;在多多个模块块中用到到该函数数voidd quueryy(); /根据据学号查查找,并并显示学学员信息息

3、voidd uppdatte(); /修改改学员信信息voidd deel(); /删除除学员信信息voidd soort(); /对学学员进行行排序voidd avveraage(); /求学学生成绩绩平均值值voidd guuakee(); /不不及格学学生/函数数定义voidd maain()/程序序进入“欢迎界界面”prinntf(nnnnnnnttt欢迎进进入=学员信信息管理理系统=nn);/按任任意键初初始化学学员信息息priintff(ntttt按任任意键初初始化学学员信息息.nn);gettch(); /从键键盘收任任一个字字符即返返回,该该函数在在connio.h中reaad

4、dbb();/初始始化学员员信息,把外存存中学生生数据读读入到内内存中priintff(tttt共共有%dd 条学学员信息息,sccounnt);/sscouunt是是实际学学生数量量priintff(nnntttt按任意意键进入入主目录录.);gettch(); /从键键盘收任任一个字字符即返返回,该该函数在在connio.h中zhuumullu();/调出“程序主主目录”voidd zhhumuulu() charr seelecct;/代表表用户所所选择的的子目录录号dosyysteem(clss);prrinttf(=学学员信息息管理系系统=nn);prrinttf(以下是是程序主主目

5、录,请选择择功能nnn);prrinttf(1)显显示nn2)查查找nn3)录录入nn4)修修改n5)删除nn6)排排序nn7)求求学生成成绩的平平均值8)不不及格学学生nn0)退退出nnn);prrinttf(键入功功能前的的数字后后,按Ennterr键键:); sellectt=geetchhar();swittch(sellectt)casee1: /显示所所有学员员信息sysstemm(ccls);dissplaay(); priintff(nnntttt按任意意键进入入主目录录.);getcch(); /从键键盘收任任一个字字符即返返回,该该函数在在connio.h中breaak;c

6、asee2:quueryy();breeak;/查询询学员信信息casee3:innputt(); bbreaak;/录入入新学员员信息casee4:uppdatte(); breeak;/修改改学员信信息casee5:deel(); bbreaak; /删除学学员信息息casee6:soort(); breeak; /对学学员进行行排序 ccasee 7:avveraage(); brreakk; /求学学生成绩绩平均值值 ccasee 8:guuakee(); brreakk; /求求挂科学学生casee0: breeak;/退出出defaaultt:prrinttf(请选择择功能前前的数

7、字字n);brreakk;whhilee(seelecct!=0);voidd reeadddb()/初始始化学员员信息,把外存存中学生生数据读读入到内内存中FILLE *fp; if(fp=foppen(sttudbb.txxt,r)=NUULL) priintff(文件有有错误!程程序不能能运行!n);retturnn;scoountt=0;/sscouunt是是数据库库中实际际学生数数量,是是全局变变量whille(!feoof(ffp) /no是是学号,namme是姓姓名,)corre是成成绩 /sttu是学学生结构构体数组组,全局局变量 ffscaanf(fp,%ss %ss %ff

8、 %ff %ff,sstuscoountt.nno,sstuscoountt.nnamee,&sstuscoountt.sscorre00,&stuusccounnt.scoore1,&sttusscouunt.sccoree2);if(sstrccmp(stuusccounnt.no,)!=0) sscouunt+;/去掉掉学号为为空字符符串fcllosee(fpp);/把内内存中结结构体数数组中的的学生数数据保存存到外存存中voidd saaveddb()int i;FILLE *fp; if(fp=foppen(sttudbb.txxt,w)=NUULL)/以写写的方式式打开文文件,覆覆

9、盖原文文件 priintff(文件有有错误!程程序不能能运行!n);retturnn;/sttu是学学生结构构体数组组,全局局变量for(i=00;iscoountt;i+)/sccounnt代表表实际的的学生数数量,sstu是是表示学学生信息息的结构构体数组组名if(sstrccmp(stuui.noo,)!=0)/去掉掉学号为为空字符符串的信信息 prrinttf(ffp,%-88s%-10ss%-110.11f%-100.1ff%-100.1ffn,sttuii.nno,sstui.namme,sstui.scoore0,stuui.sccoree1,sttuii.sscorre22);

10、fcllosee(fpp); voidd diispllay()/显示所所有学员员信息int i;priintff(n%-8s%-100s%-10ss%-110s%-100snn,学号,姓名,语文,数学,英语);priintff(%-8ss%-110s%-100s%-10ss%-110sn, =,=,=,=,=);for(i=00;iscoountt;i+)/在pprinntf中中,“-”表示数数据左对对齐,“.1”中的表表示输出出宽度,“1”表示输输出位小小数 pprinntf(%-8s%-100s%-10.1f%-100.1ff%-100.1ffn,sttuii.nno,sstui.nam

11、me,sstui.scoore0,stuui.sccoree1,sttuii.sscorre22);/查找找指定学学号的学学员,代代表指定定学号(strr)的下下标,如如果指定定学号不不存在,返回-1 ;在多个个模块中中用到该该函数int fiind(chaar sstr80)int i;for(i=00;iscoountt;i+)if(sstrccmp(strr,sttuii.nno)=0) reeturrn ii;retuurn -1;voidd quueryy() /根据据学号查查找,并并显示学学员信息息charr sttr880;intt n; ssysttem(clls); ppri

12、nntf(nn请输入入要查询询的学生生的学号号:); sscannf(%s,sttr); nn=fiind(strr);if(nn=-1)/fiind函函数返回回值,nn代表指指定学号号的下标标,如果果指定学学号不存存在,返返回-11 priintff(n对不不起,您您要查找找的学员员不存在在n);elsee prrinttf(n%-8ss%-110s%-100s%-10ss%-110sn,学号,姓名,语文,数学,英语); pprinntf(%-8s%-100s%-10ss%-110s%-100snn, =,=,=,=,=); prrinttf(%-88s%-10ss%-110.11f%-10

13、0.1ff%-100.1ffn,sttunn.nno,sstun.namme,sstun.scoore0,stuun.sccoree1,sttunn.sscorre22); pprinntf(nnntttt按按任意键键进入主主目录.);/显示完完毕,提提示用户户返回主主程序gettch(); /从键键盘收任任一个字字符即返返回,该该函数在在connio.h中voidd innputt()/录入入新学员员信息STUU ss;/代表新新学员信信息int i;/先显显示已有有学员信信息sysstemm(ccls);priintff(当前学学员信息息如下:n);priintff(n%-8s%-100s

14、%-10ss%-110s%-100snn,学号,姓名,语文,数学,英语);priintff(%-8ss%-110s%-100s%-10ss%-110sn, =,=,=,=,=);for(i=00;iscoountt;i+)/在pprinntf中中,“-”表示数数据左对对齐,“.2”中的表表示输出出宽度,“.2”表示表表示输出出两位小小数 pprinntf(%-8s%-100s%-100.1ff%-100.1ff%-100.1ffn,sttuii.nno,sstui.namme,sstui.scoore0,stuui.sccoree1,sttuii.sscorre22);/下面面输入新新学员信信

15、息priintff(nnnn请请输入学号号,学号号不允允许为空空字符串串:);scaanf(%ss,&s.nno);priintff(n请输输入姓名,注意意姓名名里不不能加空空格:);scaanf(%ss,&s.nnamee);priintff(n请输输入语文成成绩:);scaanf(%ff,&s.sscorre00 );priintff(n请输输入数学成成绩:);scaanf(%ff,&s.sscorre11 );priintff(n请输输入英语成成绩:);scaanf(%ff,&s.sscorre22 );/把临临时结构构体变量量s赋到结结构体数数组中;同时把把表示学学员数量量的变量量sc

16、oountt增加stuusccounnt+=ss; ssaveedb();/把内内存中结结构体数数组中的的学生数数据保存存到外存存中priintff(nnntttt按任意意键进入入主目录录.);gettch(); /从键键盘收任任一个字字符即返返回,该该函数在在connio.h中voidd uppdatte()/修改改学员信信息int n;ccharr sttr880;STUU s; ssysttem(clls); pprinntf(当前学学员信息息如下:n); ddispplayy();/先显显示所有有学员信信息 pprinntf(nn请输入入要修改改的学生生的学号号:); sscannf(

17、%s,sttr); nn=fiind(strr);if(nn=-1)/fiind函函数返回回值,nn代表指指定学号号的下标标,如果果指定学学号不存存在,返返回-11 priintff(n对不不起,您您要查找找的学员员不存在在n);elsee /您要要修改的的学员信信息 priintff(n您要要修改的的学员信信息如下下:nn); priintff(n%-8s%-100s%-10ss%-110s%-100snn,学号,姓名,语文,数学,英语); priintff(%-8ss%-110s%-100s%-10ss%-110sn, =,=,=,=,=); prrinttf(%-88s%-10ss%-1

18、10.11f%-100.1ff%-100.1ffn,sttunn.nno,sstun.namme,sstun.scoore0,stuun.sccoree1,sttunn.sscorre22);/输入入修改后后的学员员信息/下面面输入新新学员信信息 priintff(nnnn请请输入修修改后的的学号号,学号号不允允许为空空字符串串:); scaanf(%ss,&s.nno); priintff(n请输输入修改改后的姓名名,注意姓名里里不能能加空格格:); scaanf(%ss,&s.nnamee); priintff(n请输输入修改改后的语文文成绩:); scaanf(%ff,&s.sscorr

19、e00 ); priintff(n请输输入修改改后的数学学成绩:); scaanf(%ff,&s.sscorre11 ); priintff(n请输输入修改改后的英语语成绩:); scaanf(%ff,&s.sscorre22 ); stuun=s;/把修修改后的的值保存存到内存存数组中中 savvedbb();/把内内存数据据保存到到外存数数据文件件中 priintff(nnntttt祝贺您您修改成成功!); pprinntf(nnntttt按按任意键键进入主主目录.);/显示完完毕,提提示用户户返回主主程序gettch(); /从键键盘收任任一个字字符即返返回,该该函数在在connio.h

20、中voidd deel()/删除除学员信信息int n,ii;chhar strr800;ccharr chh; ssysttem(clls); pprinntf(nn请输入入要删除除的学生生的学号号:); sscannf(%s,sttr); nn=fiind(strr);if(nn=-1)/fiind函函数返回回值,nn代表指指定学号号的下标标,如果果指定学学号不存存在,返返回-11 priintff(n对不不起,您您要删除除的学员员不存在在n);elsee /您要要修改的的学员信信息 priintff(n您要要删除的的学员信信息如下下:nn); priintff(n%-8s%-100s%-

21、10ss%-110s%-100snn,学号,姓名,语文,数学,英语); priintff(%-8ss%-110s%-100s%-10ss%-110sn, =,=,=,=,=); prrinttf(%-88s%-10ss%-110.11f%-100.1ff%-100.1ffn,sttunn.nno,sstun.namme,sstun.scoore0,stuun.sccoree1,sttunn.sscorre22);/提示示用户是是否继续续删除操操作 priintff(n您将将删除该该学员信信息,继继续删除除,请输输入y或者Y,否则则,请输输入n或者N:);do sccanff(%c,&chh);

22、 whhilee(!(ch=yy|ch=YY|ch=nn|ch=NN);if(cch=n|cch=N) pprinntf(nn您已取取消删除除操作,删除不不成功!n);if(cch=y|cch=Y) forr(i=n;ii=sscouunt-2;ii+) sstui=stuui+1;/删除除指定学学号 scoountt-; savvedbb();/把内内存数据据保存到到外存数数据文件件中 priintff(n恭喜喜您已成成功删除除!nn); /显示示完毕,提示用用户返回回主程序序 pprinntf(nnntttt按按任意键键进入主主目录.); ggetcch(); /从键键盘收任任一个字字符即返返回,该该函数在在connio.h中voidd soort() /对学学员进行行排序charr seelecct; /代表用用户所选选择的子子目录号号int i,jj;STTU tt; /定义排排序用的的临时变变量dosyysteem(clss);prrinttf(=学学员信息息管理系系统=nn);prrinttf(以下是是排序子子目录,请选择择功能nnn);prrinttf(1)按按学号升升序nn2)按按学号降降序nn0)退退出nnn);prrinttf(键入功功能前的的数字后后,按Ennterr键键:); sellectt=geetchhar();s

温馨提示

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

评论

0/150

提交评论