刚刚写好了一个c语言简易学生管理系统,写个博客,来整理一下自己的收获,话不多说,直接来先写一下这个管理系统的整体需求。
整体需求:编写一个学生管理系统,实现对学生信息的,新建,输出,修改,查询,按平均成绩排序等功能
1、学生信息包括:学号,姓名,计算机成绩,英语成绩,数学成绩,平均成绩。
2、查询按学号查找。
我是分成4个头文件,和一个主函数来写的。下面是第一个头文件:
#include<stdio.h>
#include<string.h>
typedef struct
{
int number;
char name[10];
int computer,english,math;
double average;
}Student;
这是第一个头文件只是简单的定义了一个学生的结构体包含需要的学生信息。
extern Count;
//创建学生
void CreateStudent(Student S[])
{
int i=0;
//这里添加一个do while循环判断输入的数据是否正确。
do
{
if(i>0)
{
printf("输入数据有误,请重新输入\n");
}
printf("请输入学号:");
scanf("%d",&S[Count].number);
printf("请输入名字:");
getchar();
scanf("%s",&S[Count].name);
printf("请输入计算机成绩:");
scanf("%d",&S[Count].computer);
printf("请输入英语成绩:");
scanf("%d",&S[Count].english);
printf("请输入数学成绩:");
scanf("%d",&S[Count].math);
i++;
}while(S[Count].english>100||S[Count].computer>100||S[Count].math>100||S[Count].english<0||S[Count].computer<0||S[Count].math<0);
//注意这里要除以3.0不然得到的是整数,不是小数
S[Count].average=(S[Count].computer+S[Count].english+S[Count].math)/3.0;
printf("添加成功\n");
printf("\n");
}
//输出学生
void OutStudent(Student S[])
{
int i;
if(Count==0)
{
/*这里如果不这么写,没有添加学生时输出结构体数组的第一个结构体
并不会不输出而是会随机赋值,输出的全部为随机值。
*/
printf("未找到学生,请先添加。\n");
}
else
for