第二周:项目的多组织文件

来源:互联网 发布:c语言中空格怎么表示 编辑:程序博客网 时间:2024/05/29 17:02
<pre class="cpp" name="code">头文件<pre class="cpp" name="code"> 
 
 
/* *Copyright(c) 2015,烟台大学计算机学院 *文件名称:多文件组织 *作者:刘亚浩 *完成日期:2015.9.20 *版本号:v1.0*/#include <stdio.h>   #define MaxStud 50      //学生人数最多为50   #define MaxCour 300     //学生成绩记录数最多为50*6   struct stud1  {      int no;         //学号       char name[10];  //姓名       int bno;        //班号   };  struct stud2  {      int no;         //学号       int cno;        //课程编号      int deg;        //分数   };    double studavg(struct stud2 s2[],int m,int i) ;  //求学号为i的学生的平均分旳声明      double couravg(struct stud2 s2[],int m,int i)  ; //求编号为i的课程的平均分旳声明      void allavg(struct stud1 s1[],int n,struct stud2 s2[],int m) ;   //求学生平均分和课程平均分旳声明   
 
 
 
 
文件一
 
#include "tou.h"   double studavg(struct stud2 s2[],int m,int i)   //求学号为i的学生的平均分   {      int j,n=0;              //n为学号为i的学生选学课程数       double sum=0;           //学号为i的学生总分      for (j=0; j<m; j++)          if (s2[j].no==i)    //学号为i时统计        {             n++;              sum+=s2[j].deg;         }      return(sum/n);  }  double couravg(struct stud2 s2[],int m,int i)   //求编号为i的课程的平均分   {     int j,n=0;              //n为编号为i的课程选修人数      double sum=0;           //编号为i的课程总分      for (j=0; j<m; j++)     {         if (s2[j].cno==i)   //课程编号为i时统计          {             n++;            sum+=s2[j].deg;         }     }      return(sum/n);  }  void allavg(struct stud1 s1[],int n,struct stud2 s2[],int m)    //求学生平均分和课程平均分   {      int i,j;      printf("学生平均分:\n");      printf("  学号     姓名 平均分\n");      i=0;      while (i<n)      {          j=s1[i].no;          printf("%4d %10s %g\n",s1[i].no,s1[i].name,studavg(s2,m,j));          i++;      }      printf("课程平均分:\n");      for (i=1; i<=6; i++)          printf(" 课程%d:%g\n",i,couravg(s2,m,i));  }  
 
文件二
 
 
 
<pre class="cpp" name="code">#include "tou.h"   double studavg(struct stud2 s2[],int m,int i)   //求学号为i的学生的平均分   {      int j,n=0;              //n为学号为i的学生选学课程数       double sum=0;           //学号为i的学生总分      for (j=0; j<m; j++)          if (s2[j].no==i)    //学号为i时统计        {             n++;              sum+=s2[j].deg;         }      return(sum/n);  }  double couravg(struct stud2 s2[],int m,int i)   //求编号为i的课程的平均分   {     int j,n=0;              //n为编号为i的课程选修人数      double sum=0;           //编号为i的课程总分      for (j=0; j<m; j++)     {         if (s2[j].cno==i)   //课程编号为i时统计          {             n++;            sum+=s2[j].deg;         }     }      return(sum/n);  }  void allavg(struct stud1 s1[],int n,struct stud2 s2[],int m)    //求学生平均分和课程平均分   {      int i,j;      printf("学生平均分:\n");      printf("  学号     姓名 平均分\n");      i=0;      while (i<n)      {          j=s1[i].no;          printf("%4d %10s %g\n",s1[i].no,s1[i].name,studavg(s2,m,j));          i++;      }      printf("课程平均分:\n");      for (i=1; i<=6; i++)          printf(" 课程%d:%g\n",i,couravg(s2,m,i));  }  

                                             
0 0
原创粉丝点击