联系方式

  • QQ:99515681
  • 邮箱:99515681@qq.com
  • 工作时间:8:00-21:00
  • 微信:codinghelp

您当前位置:首页 >> CS作业CS作业

日期:2018-06-17 03:39

#include "student_score.h"

#include <stdio.h>

#include<stdlib.h>


int n;//输入的学生数

int avar[M];

int Student_score_input()

{

int j;

int i = 0;

char c;

system("cls");

getchar();

printf("请输入要录入的学生数量\n");

scanf_s("%d",&n);

for(i = 0;i <= n;i++){

printf("请输入姓名:\n");

scanf_s("%s",student[i].name);

printf("请输入学号:\n");

scanf_s("%d",&student[i].id);

for(j = 0;j < M;j++)

{

printf("请输入成绩:\n");

scanf_s("%d",&student[i].grade[j]);

}

printf("按Y继续录入,按N结束录入!");

getchar();

scanf_s("%c",&c);

if(c!='Y'&&c!='y')                //可以选择是否继续录入

break;

}

}


int Student_score_display()

{

int i,j;

   for(i=0;i<n;i++)

{    

       printf(" 姓名 学号 数学0  语文1  英语2  计算机3\n");

printf("%s",student[i].name);

       printf("     %d",student[i].id);

       for(j=0;j<M;j++)

       printf("%5d",student[i].grade[j]);

       printf("\n");

}

}


int Student_score_save()

{

FILE *fp;

   int i;

   char save[20];

system("cls");

   printf("请输入文件名:\n");

   scanf("%s",save);                                    /*输入选择项*/


if((fp=fopen("student-list","wb"))==NULL)

{

printf("文件打开失败!\n");

       return;

}

   else

{

for (i=0;i<n;i++)

       if(fwrite (&student[i],sizeof(student),1,fp)!=1)

       printf("文件写入错误!\n");

       fclose(fp);

       printf("成绩表保存成功!\n");

}

}


int Student_score_reorder()

{

int i,j,min,temp,k;

system("cls");

printf("请输入选择的科目[1-4]:\n");

   scanf("%d",&k);

   for(i=0;i<n-1;i++)

{

min=i;

       for(j=i+1;j<n;j++)

       if(student[min].grade[k]>student[j].grade[k])

{

temp=student[min].grade[k];

           student[min].grade[k]=student[j].grade[k];

           student[j].grade[k]=temp;

}

}

   printf("排序之后的结果:\n");

   for(i=0;i<n;i++)

   printf("%5d",student[i].grade[k]);

   printf("\n");

}


int Student_score_modification()

{

   int flag=0;

   int num,ch;

   int i,j;

   char a[10],c,code[10]="1234";//密码

   do

{

printf("请输入密码: \n");

       scanf("%s",&a);

       if(strcmp(code,a)==0)

break;

   else

{

printf("你输入的密码有误,是否再试一次?[Y/N]\n");

       scanf("%c\n",&c);

       if(c=='n'||c=='N')

{

flag=1;

break;

}

}

}while(1);

   if(flag==0)

   {

   printf("请输入你要修改的学号:\n");

   scanf("%d",&num );

   getchar();

   for(i = 0;i < n;i ++)

  if(student[i].id == num)

   break;

   if(i>=n)

   printf("你要修改的学号是:\n",student[i].id);

   else

{

printf("是否修改[Y/N]?\n");

       ch=getchar();getchar();

       if(ch=='y'||ch=='Y')

{

printf("请输入学号:\n");

           scanf("%d",&student[i].id);

           getchar();

}

       printf("是否修改姓名[Y/N]?\n");

       ch=getchar();getchar();

       if(ch=='y'||ch=='Y')

{

printf("请输入新的姓名:\n");

           scanf("%s",student[i].name);

           getchar();

}

      printf("是否修改成绩[Y/N]?\n");

       ch=getchar();getchar();

       if(ch=='y'||ch=='Y')

{

printf("请输入新的成绩:\n");

           for(j=0;j<M;j++)

{

scanf_s("%d",&student[i].grade[j]);

               getchar();

}

}

return;

}

}

}

int Student_score_total()

{

int key;

system("cls");

printf("成绩统计\n");

printf("1、显示每门课程成绩最高的学生的基本信息 \n");

printf("2、显示每门课程的平均成绩  \n");

printf("3、显示超过某门课程平均成绩的学生人数 \n");

printf("请输入你的选择:[1-3]\n");

scanf("%d",&key);

switch(key){

case 1:Student_score_total_best_information();break;

case 2:Student_score_total_avaerage_grade();break;

case 3:Student_score_total_more_information();break;

default:

printf("请输入正确的数字选项!\n");

}

}


int Student_score_total_best_information()

{

int k,i,j,c=0;

   printf("请输入课程序号:\n");

   scanf("%d",&k);

   for(i=0;i<n;i++)

   if(student[c].grade[k]<student[i].grade[k])

   c=i;

   printf("%s,%d",student[c].name,student[c].id);

   for(j=0;j<M;j++)

   printf("%5d",student[c].grade[j]);

}


int Student_score_total_avaerage_grade()

{

int i,j,sum;

   for(j=0;j<M;j++)

{

sum=0;

       for(i=0;i<n;i++)

       sum=sum+student[i].grade[j];

       avar[j]=sum/n;

       printf("第%d门课程的平均成绩是:%d\n",j,avar[j]);

}

}


int Student_score_total_more_information()

{

int i,j = 0,m;

printf("请输入你想要显示的课程序号:[1-4]\n");

scanf("%d",&i);

if(i<M)

{

for(m = 0;m < M;m++)

{

if(student[i].grade[m] > avar[i])

{

j++;

}

}

}

printf("超过第%d课程平均成绩的人数:%d\n",i,j);

}


int Student_score_menu()

{

int a;

printf("\t\t\t---------------------------------------\n");

printf("\t\t\t-\t班级成绩管理系统              -\n");

printf("\t\t\t-\t   1、成绩录入                -\n");

printf("\t\t\t-\t   2、成绩显示                -\n");

printf("\t\t\t-\t   3、成绩保存                -\n");

printf("\t\t\t-\t   4、成绩排序                -\n");

printf("\t\t\t-\t   5、成绩修改                -\n");

printf("\t\t\t-\t   6、成绩统计                -\n");

printf("\t\t\t-\t   7、退出系统                -\n");

printf("\t\t\t-\t 请选择相应的菜单功能:[1~7]  -\n");

printf("\t\t\t---------------------------------------\n");

scanf("%d",&a);

switch(a){

case 1:Student_score_input();break;

case 2:Student_score_display();break;

case 3:Student_score_save();break;

case 4:Student_score_reorder();break;

case 5:Student_score_modification();break;

case 6:Student_score_total();break;

case 7:exit(0);break;

default:

printf("请输入正确的数字!\n");

}

}


int main()

{

for(;;)

Student_score_menu();

}


版权所有:编程辅导网 2021 All Rights Reserved 联系方式:QQ:99515681 微信:codinghelp 电子信箱:99515681@qq.com
免责声明:本站部分内容从网络整理而来,只供参考!如有版权问题可联系本站删除。 站长地图

python代写
微信客服:codinghelp