程序的多文件组织

来源:互联网 发布:阿里云主机登陆 编辑:程序博客网 时间:2024/05/21 12:46

/* 
* Copyright (c) 2015, 烟台大学计算机与控制工程学院 
* All rights reserved. 
* 文件名称:a.cpp 、b.cpp、head.h
* 作者:朱国荣
* 完成日期:2015年9月14日 
* 版本号:vc6.0 

* 问题描述:程序的多文件组织 
* 输入描述:无  
* 程序输出:学生的平均分和课程的平均分 
*/

头文件:head.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;        //分数   }; 


函数文件:注意:要包含头文件head.h

#include"head.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));  } 


主函数:注意要包含头文件:head.h

#include"head.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;}


运行结果:

知识点总结:

         第一:如何在vc6.0的环境下新建一个工程以及主函数与函数的实现。

         第二:就是复杂程序,变得简单化,是这一堂课学习的重点。

0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 手机绘制图案打不开怎么办 小孩吃了润滑油怎么办 宝宝吃了润滑油怎么办 透明胶带撕不起怎么办 马克笔颜料没了怎么办 匡威鞋掉色了怎么办 补眉后颜色很淡怎么办 磨砂画出毛了怎么办 纹眉毛不上色怎么办 四岁儿童龋齿怎么办 墙没有刷乳胶漆怎么办 壁纸不想要了怎么办 自粘墙纸撕不掉怎么办 打雷了怎么办主题画 打雷了怎么办小班教案 费雪小火车不走怎么办 宝宝睡觉要开灯怎么办 门上有人做记号怎么办 颜料粘上衣服洗不掉怎么办 半夜有小偷开锁怎么办 幼儿园人数较多怎么办 附近幼儿园拖班招满了怎么办 6个月大宝宝拉肚子怎么办 婴儿容易吐奶怎么办 新生儿睡眠时间颠倒怎么办 婴儿睡觉黑白颠倒怎么办 婴儿黑白颠倒了怎么办 宝宝肠粘膜受损怎么办 dnf会卡换装怎么办? 孩子不讲理蛮横怎么办 孩子不爱上学了怎么办 幼儿园孩子不爱上学怎么办 额头撞肿了怎么办 两岁半宝宝说话晚怎么办 1岁宝宝拉肚子怎么办? 小孩嗓子老哑怎么办 小孩嗓子经常哑怎么办 小孩子一年级成绩差怎么办 小孩子一年级学习成绩差怎么办 楼上有孩子扰民怎么办 隔壁小孩太吵怎么办