欢迎来到天天文库
浏览记录
ID:58426447
大小:114.73 KB
页数:27页
时间:2020-05-12
《c语言程序设计报告.docx》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、《C语言课程设计》报告题目:成绩管理系统专业年级:自动化一班学号:姓名:指导教师:叶念渝2015年12月17日一.设计内容(1)输入功能:由键盘输入20个学生(姓名)的某门课程的学习成绩10~99分(也可超过)。(2)运算功能:将分数由低到高排序(用直接排序法和冒泡法),并显示学生姓名和对应的分数。(3)检索功能:用线性搜索法检索某个学生的成绩(输入姓名,显示成绩)。(4)查询功能:对分搜索法检索某个学生的成绩(输入姓名,显示成绩)。二.设计要求(1)可以输入若干名学生信息(包括姓名/成绩等);(2)在源代码中将若干名同学的信息输出;(3)在源代码中
2、能够将若干名同学的成绩排序(升序/降序均可);(4)可以根据不同的查询条件(线性/对分搜索)来查询到相关学生的信息;三.设计思路首先进入软件界面,以菜单为提示的成绩管理系统.分别建立输入学生信息函数输入学生信息,建立排序函数实现排序功能,建立查找函数实现查找功能.通过建立数组在函数运行中进行同步调换实现各信息间分联系,达到信息相对应的目的,在主函数中分别调用各功能函数完成程序目的.四.程序设计流程图子程序入口1.学生信息输入函数i=0;i1&&Score[i]<100重新输入请重新输入yes
3、输入完毕退出子程序2.直接排序法流程图子程序入口i=0;i4、);scanf("%d",&score[i]);do{while(score[i]<15、6、score[i]>100){printf("输入有误!");printf("请重新输入成绩:");scanf("%d",&score[i]);}}while(score[i]<17、8、score[i]>100);getchar();}}//2.成绩排序输出(直接排序法)voidsort1(charname[N][8],intscore[]){inti,j,max,temp1;chartemp2[100];for(i=0;i9、(j=i+1;j10、.成绩排序输出(冒泡法)voidsort2(charname[N][8],intscore[]){inti,j,t;charh[100];for(j=0;jscore[i+1]){t=score[i];score[i]=score[i+1];score[i+1]=t;strcpy(h,name[i]);strcpy(name[i],name[i+1]);strcpy(name[i+1],h);}printf("Thesortedresult:");for(i=0;i11、++)printf("姓名:%10s成绩:%3d",name[i],score[i]);}//4.线性搜索法检索学生的成绩voidsearch1(charname[N][8],intscore[])//定义线性搜索法函数{getchar();inta,i;charb;charstr[8];while(1){printf("请输入学生的姓名:");gets(str);for(i=0;i12、intf("姓名:%10s成绩:%3d",name[i],score[i]);getchar();pri
4、);scanf("%d",&score[i]);do{while(score[i]<1
5、
6、score[i]>100){printf("输入有误!");printf("请重新输入成绩:");scanf("%d",&score[i]);}}while(score[i]<1
7、
8、score[i]>100);getchar();}}//2.成绩排序输出(直接排序法)voidsort1(charname[N][8],intscore[]){inti,j,max,temp1;chartemp2[100];for(i=0;i9、(j=i+1;j10、.成绩排序输出(冒泡法)voidsort2(charname[N][8],intscore[]){inti,j,t;charh[100];for(j=0;jscore[i+1]){t=score[i];score[i]=score[i+1];score[i+1]=t;strcpy(h,name[i]);strcpy(name[i],name[i+1]);strcpy(name[i+1],h);}printf("Thesortedresult:");for(i=0;i11、++)printf("姓名:%10s成绩:%3d",name[i],score[i]);}//4.线性搜索法检索学生的成绩voidsearch1(charname[N][8],intscore[])//定义线性搜索法函数{getchar();inta,i;charb;charstr[8];while(1){printf("请输入学生的姓名:");gets(str);for(i=0;i12、intf("姓名:%10s成绩:%3d",name[i],score[i]);getchar();pri
9、(j=i+1;j10、.成绩排序输出(冒泡法)voidsort2(charname[N][8],intscore[]){inti,j,t;charh[100];for(j=0;jscore[i+1]){t=score[i];score[i]=score[i+1];score[i+1]=t;strcpy(h,name[i]);strcpy(name[i],name[i+1]);strcpy(name[i+1],h);}printf("Thesortedresult:");for(i=0;i11、++)printf("姓名:%10s成绩:%3d",name[i],score[i]);}//4.线性搜索法检索学生的成绩voidsearch1(charname[N][8],intscore[])//定义线性搜索法函数{getchar();inta,i;charb;charstr[8];while(1){printf("请输入学生的姓名:");gets(str);for(i=0;i12、intf("姓名:%10s成绩:%3d",name[i],score[i]);getchar();pri
10、.成绩排序输出(冒泡法)voidsort2(charname[N][8],intscore[]){inti,j,t;charh[100];for(j=0;jscore[i+1]){t=score[i];score[i]=score[i+1];score[i+1]=t;strcpy(h,name[i]);strcpy(name[i],name[i+1]);strcpy(name[i+1],h);}printf("Thesortedresult:");for(i=0;i11、++)printf("姓名:%10s成绩:%3d",name[i],score[i]);}//4.线性搜索法检索学生的成绩voidsearch1(charname[N][8],intscore[])//定义线性搜索法函数{getchar();inta,i;charb;charstr[8];while(1){printf("请输入学生的姓名:");gets(str);for(i=0;i12、intf("姓名:%10s成绩:%3d",name[i],score[i]);getchar();pri
11、++)printf("姓名:%10s成绩:%3d",name[i],score[i]);}//4.线性搜索法检索学生的成绩voidsearch1(charname[N][8],intscore[])//定义线性搜索法函数{getchar();inta,i;charb;charstr[8];while(1){printf("请输入学生的姓名:");gets(str);for(i=0;i12、intf("姓名:%10s成绩:%3d",name[i],score[i]);getchar();pri
12、intf("姓名:%10s成绩:%3d",name[i],score[i]);getchar();pri
此文档下载收益归作者所有