文章出處

一、為內聚耦合舉例。

1、為每種類型的模塊耦合舉一個具體的例子
1) 非直接耦合:
#include <stdio.h>
void main( )
{
  int a, b;
  printf ("print an integer number: ");
  scanf("%d", &a);
  if (a<0)

    printf("data error! ");
  else
  {
    b=fac(a);
    prt(b);
  }
}
int fac(int n)
{
  int f;
  if (n==0||n==1)

    f=1;
  else

    f=fac(n-1)*n;
  return(f);
}
void prt(int x)
{
  printf("%d\n", x);
}
/*函數 fac 和 prt 之間為非直接耦合關系*/
2) 數據耦合:
/*上例中,主函數 main 和子函數 fac 之間為數據耦合關系*/
3) 標記耦合:
#include <stdio.h>
void main( )
{

  int s, j, b[10];
  for (j=0; j<10; j++)

    b[j]=j;
  s=sum(b[10]);
  printf("%d\n", s);
}
int sum(int a[10])
{

  int ss=0, i;
  for (i=0; i<10; i++)

    ss=ss+a[i];
  return(ss)
}
/*主函數 main 和子函數 sum 之間為標記耦合關系*/
4) 特征耦合:
#include <stdio.h>
void main( )
{

  int j, b[10];
  for (j=0; j<10; j++)

    b[j]=j;
  add3(b[10]);
}
void add3(int a[10])
{
  int s=0;
  s=a[3]+1;
  printf("%d\n", s);
}
/*主函數 main 和子函數 sum 之間為特征耦合關系*/
5) 控制耦合:
/* 根據輸入的年齡是否滿十八歲判斷是否到達法定飲酒年齡 */
#include <stdio.h>
void main()
{
  int Age = 0; T=0;
  printf("%s","請輸入您的年齡:");
  scanf("%d", &Age);
  if (age > 18)
    T = 1;
  else
    T = 0;
  YesOrNot(T);
}
void YesOrNot(int s)
{
  if (s == 1)
    printf("%s\n", "您已到達法定飲酒年齡!");
  else
    printf("%s\n","您未到達法定飲酒年齡!");
}
/*主函數 main 和子函數 YesOrNot 之間為控制耦合關系*/

二、代碼行、博客字數。

image

1. 代碼行統計圖

image

2. 博客字數統計圖

image

3.累計統計圖

三、PSP

image

image


文章列表




Avast logo

Avast 防毒軟體已檢查此封電子郵件的病毒。
www.avast.com


arrow
arrow
    全站熱搜
    創作者介紹
    創作者 大師兄 的頭像
    大師兄

    IT工程師數位筆記本

    大師兄 發表在 痞客邦 留言(0) 人氣()