下载

1下载券

加入VIP
  • 专属下载特权
  • 现金文档折扣购买
  • VIP免费专区
  • 千万文档免费下载

上传资料

关闭

关闭

关闭

封号提示

内容

首页 C语言课程设计报告3

C语言课程设计报告3.doc

C语言课程设计报告3

wuhh
2011-06-10 0人阅读 举报 0 0 暂无简介

简介:本文档为《C语言课程设计报告3doc》,可适用于IT/计算机领域

C语言课程设计报告C语言课程设计报告班级:电科班学生姓名:邵刚学号:指导老师:郑平安日期:目录前言………………………………需求分析…………………………总体设计…………………………详细设计…………………………程序清单…………………………调试过程…………………………结束语……………………………参考文献…………………………前言“C语言课程设计”是在学习“C语言程序设计基础”课程之后进行的一个实践教学环节课程设计的目的是:进一步培养学生结构化程序设计的思想加深对C语言基本语法和程序结构的理解。针对C语言中的重点和难点内容进行训练独立完成有一定工作量的程序设计任务同时强调好的程序设计风格。掌握C语言的编程技巧和上机调试程序的方法。掌握程序设计的常用算法。为以后编写大型程序打下基础。需求分析、程序结构合理、界面比较美观(两级菜单)、最好使用单链表(成绩可以评为优)、输入时有提示输出美观整齐学生数据由学号、姓名、班级、三门课(数学、英语、计算机)的成绩和平均成绩构成。功能要求:()添加学生的记录()查询学生(分别按学号和姓名)()对学生数据排序(分别按平均成绩和计算机成绩的降序)()删除学生记录()修改学生记录()班级成绩分析(各科平均成绩、最高分、最低分、及格率)()输出学生信息表总体设计(包括功能划分、数据结构、总流程图)此系统划分为如下模块:输入模块、查询模块、修改模块、输出模块、排序模块、删除模块和成绩分析模块。通过定义的结构体来处理学生信息详细设计​ 输入学生信息:其中包括学号班级姓名及学生的数学英语计算机成绩可用函数input(STUDENT*stu,int*len)来实现。​ 查询模块:可用find(STUDENT*stu,intlen)函数实现找到就输出此学生的全部信息​ 修改模块:可用modify(structstudentstu)函数实现。​ 输出学生信息:利用output(STUDENT*stu,intlen)函数输出学生的全部纪录。​ 排序:可用sort(STUDENT*stu,intlen)函数分别按平均成绩和计算机成绩排序。​ 删除学生纪录:可用deleteitem(STUDENT*stu,int*len)函数删除纪录‘​ 班级成绩分析:利用stat(STUDENT*stu,intlen)函数得到各科各科平均成绩、最高分、最低分、及格率。程序清单#include<stdlibh>#include<stdioh>#include<stringh>#defineMAXN#defineMAXNAMEtypedefstructstudent学生信息{intno,clascharnameMAXNAMEdoubleenglishdoublemathdoubleProgrammingdoublemarkavedoublemarktotdoubleaverage}STUDENT*输入信息子程序*voidinput(STUDENT*stu,int*len){intnoputchar('n')printf("sn","请输入新的记录如果需要退出当前菜单请输入")printf("sn","格式:n学号n班级n")printf("sn","姓名英语数学C语言")putchar('n')printf("如:n")printf("n")printf("郭旺n")scanf("d",no)while(no!=){stu*lenno=noscanf("dslflflf",stu*lenclas,stu*lenname,stu*lenenglish,stu*lenmath,stu*lenProgramming)stu*lenmarkave=(stu*lenenglishstu*lenmathstu*lenProgramming)stu*lenmarktot=stu*lenenglishstu*lenmathstu*lenProgramming(*len)scanf("d",no)}}*修改信息子程序*voidmodify(structstudentstu){inticharzprintf("Inputnum:")scanf("ld",stuino)printf("Inputname:")scanf("s",stuiname)printf("Inputclas:")scanf("d",stuiclas)printf("InputscoreofMath:")scanf("d",stuimath)printf("InputscoreofEnglish:")scanf("d",stuienglish)printf("InputscoreofComputer:")scanf("d",stuiProgramming)stuiaverage=(stuimathstuienglishstuiProgramming)printf("tNUMtNAMEtCLAStMATHtENGLISHtCOMPUTERtAVERAGEn")printf("tldt",stuino)printf("st",stuiname)printf("dtdtdtdn",stuimath,stuienglish,stuiProgramming,stuiaverage)printf("Nextyn")scanf("s",z)if(z=='y')modify(stu)}*输出信息子程序*voidoutput(STUDENT*stu,intlen){intisystem("cls")printf("s","学号")printf("s","班级")printf("s","姓名")printf("s","英语")printf("s","数学")printf("s","C语言")printf("s","平均分")printf("s","总分")putchar('n')for(i=i<i)putchar('=')putchar('n')for(i=i<leni){printf("d",stuino)printf("d",stuiclas)printf("s",stuiname)printf("lf",stuienglish)printf("lf",stuimath)printf("lf",stuiProgramming)printf("lf",stuimarkave)printf("lf",stuimarktot)putchar('n')}for(i=i<i)putchar('=')putchar('n')printf("按回车键继续")getchar()getchar()}*排序子程序*voidsort(STUDENT*stu,intlen){inti,j,kSTUDENTtempfor(i=i<leni){for(k=i,j=ij<lenj)if(stukmarkave>stujmarkave)k=jif(k!=i){temp=stuistui=stukstuk=temp}}}*查询子程序*voidfind(STUDENT*stu,intlen){intfindno,resultintilab:result=printf("sn","请输入需要查找的学生的学号退出当前菜单请输入")scanf("d",findno)if(findno==)return*exitthefinesubprogram*while(sturesultno!=findnoresult<len)resultif(result>=len){printf("sn","未查询到相关信息")gotolab}else{system("cls")printf("sn","查询信息如下:")for(i=i<i)putchar('=')putchar('n')printf("s","学号")printf("s","姓名")printf("s","班级")printf("s","英语")printf("s","数学")printf("s","C语言")printf("s","平均分")printf("s","总分")putchar('n')printf("d",sturesultno)printf("s",sturesultname)printf("d",sturesultclas)printf("lf",sturesultenglish)printf("lf",sturesultmath)printf("lf",sturesultProgramming)printf("lf",sturesultmarkave)printf("lf",sturesultmarktot)putchar('n')for(i=i<i)putchar('=')putchar('n')gotolab}}*删除子程序*voiddeleteitem(STUDENT*stu,int*len){intno,i,poslab:pos=printf("sn","输入需要删除的学生的学号退出当前菜单请输入")scanf("d",no)if(no==)returnwhile((stuposno!=no)(pos<*len))pos=posif(pos>=*len){printf("sn","未找到需要删除的学生")gotolab}else{for(i=posi<*leni)stui=stui*len=*lenif(*len==){printf("sn","没有任何记录请按回车键返回")getchar()getchar()return}gotolab}}*成绩分析子程序*voidstat(STUDENT*stu,intlen){intno=,no=,no=,no=,no=intifloatpercentfor(i=i<leni){if(stuimarkave<=)noelseif(stuimarkave<=)noelseif(stuimarkave<=)noelseif(stuimarkave<=)noelseno}system("cls")for(i=i<i)putchar('=')putchar('n')printf("s","分数")printf("s","")printf("s","")printf("s","")printf("s","")printf("s","")putchar('n')putchar('n')printf("s","学生")printf("d",no)printf("d",no)printf("d",no)printf("d",no)printf("d",no)putchar('n')percent=no(nonononono)printf("f",percent)for(i=i<i)putchar('=')putchar('n')printf("按回车键返回")getchar()getchar()}*输出学生信息信息子程序*voidpaint(){intisystem("cls")printf("sn","华中科技大学文华学院学院学生管理系统n")for(i=i<i)putchar('=')putchar('n')printf("输入信息输出信息n")printf("排序查找n")printf("修改信息删除n")printf("成绩分析退出n")for(i=i<=i)putchar('=')putchar('n')printf("sn","请输入各操作对应的序号:")}*主程序*voidmain(){STUDENTstuMAXNintlen=charctrlchpaint()scanf("c",ctrlch)while(ctrlch!=''){switch(ctrlch){case'':input(stu,len)breakcase'':output(stu,len)breakcase'':sort(stu,len)breakcase'':find(stu,len)breakcase'':modify(stu)breakcase'':deleteitem(stu,len)breakcase'':stat(stu,len)breakdefault:if(ctrlch!='n')printf("sn","输入错误!")break}if(ctrlch!='n')paint()scanf("c",ctrlch)}}、调试过程Compiling学生成绩管理系统cppC:DocumentsandSettingsAdministrator桌面学生成绩管理系统cpp():errorC:'i':undeclaredidentifierC:DocumentsandSettingsAdministrator桌面学生成绩管理系统cpp():warningC:'=':conversionfrom'int'to'float',possiblelossofdataErrorexecutingclexe学生成绩管理系统exeerror(s),warning(s)解决办法:在修改程序函数中定义inti将行中int改为float结束语(包括程序有待改进的地方、收获与体会)通过此次学生成绩管理系统的设计使我对C语言程序设计有了深一步的了解对系统设计及开发有了比较全面的思路。首先对系统进行需求分析确定各个功能函数然后一个个对它们进行的编程并仔细检查是否有错在完成这一步后才开始构造主函数通过主函数把各个功能函数联系起来编译修改错误和不足之处。此次课程设计锻炼了我们分析问题和解决问题的能力提高了适应实际实践编程的能力为今后的学习和实践大下了良好的基础。参考文献《C程序设计》(第三版)潭浩强《C语言课程设计》(中国铁道出版社)

用户评价(0)

关闭

新课改视野下建构高中语文教学实验成果报告(32KB)

抱歉,积分不足下载失败,请稍后再试!

提示

试读已结束,如需要继续阅读或者下载,敬请购买!

文档小程序码

使用微信“扫一扫”扫码寻找文档

1

打开微信

2

扫描小程序码

3

发布寻找信息

4

等待寻找结果

我知道了
评分:

/11

C语言课程设计报告3

VIP

在线
客服

免费
邮箱

爱问共享资料服务号

扫描关注领取更多福利