c语言“学生成绩管理系统”课程设计报告 我想知道要重新创建一个txt用来录入学生成绩么?怎么弄?ns流程图

2020-06-12 教育 157阅读

我的这个程序不是所有的功能都能实现,我当初也是做的这个程序,我答辩时老师只是看了你的程序的运行情况,并没有仔细看你的题目要求,只要能运行出来就可以了,这是那程序和流程图,希望可以帮到你:

 

#include

#include 

#define N 3

struct student

{

  int math;

  int number;

  char name[20];

  int language;

  int JN;

 

}student[4];

void main()

  void save(); 

  void load();

  void input();

  void sum();

  void search();

  void output(); 

   int n;

  printf("\n");

  printf("学生成绩管理\n");

  printf("\n");

  printf("1.录入学生信息\n\n\n");

  printf("2.浏览学生的平均分和总分\n\n\n");

 

  printf("3. 不及格的人数和姓名及科目\n\n\n");

  printf("4.全班学生信息\n\n\n");

  printf("5.退出\n\n\n\n");

  printf("请输入你的选择\n");

  printf("\n\n");

  scanf("%d",&n);

switch(n)

{

    case 1:printf("输入信息\n");printf("\n");input();main();break;

    case 2:printf("浏览学生的平均分和总分\n");printf("\n");sum();main();break;

   

    case 3:printf("不及格的人数和姓名\n");printf("\n");search();main();break;

    case 4:printf("全班学生信息\n");printf("\n");output();main();break;

    default :break;

}

}

void save(int m)         

{

int i;

FILE*fp;

if((fp=fopen("out.txt","wb"))==NULL)  //在当前程序运行目录下自动建立out.dat文件,用二进制打开

     {

         printf("打开文件出错\n");

         return ;

     } 

for(i=0;i

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

printf("cuo\n");

fclose(fp);

}

void input()     

{

  int i;

  for(i=0;i

  {

  printf("请输入学生的学号:");

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

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

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

  printf("请输入数学成绩:  ");

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

  printf("请输入c语言成绩:  ");

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

printf("请输入日语成绩:  ");

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

      printf("请输入你的选择\n");

  printf("\n");

  }

  printf("\n创建完毕!\n");

  save(N);

}

void sum()

{   int i;int sum[N],ave[N];

 

  for(i=0;i

  {

 

  sum[i]=student[i].math+student[i].language+student[i].JN;

   ave[i]=sum[i]/3;

  }

 

 

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

      printf("第%d名学生的总分:%3d,平均分%d\n",i+1,sum[i],ave[i]);

}

 

void output()

{

  int i;

  for(i=0;i

  {

  printf("学生的学号%d:",student[i].number);

     

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

     

  printf("数学成绩:%d  ",student[i].math);

     

  printf("c语言成绩:%d  ",student[i].language);

     

printf("日语成绩:%d  ",student[i].JN);

  printf("\n\n");

  }

}

void search()

  int i,j=0;

  for(i=0;i

  if(student[i].math<50|| student[i].language<50 ||student[i].JN<50)

  {printf("姓名:%s  ",student[i].name);j++;}

  printf("不及格人数是%d",j);

}

void load()

{

int i;

FILE*fp;

if((fp=fopen("out.txt","rb"))==NULL)

{   printf("打开文件出错\n");

         return ;

     } 

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

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

  {

  if(feof(fp));

  {fclose(fp);

   return;}

printf("打开文件出错\n");

}

fclose(fp);

声明:你问我答网所有作品(图文、音视频)均由用户自行上传分享,仅供网友学习交流。若您的权利被侵害,请联系fangmu6661024@163.com