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

<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));  
}  

第二周:项目的多组织文件_第1张图片
 
 
 

你可能感兴趣的:(第二周:项目的多组织文件)