资源简介

学生成绩管理系统,实现录入、输出、排序、删除、文件调用、文件存储等功能

资源截图

代码片段和文件信息

//文件包含
#include         //标准输入/输出函数库
#include        //标准函数库
#include        //字符串函数库
#include         //控制台输入/输出函数库

//宏定义

//学生信息长度宏定义
#define  MAX_ID    13  //学号最大长度
#define  MAX_NAME  9   //姓名最大长度

//系统菜单选项宏定义
#define  EXIT       0  //退出系统
#define  INPUT      1  //增加学生信息
#define  SEARCH     2  //查找学生信息
#define  MODIFY     3  //修改学生信息
#define  DISPLAY    4  //输出所有学生信息
#define  DEL        5  // 删除学生信息
#define  TOTAL      6  // 计算各科总分与平均分
#define  NOTPASS    7  //输出不及格学生信息
#define  ARRANGE    8  //排列

//排列学生信息宏定义
#define TOTAL_SCORE      1  //按总分排列
#define AVG_SCORE        2  //按平均分排列
#define ARRANGE_CHINESE  3  //按语文排列
#define ARRANGE_MATH     4  //按数学排列
#define ARRANGE_ENGLISH  5  //按英语排列
#define ARRANGE__COMPUTER 6  //按计算机排列

//查找方式宏定义
#define  SEARCH_ID    1 //按学号查找
#define  SEARCH_NAME  2 //按姓名查找

//修改学生信息宏定义
#define  modify_id       1  //修改学号
#define  modify_name     2  //修改姓名
#define  modify_semester 3  //修改学期
#define  modify_room     4  //修改班级
#define  modify_chinese  5  //修改语文成绩
#define  modify_math     6  //修改数学成绩
#define  modify_english  7  //修改英语成绩
#define  modify_computer 8  //修改计算机成绩


//操作函数列表
void saveData();         /*存储模块*/
void readData();         /*文件调用模块*/
int find_id(char *id);
void displayMainMenu();  /*输出主界面*/
void input();            /*输入操作*/
void searchStu();        /*查找信息模块*/
void search_id();        /*按学号查找*/
void search_name();      /*按姓名查找*/
void modify();           /*修改信息模块*/
void displayall();       /*输出信息模块*/
void del();              /*删除信息模块*/
void notpass();          /*输出不及格学生信息模块*/
void Exit();             /*退出系统模块*/
void arrange();          /*排序*/
void arrange_total();    /*按总分排列*/
void arrange_avg();      /*按平均分排列*/
void arrange_chinese();  /*按语文排列*/
void arrange_math();     /*按数学排列*/
void arrange_english();  /*按英语排列*/
void arrange_computer(); /*按计算机排列*/
void print_info();       /*排序后的内容输出*/
void easy_display();     /*简单输出*/

//辅助函数列表
void saveData();         /*存储模块*/
void readData();         /*文件调用模块*/
int find_id(char *id);

//数据类型定义
//学生信息结构体
typedef struct StuScore
{
char id [MAX_ID];     /*学生学号*/
char name[MAX_NAME];  /*学生姓名*/
    int semester;         /*学生所在学期*/
    int room;             /*学生的班别*/
    float chinese;        /*语文成绩*/
    float math;           /*数学成绩*/
    float english;        /*英语成绩*/
    float computer;       /*计算机成绩*/
    float total;          /*总成绩*/
    float average;        /*平均分*/
}StuScore;
 //学生成绩链表结构体
typedef struct StuScoreNode   //(结构体)
 {
  StuScore data;                   //数据
  struct _StuScoreNode *next;        //地址
  } StuScoreNode;
typedef   StuScoreNode*  StuScoreList   ;

//(3)全局变量定义和函数声明

static StuScoreList score;  //全局变量定义,用于保存所有学生成绩的单链表

// 文件读取模块
void readData()
{
StuScoreNode *p;
char id[MAX_ID];
FILE *fp=fopen(“score.txt““r“);      //以读方式打开文件
if(!fp) //打开文件失败
        return;
//从文件中逐一读出每一联系人信息
while(fscanf(

评论

共有 条评论