c++ 编程!学生考试成绩分析系统知识重点:学生的信息(学号,姓名,数学,外语,计算机课程的成绩) 能够输入若干学生的信息及其成绩统计成绩 #include #define MAXNUM 35 /* 最大记录数*/ #define MAXCLASS 3 /* 课程.. 学生的信息(学号,姓名,数学,外语,计算机课程的成绩) 能够输入若干学生的信息及其成绩统计成绩& 排序: 统计平均分统计每门科目的最高分按成绩排序(按平均分排序,按单科成绩排序) 并输出学生总数及其排序结果统计成绩分布:各成绩段学生的数量“优”:90~100 “良”: 80 ~ 90 “中”: 70 ~ 80 “及格”: 60 ~ 70 “不及格” 60 并输出统计分布结果能够查找指定学生的各门成绩和平均分及其名次: dos 用 c++ 编#include <> #include <> #define MAXNUM 35 /* 最大记录数*/ #define MAXCLASS 3 /* 课程数目*/ struct Student { char id[16]; char name[64]; int score[MAXCLASS]; float avg; int sum; }; void EnterData(void); void PrepareData(void); void DisplayData(void); void SortData(void); void BubbleSort(int which); void SearchData(void); int SearchByID(char *p); void InsertData(void); void InsertRecord(struct Student value); void DeleteData(void); void DelRecord(char *p); void StatisticsData(void); struct Student stu[MAXNUM]; /* 结构体数组*/ int nCurrent = 0; /* 当前的记录数目*/ void main() { int chose; menu: printf (" 主菜单\n"); printf ("=================\n"); printf ("1, 数据输入\n"); printf ("2, 数据输出\n"); printf ("3, 数据排序( 按平均分)\n"); printf ("4, 数据查找( 按学号)\n"); printf ("5, 数据插入\n"); printf ("6, 数据删除\n"); printf ("7, 数据统计( 按平均分)\n"); printf ("0, 退出\n"); printf ("=================\n"); printf (" 请选择(0--7)\n"); scanf ("%d", &chose ); do { switch ( chose ){ case 0: return; case 1: EnterData(); break; case 2: DisplayData(); break; case 3: SortData(); break; case 4: SearchData(); break; case 5: InsertData(); break; case 6: DeleteData(); break; case 7: StatisticsData(); break; } goto menu; }while (1); } void StatisticsData(void) { BubbleSort(6);/* 按总分排序*/ int avg; int each[5]; int i; for ( i=0; i<5; i++ ) each[i] = 0; for ( i=0; i<nCurrent; i++ ) { avg = int(stu[i].avg); switch ( avg / 10 ){ case 10: case 9: /* 90-100 */ each[4] ++; break; case 8: /* 80-89 */ each[3] ++; break; case 7: /* 70-79 */ each[2] ++; break; case 6: /* 60-69 */ each[1] ++; break; default: /* 0-59 */ each[0] ++; }} printf (" 按平均分统计各分数段学生人数\n "); printf ("====
成绩分析系统c++ 来自淘豆网m.daumloan.com转载请标明出处.