C语言知识程序设计报告

(20页)

'C语言知识程序设计报告'
-+《C语言课程设计》报告 题目: 成绩管理系统 专业年级:自动化一班 学号: 姓名: 指导教师: 叶念渝2015年12月17日一.设计内容(1)输入功能:由键盘输入20个学生(姓名)的某门课程 的学习成绩10~99分(也可超过)。(2)运算功能:将分数由低到高排序(用直接排序法和冒泡法),并显示学生姓名和对应的分数。(3)检索功能:用线性搜索法检索某个学生的成绩(输入姓名,显示成绩)。(4)查询功能:对分搜索法检索某个学生的成绩(输入姓名,显示成绩)。二.设计要求(1)可以输入若干名学生信息(包括姓名/成绩等);(2)在源代码中将若干名同学的信息输出;(3)在源代码中能够将若干名同学的成绩排序(升序/降序均可);(4)可以根据不同的查询条件(线性/对分搜索)来查询到相关学生的信息;三.设计思路首先进入软件界面,以菜单为提示的成绩管理系统.分别建立输入学生信息函数输入学生信息,建立排序函数实现排序功能,建立查找函数实现查找功能.通过建立数组在函数运行中进行同步调换实现各信息间分联系,达到信息相对应的目的,在主函数中分别调用各功能函数完成程序目的.四.程序设计流程图子程序入口1.学生信息输入函数i=0;i<N;i+++输入学生姓名输入学生成绩noScore[i]>1&&Score[i]<100重新输入请重新输入yes输入完毕退出子程序2.直接排序法流程图子程序入口 i=0;i<N-1;i+++max=iscore[max]<score[j]YNmax=j同步交换姓名和成绩输出姓名和成绩输入完毕退出子程序3.冒泡排序法流程图子程序入口 ii=0;i<N-j;i++ //1.输入函数 //学生信息输入函数void input1(char name[N][8],int score[]) { int i; for(i=0;i<N;i++) { printf ("\n 请输入第%d个学生姓名:",i+1); scanf("%s",&name[i]); printf ("\n 请输入第%d个学生成绩:",i+1); scanf("%d",&score[i]); do { while(score[i]<1||score[i]>100) { printf("输入有误!\n"); printf("请重新输入成绩:"); scanf("%d",&score[i]); } }while(score[i]<1||score[i]>100); getchar(); }}//2.成绩排序输出(直接排序法)void sort1(char name[N][8],int score[]){ int i,j,max,temp1; char temp2[100]; for(i=0;i<N-1;i++) { max=i; for (j=i+1;j<N;j++) if(score[max]<score[j]) max=j; temp1=score[i]; score[i]=score[max]; score[max]=temp1; strcpy(temp2,name[i]); //字符串复制函数strcpy() strcpy(name[i],name[max]); strcpy(name[max],temp2); } printf("The sorted result:\n"); for(i=0;i<N;i++) printf("姓名:%10s 成绩:%3d\n",name[i],score[i]);}//3.成绩排序输出(冒泡法)void sort2(char name[N][8],int score[]){ int i,j,t; char h[100]; for(j=0;j<N;j++) for(i=0;i<N-j;i++) if(score[i]>score[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("The sorted result:\n");for(i=0;i<N;i++)printf("姓名:%10s 成绩:%3d\n",name[i],score[i]);}//4.线性搜索法检索学生的成绩void search1(char name[N][8],int score[]) //定义线性搜索法函数{ getchar(); int a,i; char b; char str[8]; while(1) { printf("请输入学生的姓名:"); gets(str); for(i=0;i<N;i++) { a=strcmp(str,name[i]); if(a==0) break; } if(a!=0) printf("查无此人!"); else if(a==0) printf("姓名:%10s 成绩:%3d\n",name[i],score[i]); getchar(); printf("继续查询吗[Y/N]:"); b=getchar(); getchar(); if((b=='y')||(b=='Y')) continue
关 键 词:
语言 知识 程序设计 报告
 天天文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
关于本文
本文标题:C语言知识程序设计报告
链接地址: https://www.wenku365.com/p-43428472.html
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服点击这里,给天天文库发消息,QQ:1290478887 - 联系我们

本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有【成交的100%(原创)】。本站是网络服务平台方,若您的权利被侵害,侵权客服QQ:1290478887 欢迎举报。

1290478887@qq.com 2017-2027 https://www.wenku365.com 网站版权所有

粤ICP备19057495号 

收起
展开