2 주차 SHH 데이터 구조 - [프로젝트 2 - 프로그램의 다 중 파일 조직]

3511 단어
SHH. h 코드
#include <stdio.h>   
#define MaxStud 50      //       50   
#define MaxCour 300     //          50*6   
  
double studavg(struct stud2 s2[],int m,int i);<span style="white-space:pre">      </span>       //    i          
double couravg(struct stud2 s2[],int m,int i);<span style="white-space:pre">      </span>       //    i          
void allavg(struct stud1 s1[],int n,struct stud2 s2[],int m);  //               
  
struct stud1  
{  
   int no;         //     
   char name[10];  //     
    int bno;        //     
};  
struct stud2  
{  
   int no;         //     
   int cno;        //       
   int deg;        //     
};  

SHH. h 에는 헤더 파일 및 구조 체 이름 이 포함 되 어 있 습 니 다.
#include"SHH.h"
int main()
{
    int n=7;        //      
    int m=21;       //       
    struct stud1 s1[MaxStud]=
    {
        {1,"  ",9901},
        {8,"  ",9902},
        {34,"  ",9901},
        {20,"  ",9902},
        {12,"  ",9901},
        {26,"  ",9902},
        {5,"  ",9901}
    };
    struct stud2 s2[MaxCour]=   //        1 6,            
    {
        {1,1,67},
        {1,2,98},
        {1,4,65},
        {8,1,98},
        {8,3,90},
        {8,6,67},
        {34,2,56},
        {34,4,65},
        {34,6,77},
        {20,1,68},
        {20,2,92},
        {20,3,64},
        {12,4,76},
        {12,5,75},
        {12,6,78},
        {26,1,67},
        {26,5,78},
        {26,6,62},
        {5,1,94},
        {5,2,92},
        {5,6,89}
    };
    allavg(s1,n,s2,m);
    return 0;
}

 
hanshu. cpp 의 코드
#include"SHH.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("     :
"); printf("
"); i=0; while (i<n) { j=s1[i].no; printf("%4d %10s %g
",s1[i].no,s1[i].name,studavg(s2,m,j)); i++; } printf(" :
"); for (i=1; i<=6; i++) printf(" %d:%g
",i,couravg(s2,m,i)); }

이 프로젝트 는 우리 가 다 중 파일 에 대한 응용 을 고찰 하고 하나의 주 함 수 를 어떻게 분할 하여 다 중 파일 분업 을 실현 하 는 지 를 고찰 했다. 이런 조직의 프로그램 은 관리 하고 유지 하기 쉽다.

좋은 웹페이지 즐겨찾기