C程序设计

输入一批人员的数据(包括姓名、人员号、身高),并存放在磁盘文件中。要求完成下列功能:可根据需要增加、修改数据、查看整体数据。... 输入一批人员的数据(包括姓名、人员号、身高),并存放在磁盘文件中。要求完成下列功能:可根据需要增加、修改数据、查看整体数据。 展开
 我来答
百度网友f84d8461b
2011-01-09 · 超过20用户采纳过TA的回答
知道答主
回答量:85
采纳率:0%
帮助的人:70.6万
展开全部

附录* 综合实例——学生成绩查询系统

    这是一个用c语言编写的小软件——学生成绩查询系统,同学们可以将其作为一个综合实例,对其进行仔细的阅读和研究,体验编程处理问题的过程,加深对编程语言的理解,提高处理问题的综合能力。

   1、程序的功能:

 1)可以根据用户输入的输入、输出文件名,读入学生成绩,完成数据的初始化。

 2)可以查询指定学生的成绩,可以是指定科目的成绩,也可以是全部科目的成绩。

 3)友好退出。

 2、使用说明:

 1)将输入文件放到指定的目录下(即../student/)

 

 图1

 2)启动管理程序student.exe

 3)在程序的使用界面,首先输入输入文件名和输出文件名,完成程序的初始化,操作如下图所示

 

 图2

 然后,按照按照提示,输入学生姓名和需要程序的成绩(此软件暂时只设置了五成成绩,同学们可以按照需要扩展)科目代码,也可以输入查询所有成绩的代码。程序成绩,如下图所示

 

 图3

 4)输入代码“q”退出程序。

 3、程序代码

 #include <stdio.h>

 #include <stdlib.h>

 #include <string.h>

  FILE *f1,*f2;

  char file1[20],file2[20],name[200][20],name1[15];

  int n,m,data[200][10];

  

  void init(){

        int i,j; 

       char ch=' ';

        printf("%20c欢迎使用班级成绩管理系统\n\n",ch);

        printf("请输入输入和输出文件名(中间用一个空格隔开):\n");

        scanf("%s %s",file1,file2);//  

        f1=fopen(file1,"r");

        f2=fopen(file2,"w");

       

        fscanf(f1,"%d%d",&n,&m);  //

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

           {

           fscanf(f1,"%s",name[i]); //            

                      data[i][0]=0;          

           for(j=1;j<=m;j++)

            {

            fscanf(f1,"%d",&data[i][j]);

            data[i][0]+=data[i][j];  // 

            }

          }

          

        fprintf(f2,"name\tyuwen\tshuxue\tyingyu\twuli\thuaxue\tzongfen\n ");

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

          {

            fprintf(f2,"%s\t",name[i]);

            for(j=1;j<=m;j++)

              fprintf(f2,"%d\t",data[i][j]);

            fprintf(f2,"%d\n",data[i][0]);

            } 

         fclose(f1);//  

         fclose(f2);

      

      }

  void search(char na[],char num){

       int i=1,j;

       

       while((i<=n)&&(strcmp(na,name[i])!=0))i++;

       

       if(i<=n){

                switch(num){

                            case '1':printf("%s的语文成绩为%d!\n",na,data[i][1]);break;

                            case '2':printf("%s的数学成绩为%d!\n",na,data[i][2]);break;

                            case '3':printf("%s的英语成绩为%d!\n",na,data[i][3]);break;

                            case '4':printf("%s的物理成绩为%d!\n",na,data[i][4]);break;

                            case '5':printf("%s的化学成绩为%d!\n",na,data[i][5]);break;

                            case 'a':

                                  printf("%s的各科成绩为:\n",name[i]);

                                  printf("语文\t数学\t英语\t物理\t化学\t总成绩\n");

                                  for(j=1;j<=m;j++)

                                     printf("%d\t",data[i][j]);

                                  printf("%d\n",data[i][0]);

                                 

                                 

                                 break;

                            default: printf("没有这种查询方式,请确认后再次输入!\n");

                            } 

                

                }

         else printf("查无此人,请确认后再次查询!\n");

       

       printf("\n\n");

       } 

 main(){

       init();//数据初始化 

       printf("数据初始化结束!\n\n"); 

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

       

       char na[20];

       char num;

       while(1){                         // 

         //scanf("%s%c%c",na,&num,&num); // 

         printf("请输入学生的姓名和要查询成绩的科目代码(中间用一个空格隔开):\n(1 语文 2 数学 3 英语 4 物理 5 化学 a 所有科目成绩 q 退出)\n"); 

         scanf("%s",na);

         if(strcmp(na,"q")==0)break; // 

         scanf("%c%c",&num,&num);  // 

         search(na,num);

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

         printf("\n请输入新的查询:\n\n");

         

       }

       system("pause"); 

        }

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式