栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

C语言实现学生信息管理系统(多文件)

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

C语言实现学生信息管理系统(多文件)

本文实例为大家分享了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 );
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持考高分网。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/61063.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号