C语言实训报告-学生成绩管理系统文档.doc
《C语言实训报告-学生成绩管理系统文档.doc》由会员分享,可在线阅读,更多相关《C语言实训报告-学生成绩管理系统文档.doc(56页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、 课程实训说明书课程:C 语言实训系部:专业班级:学姓号:名:指导教师:年月日 C 语言实训报告目录学生成绩排名1 项目一名称:1.1 项目设计要求1.2 项目设计思路. 1. 11.3 程序流程1.4 . 2程序代码1.5 运行 . 3结果. 4按条件实现学生成绩排名2 项目二名称:2.1 项目设计要求 . 32.2 项目设计思路. 32.3 程序流程2.3 . 4程序代码2.5 运行 . 7结果. 10数组优化学生成绩排名3 项目三名称:3.1 项目设计要求 . 113.2 项目设计思路. 113.3 程序流程3.3 . 12程序代码3.5 运行 . 13结果. 14学生成绩单制作4 项目
2、四名称:4.1 项目设计要求 . 154.2 项目设计思路. 154.3 程序流程4.3 . 16程序代码4.5 运行 . 17结果. 21学生成绩排序文件管理5 项目五名称:5.1 项目设计要求. 22- 1 - C 语言实训报告. 225.2 项目设计思路. 235.3 程序流程5.3 程序代码5.5 运行结果6 项目六名称:. 24. 27设计和编写学生成绩管理系统的系统主菜单. 286.1 项目设计要求6.2 项目设计思路. 286.3 程序流程 . 296.3 程序代码 . 30. 326.5 运行结果学生成绩管理项目实现7 项目七名称:. 337.1 项目设计要求7.2 项目设计思
3、路 . 337.3 程序流程7.3 程序代码7.5 运行结果8 课程设计总结. 34. 35. 45 . 499 参考文献 . 50 1 项目一名称:学生成绩排名- 2 - C语言实训报告1.1项目设计要求(1)熟悉变量、数组定义、使用、输入、输出等基本操作;(2)进行选择、循环结构程序设计练习;(3)掌握冒泡法排序的算法。1.2项目设计思路(1)定义一个数组 a11,用以存放学生的成绩;(2)从键盘输入 10个学生及成绩;(3)采用冒泡法,将学生成绩按照从高到低进行排序;(4)再输入一个学生的成绩,将此成绩按照排序规律插入原学生成绩数组;(5)将排好序的成绩单进行反序存放,即原来是从高到低,
4、现在改为从低到高排列。1.3程序流程输入 10个学生成绩i=0 to 9 Scanf(“%d”,a&i) 用冒泡法排序j=0to 9 i=0to 9-j int t=0;t=ai; ai=ai+1; ai+1=t; 1.4程序代码#include #define N 11 void main() - 3 - C语言实训报告int a11,i,j,t,x; /*输入数组*/ for(i=0;i10;i+) for(i=0;i10;i+) for(j=0;j9;j+) /*用起泡法进行排序*/ for(i=0;i9-j;i+) if(aiai+1) t=ai; ai=ai+1; ai+1=t; /
5、*输出新排好顺序的数列*/ for(i=0;i10;i+) /*插入一个数*/ if(xa9) /*对新形成的数组进行排序*/ a10=x; else for(i=0;i10;i+) if(ai=i;j-) aj+1=aj; ai=x; break; - 4 - C语言实训报告for(i=0;i=10;i+) for(i=0;iN/2;i+) /*反顺序排放数组*/ t=ai; ai=aN-i-1; aN-i-1=t; for(i=0;i=10;i+) /*输出反序数组*/ 1.5运行结果:- 5 - C语言实训报告2项目二名称:按条件实现学生成绩排名项目一:学生成绩排名2.1项目设计要求(1
6、)复习数组,选择、循环结构程序设计;(2)掌握函数的定义、调用、声明,以及参数的两种传递方式。2.2项目设计思路(1)在函数中进行(2)改进第一步的函数为(3)改进第二步的函数为sort(int a,int n, char style), 将n个学生成绩从高到低排名10个学生成绩从高到低排名sort(int a10);sort(int a,int n),进行n个学生成绩从高到低排名;,排名方式;(4)根据sort()函数的style参数进行,如style为a按升序排,style为d按降序排。(a:ascending 升,d:descending 降)(5)尝试用三种方法排序:冒泡法、选择法,插
7、入法排序。- 6 - C语言实训报告2.3程序流程开始输入学生个数n输入n个学生的成绩输出n个学生的成绩选择排序模式 A/D判断模式 A/D模式为 A时模式为 D时选择法降序排列 n选择法升序排列 n个学生的成绩个学生的成绩输出排序后的 n个输出排序后的 n个学生成绩学生成绩结束- 7 - C语言实训报告2.3程序代码#include void main() int n,a1000; char style; int input(int a); char mode(); void sort(int a,int n,char style); n=input(a); /声明输出函数/声明模式函数/声
8、明排序函数/调用输入函数/调用模式函数/调用排序函数style=mode(); sort(a,n,style); getch(); int input(int a) /定义输入函数int i,n; 请输入学生的个数(小于 999):/确定学生个数n 请输入%d个学生的成绩:for(i=0;in;i+) /输入n 个学生成绩输入的%d 个学生成绩为for(i=0;in;i+) /输出输入的n 个学生成绩if(i+1)%10=0) - 8 - C语言实训报告return n; /返回学生个数char mode() /定义模式函数char style; modeselect: 模式选择(A/D)A)
9、升序排列D)降序排列getchar(); /选择模式if(style=a | style =A) return style; /如果为A/a就返回模式选择/如果为D/d就返回模式选择else if(style=d | style =D) return style; else goto modeselect; /如果不是选项,就重新选择void sort(int a,int n,char style) /定义排序函数 if(style=a | style=A) /如果为升序排序 /使用选择法排序int i,j,t,min; for(i=0;i=n-2;i+) min=i; for(j=i+1;j
10、aj) min=j; - 9 - C语言实训报告t=ai; ai=amin; amin=t; 选择法升序排序结果/输出排序后的结果for(i=0;in;i+) if(i+1)%10=0) else / 如果为降序排序/使用选择法排序int i,j,t,max; for(i=0;i=n-2;i+) max=i; for(j=i+1;j=n-1;j+) if(amaxaj) max=j; t=ai; ai=amax; amax=t; 降序排序结果/输出排序后的结果for(i=0;in;i+) - 10 - C语言实训报告if(i+1)%10=0) 2.5运行结果- 11 - C语言实训报告3项目三
11、:数组优化学生成绩排名项目一:学生成绩排名3.1项目设计要求(1)熟悉变量的指针和指向变量的的指针变量的概念和使用;(2)熟悉数组的指针和指向数组的的指针变量的概念和使用。3.2项目设计思路(1)定义一个数组stu10存放10个学生的成绩,从键盘输入数据,要求用指针实现;(2)将数组stu10的内容输出到屏幕上,要求用指针实现;(3)将成绩数组按照从高到低进行排序,要求用指针实现;(4)将第三步内容放在函数中实现,在主函数中调用实现排序,用指针实现,输出排序后的成绩单;(5)采用指针方法,输入字符串“student score ”,复制该字符串并输出(复制字符串采用库函数或用户自定义函数)。3
12、.3 程序流程开始调用输入函数输入10个学生的成绩调用输出函数输出10个学生的成绩调用排序函数用冒泡法降序排列10个学生成绩输出排序后10个成绩结束- 12 - C语言实训报告3.4 程序代码#include main() int *p,i,a10,j,k,t; 请输入数据:p=a; /将数组的首地址赋给 P /依次输入数据for(i=0;i10;i+) 输出数组:p=a; /将数组的首地址赋给 P /用指针的方式输出数据for(i=0;i10;i+) p+; p=a; /将数组的首地址赋给 P /用选择法排序for(i=0;i9;i+) k=i; for(j=i+1;j*(p+k) k=j;
13、 if(k!=i) t=*(p+i); *(p+i)=*(p+k); *(p+k)=t; 输出排序后的数组:for(p=a,i=0;i10;i+) - 13 - C语言实训报告p+; 3.5运行结果- 14 - C语言实训报告4项目四:学生成绩单制作项目一:学生成绩排名4.1项目设计要求(1)掌握结构体变量及数组的定义、赋值、初始化、输入、输出;(2)结构体数组的操作。4.2项目设计思路(1)定义一个结构体数组,存放 10个学生的学号,姓名,math、Chinese、English三门课的成绩;(2)从键盘输入 10个学生的(3)输出单最高的学生的学号、姓名、以及该门课程的成绩;(4)输出三门
14、课程的(5)将 10个学生以上内容;门课成绩平均分数最高的学生的学号、姓名及其平均分;按照平均分数从高到低进行排序,输出结果,格式如下所示:number 103 name math Chinese English average 95 tom 90 90 100 101 alice 90 80 70 80 - 15 - C语言实训报告4.3程序流程开始调用输入函数输入10个学生的成绩调用输出函数输出 10个学生的成绩调用排序函数用冒泡法降序排列10个学生成绩输出排序后10个成绩结束- 16 - C语言实训报告4.4程序代码#include struct student char number1
15、0; char name20; int match; int chinese; int english; float average,; student10,h; void main() int i,j,max,t; float max1; 请输入学生的姓名、学号和成绩:for(i=0;i10;i+) 姓名学号数学语文英语该学生的平均成绩是:studenti.average=(studenti.match+studenti.chinese+studenti.english)/3.0; 输出数学成绩最高的学生资料:max=student0.match; for(i=0;i10;i+) - 17
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 报告 学生 成绩管理系统 文档
限制150内