#include //提供 exit() 函数支持
#define SIZE 100000
//#include"conio.h"
//声明函数原型
void finput(); //存入数据
void flist(); //输出数据
void fsearch(); //查找数据
void fadden(); //增加数据
void fchange(); //修改数据
void ftaxis(); //数据排序
void stat(); //统计数据
//定义结构体
struct student
{
int num; //存放
char name[10]; //定义名字数组变量
int C; //C 语言成绩
int Maths; //数学课成绩
int En; //英语课成绩
float ave; //三门课平均成绩
} stu[SIZE]; //在定义结构体时同时声明结构体变量
int main()
{
int n;
for(;;) //使程序能够循环,在循环内部判断何时结束
{
printf("\n\n"); //与上次的输出结果保持间隔,便于美观
printf("_________________________________\n");//菜单输出
printf("| MENU |\n");
printf("| 1.Input data |\n");
printf("| 2.Output data |\n");
printf("| 3.Search data |\n");
printf("| 4.Add data |\n");
printf("| 5.Revise data |\n");
printf("| 6.Sort data |\n");
printf("| 7.Statistics |\n");
printf("| 8. quit |\n");
printf("|_______________________________|\n");
printf(" Please choose your function:(1-7):"); //功能选择
scanf("%d",&n);
printf("\n");
if(n>0&&n<8) {
switch(n) {
case 1:
finput();
break;
case 2:
flist();
break;
case 3:
fsearch();
break;
case 4:
fadden();
break;
case 5:
fchange();
break;
case 6:
ftaxis();
break;
case 7:
stat();
case 8:
printf("\n ~~~~~~~~~~~~~~~~~~~~~~~~~~\n"); //退出提示
printf(" Goodbye! \n");
printf(" ~~~~~~~~~~~~~~~~~~~~~~~~~~\n");
exit(0);//将程序退出
}
} else //没有按规范选择功能,要进行错误提示 //错误提示
{
printf("\n ~~~~~~~~~~~~~~~~~~~~~~~~~~\n");
printf(" error input! \n");
printf(" ~~~~~~~~~~~~~~~~~~~~~~~~~~\n");
//break; //应该将这一句话去掉才能使在输错的情况下也进行菜单循环
}
}
return 0;
}
/*
主函数部分结束
*/
/*
下面是模块化设计
每个功能对应一个函数
*/
//part 1 : 进行信息录入
void finput()
{
FILE *fp; //声明指针变量
int i,p;
fp=fopen("grades","wb"); //首次打开文件, 若没有文件将会自动创建新文件
for(i=0; i