我应该在不同的功能或我现在拥有的功能中执行它们吗?

时间:2014-04-10 05:08:44

标签: c

我的老师希望我们从文本文件中找到每行由三个有序对组成的整数是否共线。然后确定三角形的边,测量角度,周长,面积和三角形的类型。

是否应该为他想要的每件事创建一个函数,或者它可以是我现在拥有的那个函数吗?

#include <stdio.h>
#include <stdlib.h>
#include <math.h>
void test_and_print (int x1,int y1,int x2,int y2,int x3,int y3);

int main(int argc, char** argv) {
    int x1,y1,x2,y2,x3,y3;
    FILE * inFile; 
  inFile = fopen("TrianglePointsData.txt", "r");       
          if (inFile == NULL ) 
             {  
                printf("\nError opening file."); 
                exit(1); 
             }
  while(fscanf(inFile,"%i %i %i %i %i %i", &x1,&y1,&x2,&y2,&x3,&y3)==6)
      test_and_print(x1,y1,x2,y2,x3,y3);
   return (EXIT_SUCCESS);
}

void test_and_print (int x1,int y1,int x2,int y2,int x3,int y3){
    if((y2-y1)*(x3-x2) == (y3-y2)*(x2-x1)){
  printf("\nThe ordered pairs %i %i %i %i %i %i are collinear. "
          ,x1,y1,x2,y2,x3,y3);
    }
}

1 个答案:

答案 0 :(得分:0)

是的,您应该在单独的功能中执行每项任务,它会使您的代码清洁且可重复使用

这称为划分和规则政策。

例如: - 将来假设你在哪里直接给出角度测量并告诉确定三角形的类型。你会怎么做?? ,答案是你可以直接获取在这个程序中创建的函数并计算答案而不重写任何东西(只有计算部分)。您只需将角度测量值传递给该函数,然后在main() //local variable of main fucntion

中获得答案