C语言实验语言报告
D
[键入
[键入
[键入
Sort in ascending order by score
Sort in ascending order by number
Sort in dictionary order by name
Search by number
Search by name
Statistic analysis
List record
Exit
Please enter your choice
根据用户输入的选项执行相应的操作。
二、实验目的:
在第9章实验“”的基础上,通过增加任务要求,熟悉二维数组作函数参数、字符串处理函数、字符串处理操作、模块化程序设计以及增量测试方法。
三、程序设计思想:
模块化程序设计思想,将题目中要求的功能用函数去实现,注意每个函数的接口如下:
[键入
为实现菜单驱动:int Menu(void)
录入录入每个学生的学号、姓名和考试成绩
int ReadScore(int score[],char name[][MAX_LEN],long num[].int n);
计算课程的总分和平均分void AverTotalcourse(int score[],float sum,int aver);
按成绩由高到低排出名次表,按成绩由低到高排出名次表;设计一个升序降序通用的函数【要使用函数指针,涉及字符串的复制strcpy】
int Descengding(int a,int b)
void SelectionSort()
int Ascending(int a,int b)
[键入
(5) 按学号由小到大排除成绩表void Sortbynum()
(6) 按姓名的字典顺序排出成绩表【涉及字符串比较strcmp】
void Sortbyname()
(7) 按学号查询学生排名及其考试成绩【用折半查找的方式】
void Searchbynum()
(8) 按姓名查询学生排名及其考试成绩【顺序查找的方式】
void Sortbyname()
(9)按优秀(90~100)、良好(80~89)、中等(70~79)、及格(60~69)、不及格(0~59)5个类别,统计每个类别的人数以及所占的百分比void StatisticAnalysis(int score[],int n)
(10)输出每个学生的学号、姓名、考试成绩,以及课程总分和平均分。 void PrintScore(long num[],char name[][MAX_LEN],int score[],int n
[键入
四、完整程序:
/*程序功能:用于学生成绩管理
编程者:陈丽娟,黄梦莹,刘薇
日期:2012-12-18
*/
# include<>
# include<>
# include<>
# include<>
# define MAX_LEN 10
# define N 30
int Menu(void); /*对要用到的函数进行定义*/
void ReadScore(int score[],char name[][MAX_LEN],long num[],int n);
[键入
void AverTotalcourse(int score[],int n);
void SelectionSort(int(*compare)(int a,int b),int score[],char name[][MAX_LEN],long num[],int n);
int Descending(int a,int b);
int Ascending(int a,int b);
void Sortbynum(int score[],char name[][MAX_LEN],long num[],int n);
void Sortbyname(int score[],char name[][MAX_LEN],long num[],int n);
void Searchbynum(int score[],char name[][MAX_LEN],long num[],int n);
void Searchbyname(int score[]
C语言实验语言报告 来自淘豆网www.taodocs.com转载请标明出处.