基于数组的学生信息管理系统实验报告

2019-08-31 21:34

《C语言程序设计实训1》报告 设 计学 院专 班 姓 提 交

题 目: 基于数组的学生信息管理系统 称: 信息科学技术学院 业: 软件工程 级: x班 名: xxx 学 号 xxx

日 期: 2014年6月

一、实验内容

编写并调试程序,实现学校各专业班级学生信息的管理。定义学生信息的结构体类型,包括:学号、姓名、专业、班级、3门成绩。N定义为符号常量(学生数)。全局类型的定义如下:

#define N 10 struct Student{ char num[15];//学号 char name[15];//姓名 char major[10];//专业(computer,software,network) int classNo;//班级(1-2) int score[3];//3门课的成绩(0-2) }; typedef struct Student STU;

二、实验要求

(1) main函数:以菜单形式将各项功能提供给用户,根据用户的选择,调用相应的函数。

STU student[N]; //保存输入的N名学生信息 (2) 定义函数Input:从键盘输入N个学生的信息。 (3) 定义函数Save:将学生信息存入文件。

(4) 定义函数Output:将某个学生信息表格化屏幕输出。

(5) 定义函数Fetch:从文件中随机读取第n个(0<=n<=N-1)学生的信息。 (6) 定义函数Max:求所有学生某门课程的最高分和分数最高的学生的姓名。 (7) 定义函数Sort_select:对所有学生,按平均成绩由低到高进行简单选择排序。 (8) 定义函数Sort_buble:对某个班级的学生,按平均成绩由高到低进行起泡排序。并调

用Output输出。 定义局部变量:

STU stu_class_ave[N]; //按平均成绩排序后的某个班级的学生信息; int count; //实际元素个数

(9) 定义函数Sort_insert:对某个专业的学生,按某门课程成绩由低到高进行直接插入排

序。并调用Output输出。 定义局部变量:

STU stu_class_ subject [N]; //按某门课程成绩排序后的某个专业的学生信息; int count; //实际元素个数

(10) 定义函数Search:实现班级和成绩的综合查找(如1班,总分240分以上同学)。

三、算法流程图

函数Sort_select的算法流程图

四、程序清单(关键语句和变量加注释)

#include//预编译的文件包含指令 #include//exit()的函数声明 #include//字符串的头文件

//------------------------------------------类型定义-------------------------------------------------------------- struct Student

{ char num[15];//学号 char name[15];//姓名

char major[10];//专业(computer,software,network) int classNo;//班级(1-2) int score[3];//3门课的成绩(0-2) };

typedef struct Student STU;

//---------------------------------------------函数声明----------------------------------------------------------- void input(STU *p);//从键盘输入N个学生的信息

void save(STU *p,int n);//将学生信息存入文件

void output(STU *p);//将某个学生信息表格化屏幕输出

void fetch();//从文件中随机读取第n个(0<=n<=N-1)学生的信息

void Max();//求所有学生某门课程的最高分和分数最高的学生的姓名

void sort_buble();//对某个班级的学生,按平均成绩由高到低进行起泡排序。并调用Output输出

void sort_insert();//对某个专业的学生,按某门课程成绩由低到高进行直接插入排序。并调用Output输出

void sort_select();//对所有学生,按平均成绩由低到高进行简单选择排序

void search();//实现班级和成绩的综合查找(如1班,总分240分以上同学)

//----------------------------------------主函数开始--------------------------------------------------------------

#define N 10//数组长度定义为10

void main()//以菜单形式将各项功能提供给用户,根据用户的选择,调用相应的函数 { {

printf(\请输入功能编号,运行系统相应功能\\n\

printf(\输入学生信息\\n2-信息存盘\\n3-从文件中随机读取某个学生的信息\\n\int j,id;

STU student[N];//用于保存输入的N名学生信息 while(1)

printf(\输出所有学生某门课程的最高分和分数最高的学生的姓名\\n5-对所有学生

printf(\对某个班级学生按总平均成绩由高到低排序\\n7-对某个专业的学生按某门printf(\实现班级和成绩的综合查找\\n\getchar();//吸收回车键 switch(id) { case 1: { } case 2: { } case 3: { } case 4:

fetch();//随机读取 break;

save(student,N);//存储信息 break;

for(j=0;j

break;

printf(\第%d个\\n\input(student+j);

按总平均成绩由低到高排序\\n\课程成绩由低到高排序\\n\

scanf(\输入功能编号,运行系统相应功能

}

}

{ } case 5: { } case 6: { } case 7: { } case 8: { }

default://不符合8个常量 }

{ break;

search();//综合查找 break;

sort_insert();//某专业课程排序 break;

sort_buble();//某班级总平均成绩排序 break;

sort_select();//所有总平均成绩排序 break; Max();//最高分 break;

if((id)<1||(id)>8) }

break;//break while

//--------------------------------------------------输入函数--------------------------------------------------- void input(STU *p) {

int i;


基于数组的学生信息管理系统实验报告.doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:S版六年级上册个性预习提纲

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: