学生成绩管理系统(C语言实现)

运用C语言实现对学生成绩的操作,对C语言的整体应用能让你更加熟练的掌握C语言,这个是友友在大一的时候写到,比较基础,有什么不懂的可以在评论区,评论,会及时回复的.

#include<stdio.h>
#include<stdlib.h>
#include<conio.h>
int x;
struct Student{
    char name[20];
    long long int num;
    float cjc;
    float cjy;
    float cjs;
}stu[100];
void shuru()
{printf("\t\t\t共有多少名学生:\n");
int x; 
scanf("%d",&x);
int i;
for( i=0;i<x;i++)
{   printf("\t\t\t请输入学生姓名:\n");
    scanf("%s",&stu[i].name);
    printf("\t\t\t请输入学生学号;\n");
    scanf("%lld",&stu[i].num);
     printf("\t\t\t请输入c语言成绩;\n");
    scanf("%f",&stu[i].cjc);
     printf("\t\t\t请输入英语成绩;\n");
    scanf("%f",&stu[i].cjy);
     printf("\t\t\t请输入数学成绩;\n");
    scanf("%f",&stu[i].cjs);
}
float zf[50];
for(int i=0;i<x;i++)
{
    zf[i]=stu[i].cjc+stu[i].cjy+stu[i].cjs;
}
}
void shanchu()
{ long long int n;
printf("\t\t\t请输入你需要删除的学生学号:\n");
scanf("%lld",&n);
int j=0,i;
for(i=0;i<x;i++)
{
    if(n!=stu[i].num)
    {

        stu[j]=stu[i];
        j++;
    }
}
if(i==j)
{
    printf("\t\t\t输入错误!!!\n");
}
else for(i=0;i<j;i++)
{
    printf("姓名:%s\n 学号:%lld\n c语言成绩%.2f\n 英语成绩%.2f\n 数学成绩%.2f\n",stu[i].name,stu[i].num,stu[i].cjc,stu[i].cjy,stu[i].cjs);break;
}
x=j;
}
void chaxun()
{
    long long int n;
    printf("\t\t\t请输入你要查询的学生学号:\n");
    scanf("%lld",&n);
    for(int i=0;i<x;i++)
    {
       if(n==stu[i].num)
    {

      printf("姓名:%s\n 学号:%lld\n c语言成绩%.2f\n 英语成绩%.2f\n 数学成绩%.2f\n",stu[i].name,stu[i].num,stu[i].cjc,stu[i].cjy,stu[i].cjs);break;
    }
    }
}
void pingjun()
{
    float a[50];
    for(int i=0;i<x;i++)
    {
        a[i]=(stu[i].cjc+stu[i].cjs+stu[i].cjy)/3.0;
    }
    for(int i=0;i<x;i++)
    {
        printf("%s %lld %.2f\n",stu[i].name,stu[i].num,a[i]);
    }
}
void xiugai()
{
    long long int n;
    printf("\t\t\t请输入你要查询的学生学号:\n");
    scanf("%lld",&n);
    for(int i=0;i<x;i++)
    {
       if(n==stu[i].num)
    {
     printf("\t\t\t请输入新的c语言成绩;\n");
    scanf("%f",&stu[i].cjc);
     printf("\t\t\t请输入新的英语成绩;\n");
    scanf("%f",&stu[i].cjy);
     printf("\t\t\t请输入新的数学成绩;\n");
    scanf("%f",&stu[i].cjs);
    }
    }
}

void xianshi()
{
for(int i=0;i<x;i++)
{

   printf("姓名:%s\n 学号:%lld\n c语言成绩%.2f\n 英语成绩%.2f\n 数学成绩%.2f\n",stu[i].name,stu[i].num,stu[i].cjc,stu[i].cjy,stu[i].cjs);break;
}

}
void paixu()
{ struct Student stu1;
int t=0;
printf("\t\t\tc语言成绩排序请输入1\英语成绩排序请输入2\n数学成绩排序请输入3:\n\t\t\t");
scanf("%d",&t);
if(t==1)
{
    for(int i=1;i<x;i++)
    { for(int j=0;j<x-i;j++)
        if(stu[j].cjc<stu[j+1].cjc)
        {
            stu1=stu[j];
            stu[j]=stu[j+1];
            stu[j+1]=stu1;
        }
    }
    for(int i=0;i<x;i++)
    {
      printf("%s %lld %f\n",stu[i].name,stu[i].num,stu[i].cjc);
    }
}
if(t==2)
{
    for(int i=1;i<x;i++)
    { for(int j=0;j<x-i;j++)
        if(stu[j].cjy<stu[j+1].cjy)
        {
            stu1=stu[j];
            stu[j]=stu[j+1];
            stu[j+1]=stu1;
        }
    }
    for(int i=0;i<x;i++)
    {
      printf("%s %lld %f\n",stu[i].name,stu[i].num,stu[i].cjy);
    }
}
if(t==3)
{
    for(int i=1;i<x;i++)
    { for(int j=0;j<x-i;j++)
        if(stu[j].cjs<stu[j+1].cjs)
        {
            stu1=stu[j];
            stu[j]=stu[j+1];
            stu[j+1]=stu1;
        }
    }
    for(int i=0;i<x;i++)
    {
      printf("%s %lld %f\n",stu[i].name,stu[i].num,stu[i].cjs);
    }
}
}
void baocun()
{
    printf("\t\t\t已保存\n");
}
int main()
{
int j;
while(1)
{
system("cls");//清屏
printf("\n\n\n\t\t\t 欢迎使用学生成绩管理系统\n\n\n");
printf("\t\t\t***************************\n");
printf("\t\t\t*          主菜单         *\n");
printf("\t\t\t***************************\n\n\n");
printf("\t\t         1 成绩输入   2 成绩删除\n\n");
printf("\t\t         3 成绩查询   4 成绩排序\n\n");
printf("\t\t         5 显示成绩   6 成绩保存\n\n");
printf("\t\t         7 退出系统   8修改学生信息\n\n");
printf("\t\t         9计算平均分\n\n");
printf("\t\t         请选择[1/2/3/4/5/6/7/8]:\n");
scanf("%d",&j);
switch(j)
{
case 1:printf("\t\t\t成绩输入\n");shuru();break;
case 2:printf("\t\t\t成绩删除\n");shanchu();break;
case 3:printf("\t\t\t成绩查询\n");chaxun();break;
case 4:printf("\t\t\t成绩排序\n");paixu();break;
case 5:printf("\t\t\t显示成绩\n");xianshi();break;
case 6:printf("\t\t\t成绩保存\n");baocun();break;
case 7:printf("\t\t\t退出系统\n");exit(0);
case 8:printf("\t\t\t修改学生信息\n");xiugai();break;
case 9:printf("\t\t\t计算平均分\n");pingjun();break;//正常运行程序并退出程序
default:printf("\t\t\t输入错误,请重新输入\n");break;
}
getch();//我们一般所使用的 getchar() 函数在读入一个字符时 必须按一下 enter 键,该代码才会继续运行;
//但是 getch() 函数读入一个字符时 不用 enter 代码会继续跑;
}
return 0;
}

  • 5
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

外太空的莫扎特

在校生穷逼一个,呜呜呜

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值