`
lovnet
  • 浏览: 6723679 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
文章分类
社区版块
存档分类
最新评论

C语言实现学生信息管理系统

 
阅读更多
#include "stdio.h"
#include "conio.h"
#include "string.h"
#include "stdlib.h"

#define CMD_START printf("\n\n######### Start a command #########\n");
/* 用来标记一个命令执行的开始*/
#define CMD_END printf( "\n######### End a command #########\n\n");
/* 用来标记一个命令执行的结束 ,这两个语句是为了提供更好的用户界面而写的 */
#define DATA_FILE "data.dat"
/* 这是 数据文件名 */
#define TEMP_FILE "temp.dat"
/* 这是一个临时的文件的名字,在删除记录的函数中使用的,
详细内容参考 Delete() 函数 */

typedef struct tagStudent
{
char ID[30]; /* 学号 */
char Name[30]; /* 姓名 */
char Class[255]; /* 班级 */
char Sex; /* 性别 ,值为 F 或 f 或 M 或 m */
int Math; /* 数学成绩 */
int English; /* 英语成绩 */
int Compute; /* 计算机成绩 */
int Philosophy; /* 哲学成绩 */
int PE; /* 体育成绩 */
} Student;
/* 这是学生信息结构体 */

int ShowMenu(); /* 在屏幕上打印 主菜单 的函数,它的返回值为 所选 菜单的 项目编号 */
int ReadData(FILE*,Student* ); /* 从一个 打开的数据文件中读取 记录的函数,错误返回 0 */
int WriteData(FILE* , Student* ); /* 向一个数据文件中 写入 记录的函数,错误返回 0 */
void Output_Rec(Student*); /* 在屏幕上 打印 一条记录 */
void Input_Rec(Student*); /* 让用户输入 记录的 各个项目的 值,在添加记录时用到了 */
void CopyRec(Student* , Student* ); /* 复制一条记录 到 另一个记录中 */

/* 题目中要求的函数 */
void Print(); /* 实现查看数据文件内容的函数 */
void Add(); /* 添加记录的函数 */
void Delete(); /* 删除记录的函数 */
void Statistics(); /* 对数据进行统计分析的函数 */
void Find(int); /* 实现查找功能的函数,参数决定 是按 ID 查找 还是按 Name 查找 */

int quit; /* 一个全局变量,在下面的 main() 函数中,用来决定何时退出主循环 */
main()
{
int cmd; /* 用户所选的 菜单 项目 的标号 */

quit = 0; /* 初始化 为 不退出 */
/* 这是程序的主循环,每次都将 主菜单打印出来,
供用户选择相应的 序号 来执行相应的功能 */
while( ! quit )
{

cmd = ShowMenu(); /* 显示 主菜单,并返回用户所选择的 菜单项 的 编号 */
CMD_START /* 在屏幕上打印一行分隔符,告诉用户这是一个子功能的开始 */
switch( cmd ) /* 用多项分支 根据 用户的选择 调用 相应的函数 */
{
case 1:
Print(); break; /* 用户选择 1 号菜单,程序执行 查看的数据文件的函数 */
case 2:
Add(); break; /* 用户选择 2 号菜单,程序执行 添加记录的函数 */
case 3:
Delete(); break; /* 用户选择 3 号菜单,程序执行 删除记录的函数 */
case 4:
Statistics(); break; /* 用户选择 4 号菜单,程序执行 统计数据的函数 */
case 5:
Find(5); break; /* Find_ID ,5 号菜单执行 按 ID(学号)查找的功能 */
case 6:
Find(6); break; /* Find_Name,6 号菜单执行 按 Name(姓名)查找的功能 */
case 7:
quit = 1; /* 用户选择了退出菜单 */
printf(" Thank you for your using .\n\n Happy everyday !!\n\n Bye Bye
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics