【C语言】简单的成绩管理系统(Codeblocks)
前言
学校的程序设计练习,一开学直接让做一个简单的成绩管理系统,人都傻了
这个项目分了五个不同文件来实现,下面会一一贴出
成绩.txt中的文件格式是:
(举例)
学号 等级 分数
01 A 100
ps:仅供学习交流参考使用
1.主菜单程序
代码如下(使用switch进行每个模块的调用):
/*实验内容:
—已知59人的程序设计基础课程成绩,
完成:
(1)定义数组存储成绩
(2)从文件读取数据实现存储
(3)按照成绩升序排列输出成绩
(4)按照优、良、中、及格、不及格进行分类输出成绩。
(5)输入一等级,输出该等级内的所有成绩。
(6)设计主程序菜单,完成上述各算法的测试调用
—实验要求:
完成上述问题的:算法分析与设计,程序编写和测试。
并提交最终实验报告和程序源码。*/
/* ※@rain_HYS※ 编写,仅供参考学习交流还有交作业使用 */
#include <stdio.h>
#include <stdlib.h>
#include<string.h>
#define N 59 /*总人数不超过59*/
void SaveScore();
void RankScore();
void ClassifyScore();
void SearchScore();
struct student /*定义结构体存储成绩*/
{
int num;
char stname[20];
int score;
}stu[N];
int main(void)
{
int allnum; /*主程序读取用户输入数字*/
char tf;
printf("\n------- BUA ※ 成绩管理系统 ※ rain_hys编写 -------\n"
"\n------- 该程序目前具有以下功能: -------\n"
"\n------- (1)从文件存入成绩 -------\n"
"\n------- (2)按照成绩升序排列输出成绩 -------\n"
"\n-------(3)按照优、良、中、及格、不及格进行分类输出成绩 -------\n"
"\n------- (4)输入一等级,输出该等级内的所有成绩 -------\n"); /*程序菜单,后期可改*/
do
{
printf("\n请输入想要运行的程序的数字编号:\n");
scanf("%d",&allnum);
switch(allnum)
{
case 1:
SaveScore();
break;
case 2:
RankScore();
break;
case 3:
ClassifyScore();
break;
case 4:
SearchScore();
break;
case 813:
printf("@rain_HYS\n"
"恭喜你发现彩蛋!!\n");
break;
default:
printf("输入错误字符,请重新运行程序!\n");
break;
}
printf("是否重新运行程序?(Y&N)\n");
scanf("%s",&tf);
}
while(tf == 'Y' || tf == 'y');
return 0;
}
2.从文件存入数据
代码如下:
#include <stdio.h>
#include <stdlib.h>
#define N 59
struct student /*定义结构体存储成绩*/
{
int num;
char stname[20];
int score;
}stu[