废话:
大一学的C语言,期末作业是写一个学生管理系统,写得非常基础。
功能要求如下:
- 能够录入学生信息(包括姓名、学号、学科成绩)
- 能够显示学生信息(录入之后能够将所有输入的学生信息展示)
- 能够对学生进行排序(包括姓名、学号、单科成绩)
- 能否在输入学生信息之后再添加学生信息
运行效果:
![](https://img-blog.csdnimg.cn/c82e45bcd40849708191f7310b8d0e42.png)
![](https://img-blog.csdnimg.cn/b3cbf4e4dbcf4a1e8d047edc0459d921.png)
![](https://img-blog.csdnimg.cn/e12e33f09b77418fba7f1077b6a3f801.png)
![](https://img-blog.csdnimg.cn/f758cba8805a46afb9f2744aff77e5f2.png)
![](https://img-blog.csdnimg.cn/89e3041d57284dd3a73aa83fe49c52cc.png)
![](https://img-blog.csdnimg.cn/ce7dfba4f3754a7d940e960989730426.png)
代码:
#include<stdio.h>
#include<string.h>
#define N 50 //定义最大人数
#define M 20 //定义最多课程数
int p_n, c_m; //学生人数、课程数
char subject[M][20]; //课程名称数组
struct student
{
char name[10]; //姓名
char no[11]; //学号
int score[M]; //M门课成绩
int sum; //存放总分
int aver; //平均分
}xuesheng[N];
void CM(int x) //课程名输入函数
{
int i;
printf("---------当前为:【课程名输入】界面---------\n");
for(i=0;i<c_m;i++)
{
printf("请输入第%d门课的名称:",i+1);
scanf(" %s", subject[i]);
}
printf("课程收录完成!\n");
}//结束课程名输入函数
void StuMassge(int a) //学生成绩姓名录入函数
{
int i,j,k;
printf("---------当前为:主菜单-【1 输入】界面---------\n");
for (i = 0; i < a; i++) //收集学生信息
{
k = i + 1;
printf("第%d个学生姓名为:", k); //收集名字信息
scanf(" %s", xuesheng[i].name);
printf("%s同学学号为:", xuesheng[i].name); //收集学号信息
scanf(" %s", xuesheng[i].no);
for (j = 0; j < c_m; j++) //一门一门地输入同学的单科成绩
{
printf("%s同学%s的成绩为:", xuesheng[i].name, subject[j]);
scanf("%d", &xuesheng[i].score[j]);
}
printf("------已完成%d个同学的数据采集!剩下%d个同学的数据待录入。------\n", k, p_n - k);
}
printf("----------------已完成数据采集!----------------\n");
}//结束StuMassge函数
void Show(int a)
{
int i,j,k;
printf("成绩如下:\n");
printf("姓名 学号 "); //表头
for(i=0;i<c_m;i++)
printf("%-10s",subject[i]);
printf("平均分 总分 \n");
for(i=0; i<p_n; i++) //输出个人信