#include <stdio.h>
#include <string.h>
int Menu(void);
void Add(void);
void Printf(void);
void pdd(void);
struct STU{
char name[100];
float id;
float score;
};
struct STU stu[100];//定义一个结构体数组
int count=0;
int main()
{
while(1)
{
int res = Menu();
switch(res)
{
case 1:Add();break;
case 2:Printf();break;
case 3:pdd();break;
case 0:return 0;
}
}
return 0;
}
/******
函数功能:添加学生信息
用学号判断该学生是否已存在:
不存在,添加
存在,结束
******/
void Add(void)
{ int i=count;
printf("请输入科目:\n");
scanf("%s",stu[i].name);
printf("请输入期中成绩:\n");
scanf("%f",&stu[i].id);
printf("请输入期末成绩:\n");
scanf("%f",&stu[i].score);
count++;
printf("添加学生信息成功\n");
}
/******
函数功能:打印学生信息
******/
void Printf(void)
{
printf("科目\t期中成绩\t期末成绩\n");
for(int i=0;i<count;i++)
{
printf("%c\t%.2f\t%.2f\n",stu[i].name,stu[i].id,stu[i].score);
}
}
int Menu(void)//菜单函数
{
printf("**********学生管理系统**********\n");
printf("*********1.添加学生信息**********\n");
printf("*********2.遍历学生信息**********\n");
printf("*********3.学生成绩**********\n");
printf("**********0.退出系统***********\n");
printf("请输入要完成的操作:\n");
int num;
scanf("%d",&num);
return num;
}
/******
函数功能:打印学生信息
******/
void pdd(void)
{
float sum=0.00 ,tmp=0.00;
for(int i=0;i<count;i++)
{
sum+=stu[i].id;
}
printf("期中总成绩=%.2f\n",sum);
printf("期中平均成绩=%.2f\n",sum/count);
for(int i=0;i<count;i++)
{
tmp+=stu[i].score;
}
printf("期末总成绩=%.2f\n",tmp);
printf("期末平均成绩=%.2f\n",tmp/count);
printf("总成绩=%.2f\n",0.3*tmp+0.7*sum);
}