zzzzc语言课程设计———学生成绩管理系统_第1页
zzzzc语言课程设计———学生成绩管理系统_第2页
zzzzc语言课程设计———学生成绩管理系统_第3页
zzzzc语言课程设计———学生成绩管理系统_第4页
zzzzc语言课程设计———学生成绩管理系统_第5页
免费预览已结束,剩余40页可下载查看

下载本文档

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

文档简介

1、zzzzc语言课程设旷成绩管理系统学生作者: 日期:2中南大学机电工程工程学院机械0805班1、所有记录保存在一个数据文件中; 2、具备记录添加功能;3、查询功能(如按学号查询成绩等); 4、计算统计功能(如统计某门课程的平均程序) 5、排序功能(如按成绩排序); 6、统计并显示信息功能;、程序流程图1.系统总体结构图第22页共34页l=(Node*)mall oc(sizeof(NodY无文件,创建?fp=fope n(IC假真真P-n ext=NUL910/语f输出提示1F计算总分和平表尾指针移到结束4. Del函数流程图4入rz输入要.No5. Qur函数流程图学生不存/输出找到/1P1

2、删除该NO输出YE输出提示Y!输入seiel输出提NONOe/输出提/定为结I输出匕针fYE定为O匕YE-%出NO6. Modify函数流程图O入.输入要输出学生输出找至H 一/输入新 的学生相关7.DisP函数流程图9.Sort函数流程图7分数序No后移排在-插入中记录结NoYelO.Save函数流程图ll.locate函数流程图1=0真Strcmp (nameornum,num)=F=I0r!=NULLStrcmp (r-data.nu mfindmess)=0直returnStrcmp (nameornum,name)=0F=0r!=NULLstrcmp (r-data.nu mfind

3、mess)=0真return仃六.系统实际运行效果1.欢迎界面2.主菜单A -F:Debue梦幻件品一一学生管理系统-eze-学生成绩管理系统提示:文件已经打开,正在导入记录 -提示:记录导入完毕,共导入1条记录-nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn nnn MUM nnn nnn nnn MUM nnn nnn nnn MUM2删惊予竺烫平- 4修改学生资杓 统计$生成第 駅保存率生资獅 0退岀索统i

4、欢迎使用中南大学学生成绩管理系统iMnM MMM nnn nnM MnM MMM nnn nnM nnM MMMMMM岀品人:梦幻小组!辅导老师:夏建芳MMMnnn组誉:魏永涛:萝幻组合nnnMMM组员:王ft 王义 巫培宇!成就参幻品质MMM请你选择操作:.3.输入学生资料-F:DebuE梦幻件品一一学生管理系统,X亡-n|x回返宇J 匸-0咅1咲器一輩名别聾语号名别幫语号 操学姓性带数亠華姓性护数亠華 择入入入入入入2 你你心你你你你你您你你你你你您 请重嗚请请请请重嗚请请请请炷权逼涛0永69 7 :8 绩託6卫8 J O薯绩决匕一级菜单:0806080525匕一级菜单:080608052

5、4匕一级菜单:080608052搜狗拼音半:4.删除学生资料航-F:DEBUGDebuEa作品学主威绩管理系统.exe沦池沦绩 二.-h 二二= 丄 壬-启-壬-启 WW导n 生生生生统 ww-系 除改计存出 删修统保退M n MMMH MUM MMMMUMi欢迎使用中南大学学生成绩管理系统iHMM HMM MMM MUMnHnnnHnnnHnnnHnnnHnnnHnnnHnnnHMnnHMnnHMnnHMnnnMnnnHnnnHnn mill岀品人:梦幻小组 :辅导老师:夏建芳 MUM MMM组喪魏永涛 ! 萝幻组合 MMM null组岗:王栋 王义 巫培宇! 成就梦幻品质 MUMnHnnn

6、HnnnHnnnHnnnHnnnHnnnHnnnHMnnHMnnHMnnHMnnnMnnnHnnnHnn;辅导韶诸建芳成就梦幻品质M M n请你选择操作:21请你输入要删除的学号:0806080524提示:该学生已经成功删除?F:DEBOGDebueya作品=一学生咸填管理系魏(!n n n n n n H n n M n n n n n n n n n n n n n n n M n n n n n n n n n 冊 n H n n n n n n M n n H n n H n nM M n M M n M M n n M MM MM nMM nMM 血生生生注统 血ww系 霞改计存出

7、初删修统保退 M n 星生生生航 测入询需单 W XJISIg1衙你输入要査找的学号泗豳。呂:H查找结果学号姓名 燼IJ 英语 数学 C语言总分平均分 魏永涛 男 at 99868627190第30页共34页铁F:DEBOGDebueyiJ作品=一学生咸境管理系魏(!(!火某筆导亨D*e*MMMnriMMMMMMMMMMMMM01KW W It賢i欢迎使用中南大学学生蜩管理系统iE 玛g 尺 尸 niBij测kE 貝灵 丹貝灵.B1 Ji. H n rMMM nnn MMtl MMM MMMMMMMMMMMnMMMMnMnnMnnnMnnMnnMMnnMnnMMMnMnnMnMnnMnnMMn

8、nMnnnnnn 一二人梦S小组;辅导盂师;I建芳riMM组世:魏永涛! 梦幻组nnn组员:王栋 王义 巫培宇!成就梦幻品质MMMMMM出品人t梦勾小组riMMHMM nMMHnMnnMMnMMnMMnnMnnMMnMMnMMnMMnnnntiMMnMMnMMrinMnnMMriMMnM学-K耒来成或盏 冷改号名别声数英 虐学姓性的的的 操择入入入入入入入 你你你你你你你你 请请请请请请请请朋涛永2:魏是是_J XJ XJ常分98 9二 9?:y 4s 讣KK提示:资料修改成功*整狗拼音半:6.显示铁F:DEWGDebueyiJ作品一-学生威嬪港理系魏,(!MMMHUMMMMMMMMMMMMM

9、*H*W*tt9S#导抚0退出系筑i欢迎使用中南大学学生成绩管理系统iMMM nnn MMM MUM MMM MMMnMMMMMMMMMMMMnMMnMMMMMMMMMnMMnMMMMMMriMMnMMnMMnMMMMMMMMMnM i竊导老师;J建芳HMM梦幻组苔nm成就梦幻品质MMMMUM出品人梦勾呱组riMMMMM nMMnnnnnMnnMMnririnnMnnrinnriMnririnririnnrinnririnMrinMrinnMnnMnnMrinri心夕If: SS涛王义巫培宇;情你选择操作汚显示结果学号姓名性别 英语C语言总分平均分貂06080522 丽膈083523 0306

10、080523 906080524狗拼音半:7.统计FTg械 0805 班 y怎 y迄賦F:DEBUGDebug梦幻作品学生咸绩管理系统.e s$ 血生生生注统 血ww系 霞改计存出 初删修统保退 M 星生生生航 测入询歪单 W data .n um, p-data. name, p-d ata.sex,p-data.egrade,p-data.mgrade,p-data.cgrade,p-data.totle,p-data.ave);/ 输出 成绩Node* Locate(Li nk l,char fin dmess,char nameornum) /该函数用于定位链表中符合要求的接点,并返回

11、该指针Node *r;if(strcmp(nameornum,num)=0) / 按学号查询r=l-n ext;while(r!=NULL)if(strcmp(r-data.num,findmess)=0)/ 将输入学号与已有学号对比return r; /返回地址r=r-n ext;else if(strcmp(nameornum,name)=0) /按姓名查询将输入姓名与已有姓名对比r=l-n ext;while(r!=NULL)if(strc mp( r-data .n ame,fi ndmess)=0)return r; /返回地址r=r-n ext;return 0;void Add(

12、Link l) / 增加学生Node *p,*r,*s; / 定义 Node 型指针char nu m11;r=l;s=l-n ext;while(r- next!=NULL)r=r- next; /将指针置于最末尾while(1)printf(请您输入学号(以0返回上一级菜单:);scan f(%s ,n um);if(strcm p(n um,0)=0)break;while(s)if(strcmp(s-data.num,num)=0)/将新输入学号与已有学号对比printf( !!提示:学号为%s的学生已经存在,若要修改请你选择4修改!n,num);prin tstart();prin

13、tc();prin te(s);prin tstart();prin tf(n);return;s=s- next;/指向下一个地址p=(Node *)malloc(sizeof(Node);/在内存中分配长度与node相同的连续空间用于存储新数据strc py(p-data .num,nu m); printf(请你输入姓名:”); sca nf(%s, p-data .n ame); getcharO;printf(请你输入性别:); sca nf(%s, p-data.sex); getchar();printf(请你输入c语言成绩:);scan f(%d,&p-data.cgrade)

14、;getcharO;printf(请你输入数学成绩:”);scan f(%d,&p-data.mgrade);getchar();printf(请你输入英语成绩:);scan f(%d,&p-data.egrade);getchar();p-data.totle=p-data.egrade+p-data.cgrade+p-data.mgrade; / 求总分p-data.ave=p-data.totle / 3;/ 信息输入已经完成p-n ext=NULL;r-n ext=p;r=p;shoudsave=1;void Qur(Link l) / 查询学生int sel;char fin dme

15、ss20;Node *p;提示:没有资料可以查询!n);if(!l-next)/ 当 l-next=NULL 时成立 prin tf(n*return;按学号查找n*2按姓名查找n);prin tf(n*1 sca nf(%d, &sel); if(sel=1)/ 学号 printf(请你输入要查找的学号:);sca nf(%s,fi ndmess);p=Locate(l,fi ndmess, nu m);if(p)printf(tttt 查找结果 n);prin tstart();prin tc();prin te( p);prin tstart();elseNofi nd();else i

16、f(sel=2) / 姓名printf(请你输入要查找的姓名:”);sca nf(%s,fi ndmess);p=Locate(l,fi ndmess, name);if(p)printf(”tttt 查找结果 n);prin tstart();prin tc();prin te( p);prin tstart();elseNofi nd();elseWron g();void Del(Link l) / 删除函数int sel;Node *p ,*r;char fin dmess20;if(!l- next)printf(n*提示:没有资料可以删除!n);return;按姓名删除n);pri

17、ntf(n*1按学号删除 n*2sca nf(%d, &sel);if(sel=1)printf(请你输入要删除的学号:);sca nf(%s,fi ndmess);p=Locate(l,fi ndmess, nu m);if(p)r=l;while(r- n ext!=p)r=r- n ext;r-n ext =p-n ext;free( p);prin tf(n*提示:该学生已经成功删除!n);printf(tttt 请按任意键返回。n);getchar();shoudsave=1;elseNofi nd();else if(sel=2)printf(请你输入要删除的姓名:);sca nf

18、(%s,fi ndmess);p=Locate(l,fi ndmess, name);if(p)r=l;while(r- n ext!=p)r=r-n ext;r-n ext =p-n ext;free( p);prin tf(n*shoudsave=1;else提示:该学生已经成功删除!n);Nofi nd();elseWron g();void Modify(Li nk l) /Node *p;char fin dmess20;if(!l- next)prin tf(n*return;printf(”请你输入要修改的学生学号:”);sca nf(%s,fi ndmess);p=Locate

19、(l,fi ndmess, nu m);void prin tstart1();修改函数模块提示:没有资料可以修改!n);if(P)printf(”请你输入新学号(原来是s):,p-data.num);sea nf(%s, p-data .nu m);printf(”请你输入新姓名(原来是%s):,);sea nf(%s, p-data .n ame);getcharO;printf(”请你输入新性别(原来是%s):,p-data.sex);scan f(%s, p-data.sex);printf(请你输入新的 c语言成绩(原来是%d分):,p-data.cgrade)

20、;scan f(%d,&p-data.cgrade);getchar();printf(请你输入新的数学成绩(原来是%d分):,p-data.mgrade);sca nf(%d,&p-data.mgrade);getchar();printf(请你输入新的英语成绩(原来是%d分):,p-data.egrade);scan f(%d,&p-data.egrade);p-data.totle=p-data.egrade+p-data.cgrade+p-data.mgrade;提示:资料修改成功!n);p-data.ave=p-data.totle/3;prin tf(n*shoudsave=1;e

21、lseNofi nd();显示函数模块void Dis p(Link l)/int coun t=0;Node *p;p=1-n ext;if(!p)提示:没有资料可以显示!n);prin tf(n*return;printf(tttt 显示结果 n);prin tstart();prin tc();prin tf(n);while( p)prin te( p);p=p-n ext;prin tstart();prin tf(n);void To ngji(L ink l)Node *pm,*pe,*pc,*pt,*pa; II用于指向分数最高的接点Node *r=l-n ext;if(!r)

22、printf(n*提示:没有资料可以统计!n);return ;pm=pe=pc=pt=p a=r;while(r!=NULL)if(r-data.cgrade=p c-data.cgrade)pc=r;if(r-data.mgrade=pm-data.mgrade)pm=r;if(r-data.egrade=p e-data.egrade)pe=r;if(r-data.totle=p t-data.totle)p t=r;if(r-data.ave =p a-data.ave)pa=r;r=r-n ext;printf(”统计结果n);printf(* 总分最高者:t%s %d 分n,pt-

23、,pt-data.totle);printf(* 平均分最高者:t%s %d 分门,卩,pa-data.ave); printf(* 英语最高者:t%s %d 分n,,pe-data.egrade);printf(* 数学最高者:t%s %d 分n,,pm-data.mgrade); printf(*c 语言最高者:t%s %d 分门,卩,pc-data.cgrade); prin tstart();void Sort(L ink l)Li nk ll;Node *p, *rr,*s;

24、ll=(Li nk)malloc(sizeof(Node); / 用于做新的连表ll- next=NULL;if(l- next=NULL)printf(n* 提示:没有资料可以排序!n);return ;P=1-n ext;while( p)s=(Node*)malloc(sizeof(Node); / 新建接点用于保存信息 s-data=p-data;s- next=NULL;rr=ll;while(rr- n ext!=NULL & rr-n ext-data.totle=p-data.totle) rr=rr- n ext;if(rr- next=NULL)rr-n ext=s;els

25、es-n ext=rr- n ext;rr-n ext=s;p=p-n ext;free(l);l-n ext=ll-n ext;printf(n*提示:排序已经完成!n);void Save(Li nk l)FILE* fp;Node *p;int flag=1,co un t=0;fp=fo pen (c:stude nt,wb);if(fp=NULL)printf(n* 提示:重新打开文件时发生错误!n); exit(1);p=1-n ext;while( p)if(fwrite( p,sizeof(Node),1,fp)=1)p=p-n ext;coun t+;elseflag=0;b

26、reak;if(flag)printf(n*提示:文件保存成功.(有d条记录已经保存.)n,count);shoudsave=0;fclose(fp);void hel p()菜单导航ntt我们将竭诚为您服务n”);printf(”欢迎进入中南大学学生成绩管理系统性别,及各科成绩。rr);printf(”以下是各菜单功能简介:”);rr);printf(1.:此功能用于录入新生学号,printf(2.:用于注销离校学生资料。n);n);printf(3.:此功能下设两个选项,分别用于学号查询和姓名查询。printf(4. ;用来改动已录入的学生信息。n);printf(5.:用来显示所有学生信

27、息。n);printf(6. :选出总成绩第一,及单科第一的学生n);printf(7. :用来对学生成绩进行排序,但不显示。n);printf(8. :用于存储新录入的学生信息,在每次操作最后必须保存。printf(”如您人有疑问请联系我们”);printf(tttt 请按任意键返回。n);getchar();void mai n()Link l;/ 链表FILE *fp; II文件指针int sel;char ch;char jia n;int coun t=0;Node *p,*r;welcome();printf(nnttttttt请按任意键继续 n);getchar();printf(tt*);prin tf(tttt学生成绩管理系统n ”);prin

温馨提示

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

评论

0/150

提交评论