资源描述:
《C语言实验报告.docx》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、《C语言程序设计实训1》报告设计题目:基于数组的学生信息管理系统学院名称:信息科学技术学院专业:计算机科学与技术班级:姓名:学号指导教师:提交日期:2014年12月22日一、实验内容编写并调试程序,实现学校各专业班级学生信息的管理。10个学生的信息存储在文件studentInit.dat中。在头文件student.h中定义学生信息的结构体类型,包括:学号、姓名、专业、班级、3门成绩;和符号常量N(学生数)。(同一班级的学生可以属于不同的专业,同一专业的学生可以属于不同的班级)#defineN10structStudent{charnum[15];//学号charname[15
2、];//姓名charmajor[10];//专业(computer,software,network)intclassNo;//班级(1-2)intscore[3];//3门课的成绩(0-2)};typedefstructStudentSTU;二、实验要求(1)main函数:以菜单形式将各项功能提供给用户,根据用户的选择,调用相应的函数。STUstudent[N];//保存输入的N名学生信息(2)定义函数voidInput(STU*p,intn):从文件sutdentInit中输入n个学生的信息。(3)定义函数voidOutput(STU*p):将p所指的某个学生信息表格化屏
3、幕输出。(4)定义函数STUFetch(intstudentIndex):从文件中随机读取第studentIndex个(0<=studentIndex<=N-1)学生的信息。(5)定义函数voidSearch(STU*p,intclassNo,chars,intscoreSum);:实现班级和成绩的综合查找(如1班,总分>240的同学)。(6)定义函数intMax(STU*p,intscoreIndex):求所有学生、下标为scoreIndex的课程分数最高的学生序号(在数组中的下标),学生序号作为返回值。(1)定义函数voidSort_select(STU*p):对所有学生
4、,按平均成绩由低到高进行简单选择排序。(2)定义函数voidSort_buble(STU*p,intn);对某个班级的学生,按平均成绩由高到低进行起泡排序。并调用Output输出。定义局部变量:STUstu_class_ave[N];//按平均成绩排序后的某个班级的学生信息;intcount;//实际元素个数(3)定义函数voidSort_insert(STU*p,intn,char*major):对某个专业的学生,按某门课程成绩由低到高进行直接插入排序。并调用Output输出。定义局部变量:STUstu_class_subject[N];//按某门课程成绩排序后的某个专业的
5、学生信息;intcount;//实际元素个数(4)定义函数voidSave(STU*p,intn):将学生信息存入文件。四、程序清单(关键语句和变量加注释)1.头文件,类型定义,函数声明#include#include#include#defineN10structStudent{charnum[15];charname[15];charmajor[10];intclassNo;intscore[3];};typedefstructStudentSTU;voidInput(STU*p,intn);//从文件sutden
6、tInit中输入n个学生的信息voidOutput(STU*p);//将p所指的某个学生信息表格化屏幕输出STUFetch(intstudentIndex);//从文件中随机读取第studentIndex个(0<=studentIndex<=N-1)学生的信息voidSearch(STU*p,intclassNo,chars,intscoresum);//实现班级和成绩的综合查找(如1班,总分>240的同学)intMax(STU*p,intscoreIndex);//求所有学生、下标为scoreIndex的课程分数最高的学生序号(在数组中的下标),学生序号作为返回值voidS
7、ort_select(STU*p);//对所有学生,按平均成绩由低到高进行简单选择排序voidSort_buble(STU*p,intn);//对某个班级的学生,按平均成绩由高到低进行起泡排序voidSort_insert(STU*p,intn,char*major);//对某个专业的学生,按某门课程成绩由低到高进行直接插入排序voidSave(STU*p,intn);//将学生信息存入文件2.主函数#include"student.h"voidmain(){inti,n,id,num,m,sub,co