本文实例为大家分享了C语言实现学生信息管理系统的具体代码,供大家参考,具体内容如下
elemtype.h
#ifndef ELEMTYPE #define ELEMTYPE #include//用宏定义来规定各个字符串数据项的最大长度。 //定义姓名最大长度 #define MAX_NAME 30 //定义学生课程数量 #define SCORE_NUM 3 typedef enum { SCIENCE =0,//理科 ARTS,//文科 MEDICINE,//医科 OTHER//其它 }StuType; typedef struct { char name[MAX_NAME+1];//学生姓名 StuType type;//学生分类,具体定义见学生分类信息 int ID;//学号 float score[SCORE_NUM];//所修课程分数 }ElemType; bool ReadDataFromFile(char *filename, ElemType array[], int n); void DispalyAll(ElemType array[], int n); bool ModifyStudentInfo(ElemType array[],int n); void CalcSubjectScore(ElemType array[], int n ); void CalcStudentScore(ElemType array[], int n ); void SortStu(ElemType array[], int n); bool WriteDataToFile(char *filename, ElemType array[], int n); #endif
elemtype.cpp
#include "elemtype.h" #include#include // ///function ///从文件中读取学生信息,保存到一个足够大的数组中。 bool ReadDataFromFile(char *filename, ElemType array[], int n) { FILE* fp; int i; if ((fp=fopen(filename,"rb"))==NULL ) { return false; } for (i=0; i main.cpp
//这是主测试文件 #include "elemtype.h" #define MAX_STUDENT_NUM 100 void displayInfo(); void run(ElemType* array, int n); int main() { int n = 5;//n 为数组中有效记录条数,初始文件中为5 ElemType total[MAX_STUDENT_NUM]; char filename[] = "student.dat"; if (!ReadDataFromFile(filename,total,n)) { printf("打开文件%s失败",filename); } displayInfo(); run(total,n); return 0; } // ///function void displayInfo() { puts("********************************************************************" ); puts(" 欢迎使用x大学计算机(软件)学院学生管理系统V1.0" ); puts("********************************************************************n" ); } // ///function void run(ElemType* array, int n) { int option = 0; //提示用户选择操作 puts(" "); puts("请选择操作:n" ); puts("0:直接退出 "); puts("1:显示所有学生信息 ") ; puts("2:修改某个学生信息 ") ; puts("3:计算所有学生某一科平均分 ") ; puts("4:计算某一个学生分数 ") ; puts("5:添加一个学生信息 ") ; puts("6:写回文件并退出 n" ) ; do { scanf("%d", &option ); //根据用户选择调用相关函数完成指定的操作 switch(option ) { //显示所有学生信息 case 1: DispalyAll(array,n); break; //修改某个学生信息 case 2: { if( ModifyStudentInfo(array,n) ) { printf("n"); DispalyAll(array,n); printf("修改成功!n"); } else printf("未找到此学生!n"); } break; //计算所有学生某一科平均分 case 3: CalcSubjectScore(array,n); break; //计算某一个学生分数 case 4: CalcStudentScore(array,n); break; //添加一个学生信息 case 5: SortStu(array,n); break; //写回文件并退出 case 6: { if( WriteDataToFile("student.dat",array,n) ) { printf("保存成功!n"); DispalyAll(array,n+1); } break; } default: break; } }while(option != 0 ); }以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持考高分网。



