学生成绩统计系统
这是本人在大一上做的一个小项目,希望能够帮助到需要的同学,同时也希望能够给我点赞+收藏,点赞+收藏是创作的动力,谢谢!
需要的同学请自提,具体如下:
#include<stdio.h>
struct STUDENT
{
char num[15];//学号
char name[15];//姓名
int english;//英语成绩
int math;//数学成绩
int c_lan;//C语言成绩
float aver;//平均分
float sum;//总分
}std[100];
void memu ();
void input (struct STUDENT std[],int j);
void print (struct STUDENT std[],int j);
int main (void)
{
while(1)
{
int ch,a,i;
memu();
scanf("%d",&ch);
switch (ch)
{
case 1:
printf("请输入录入的学生人数:");
scanf("%d",&a);
input (std,a);
break;
case 2:
if(a>0&&a<=100)
{
print(std,a);
}
else
printf("学生信息未录入!\n");
break;
case 3:
case 4:
case 5:
printf("退出系统成功!\n");
goto i;
default:
printf("输入错误,请重新输入!\n");
break;
}
}
i:;
}
void memu ()
{
printf("|-----------欢迎使用学生成绩管理系统---------|\n");
printf("|********************************************|\n");
printf("|-----------请选择功能-----------------------|\n");
printf("|-----------1.学生信息录入-------------------|\n");
printf("|-----------2.打印学生信息-------------------|\n");
printf("|-----------3.计算平均分和总分---------------|\n");
printf("|-----------4.统计区间段人数-----------------|\n");
printf("|-----------5.退出系统-----------------------|\n");
printf("|********************************************|\n");
}
void input (struct STUDENT std[],int j)
{
int i,a,b,c;
FILE *fp;
if( (fp=fopen("12.txt","a+"))==NULL)
{
printf("文件打开失败!\n");
exit(0);
}
for(i=0;i<j;i++)
{
printf("请输入第%d个学生的信息:\n",i+1);
printf("请输入学号:");
scanf("%s",std[i].num);
printf("请输入姓名:");
scanf("%s",std[i].name);
printf("请输入英语成绩:");
scanf("%d",&a);
if(a<0||a>100)
{
printf("输入错误,请重新输入!\n");
scanf("%d",&std[i].english);
}
else
{
std[i].english=a;
}
printf("请输入数学成绩:");
scanf("%d",&b);
if(b<0||b>100)
{
printf("输入错误,请重新输入!\n");
scanf("%d",&std[i].math);
}
else
{
std[i].math=b;
}
printf("请输入c语言成绩:");
scanf("%d",&c);
if(c<0||c>100)
{
printf("输入错误,请重新输入!\n");
scanf("%d",&std[i].c_lan);
}
else
{
std[i].c_lan=c;
}
fprintf(fp,"%s %s %d %d %d\n",std[i].num,std[i].name,std[i].english,std[i].math,std[i].c_lan);
}fclose(fp);
}
void print (struct STUDENT std[],int j)
{
int i;
printf("|\t学号|\t姓名 | 英语成绩 | 数学成绩 | C语言成绩 |\n");
for (i=0;i<j;i++)
{
printf("|\t%s|\t%s|\t%d|\t%d|\t%d|\n",std[i].num,std[i].name,std[i].english,std[i].math,std[i].c_lan);
}
}
如有不足之处,希望大佬能够指正!