C语言实验语言报告————————————————————————————————作者:————————————————————————————————日期: C语言实验语言报告第十章班级:班组员(学号):指导教师:报告设计时间:2012-1-01一、实验题目:(具体人数由键盘输入)参加某门课程的考试,,用二维数组做函数参数,编程实现如下菜单驱动的学生成绩管理系统:录入每个学生的学号、姓名和考试成绩;计算课程的总分和平均分;按成绩由高到低排出名次表;按成绩由低到高排出名次表;按学号由小到大排除成绩表;按姓名的字典顺序排出成绩表;按学号查询学生排名及其考试成绩;按姓名查询学生排名及其考试成绩;按优秀(90~100)、良好(80~89)、中等(70~79)、及格(60~69)、不及格(0~59)5个类别,统计每个类别的人数以及所占的百分比;输出每个学生的学号、姓名、考试成绩,以及课程总分和平均分。要求程序运行后先显示如下菜单,并提示用户输入选项:AppendrecordCaculatetotalandaveragescoreofcourseSortindescendingorderbyscoreSortinascendingorderbyscoreSortinascendingorderbynumberSortindictionaryorderbynameSearchbynumberSearchbynameStatisticanalysisListrecordExitPleaseenteryourchoice根据用户输入的选项执行相应的操作。二、实验目的:在第9章实验“”的基础上,通过增加任务要求,熟悉二维数组作函数参数、字符串处理函数、字符串处理操作、模块化程序设计以及增量测试方法。三、程序设计思想:模块化程序设计思想,将题目中要求的功能用函数去实现,注意每个函数的接口如下:为实现菜单驱动:intMenu(void)录入录入每个学生的学号、姓名和考试成绩intReadScore(intscore[],charname[][MAX_LEN],longnum[].intn);计算课程的总分和平均分voidAverTotalcourse(intscore[],floatsum,intaver);按成绩由高到低排出名次表,按成绩由低到高排出名次表;设计一个升序降序通用的函数【要使用函数指针,涉及字符串的复制strcpy】intDescengding(inta,intb)voidSelectionSort()intAscending(inta,intb)(5)按学号由小到大排除成绩表voidSortbynum()(6)按姓名的字典顺序排出成绩表【涉及字符串比较strcmp】voidSortbyname()(7)按学号查询学生排名及其考试成绩【用折半查找的方式】voidSearchbynum()(8)按姓名查询学生排名及其考试成绩【顺序查找的方式】voidSortbyname()(9)按优秀(90~100)、良好(80~89)、中等(70~79)、及格(60~69)、不及格(0~59)5个类别,统计每个类别的人数以及所占的百分比voidStatisticAnalysis(intscore[],intn)(10)输出每个学生的学号、姓名、考试成绩,以及课程总分和平均分。voidPrintScore(longnum[],charname[][MAX_LEN],intscore[],intn四、完整程序:/*程序功能:用于学生成绩管理编程者:陈丽娟,黄梦莹,刘薇日期:2012-12-18*/#include<>#include<>#include<>#include<>#defineMAX_LEN10#defineN30intMenu(void);/*对要用到的函数进行定义*/voidReadScore(intscore[],charname[][MAX_LEN],longnum[],intn);voidAverTotalcourse(intscore[],intn);voidSelectionSort(int(*compare)(inta,intb),intscore[],charname[][MAX_LEN],longnum[],intn);intDescending(inta,intb);intAscending(inta,intb);voidSortbynum(intscore[],charname[][MAX_LEN],longnum[],intn);voidSortbyname(intscore
C语言实验语言报告 来自淘豆网www.taodocs.com转载请标明出处.