📄 student.c
字号:
#include <stdio.h>
#define MAX 100
#define STU struct stu
STU /*结构体*/
{
int num;
char name[20];
float cn;
float ma;
float en;
float avg;
};
STU student[MAX]; //数组,存储学生信息
int i=0;
void sort(float score)//排序
{
int j;
STU k;
for(j=i-1;j>=0;j--)
if(score>student[j].avg)
{
k=student[j];
student[j]=student[j+1];
student[j+1]=k;
}
}
int serach(int a) //查找
{
int j;
for(j=0;j<=i;j++)
if(student[j].num==a)
return j;
return -1;
}
void in() //输入学生信息
{
int a=-1;
STU member;
printf("请输入学生信息,学号:");
scanf("%d",&member.num);
a=serach(member.num);
if(a!=-1) //检测是否有重复学号。
{
printf("*******************已有相同学号,请重新输入:*******************\n");
}
else
{
printf("请输入学生信息,姓名:");
scanf("%s",&member.name);
printf("请输入学生成绩信息,语文:");
scanf("%f",&member.cn);
printf("请输入学生成绩信息,数学:");
scanf("%f",&member.ma);
printf("请输入学生成绩信息,英语:");
scanf("%f",&member.en);
member.avg=(member.cn+member.ma+member.en)/3;
printf("该学生平均成绩:%.2f\n",member.avg);
printf("*********************************************************\n");
student[i]=member;
sort(member.avg);
i++;
}
}
void showall() //显示所有学生信息
{
int j;
printf("学号 姓名 语文 数学 英语 平均分\n");
for(j=0;j<i;j++)
printf("%d %s %.2f %.2f %.2f %.2f\n",student[j].num,student[j].name,student[j].cn,
student[j].ma,student[j].en,student[j].avg);
}
void del() //删除
{
int b,j=-1;
printf("请输入待查学号: ");
scanf("%d",&b);
j=serach(b);
if(j==-1)
printf("*******************未找到该学号下的学生信息。*******************\n");
else
{
printf("*******************学号为%d的学生信息已被删除*******************\n",student[j].num);
while(j<=i)
{
student[j]=student[j+1];
j++;
}
i--;
}
}
main()
{
int a=0,b,j;
printf("请选择需要进行的操作:\n");
while (a!=5)
{
printf("1、新增 2查询 3、删除 4、浏览所有 5、退出\n");
printf("请选择所需操作,数字1--5: ");
scanf("%d",&a);
if(a==1)
in();
else if (a==2)
{
printf("请输入待查学号: ");
scanf("%d",&b);
j=serach(b);
if(b!=-1)
{
printf("*********************************************************\n");
printf("学号%d的学生信息如下:\n",student[j].num);
printf("学号 姓名 语文 数学 英语 平均分\n");
printf("%d %s %.2f %.2f %.2f %.2f\n",student[j].num,student[j].name,student[j].cn,
student[j].ma,student[j].en,student[j].avg);
printf("*********************************************************\n");
}
else
{
printf("*******************未找到该学号下的学生信息。*******************\n");
}
}
else if(a==3)
del();
else if (a==4)
showall();
else if(a==5)
printf("退出\n");
else
printf("******************请重新输入正确的数字******************\n");
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -