C/Visual C - dudas de programacion

   
Vista:

dudas de programacion

Publicado por monse (2 intervenciones) el 19/04/2016 22:14:43
Cuando estoy programando y utilizo funciones dentro de main , para calcular algo , por ejemplo ;el area de un triangulo , donde el valor de los lados son ingresados por teclado,porque es que si quiero luego imprimir el valor de los lados las variables en la funcion main y en la funcion lados no pueden llamarse de igual forma, si me representan lo mismo?
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

dudas de programacion

Publicado por agustin (173 intervenciones) el 19/04/2016 23:38:42
Si pueden llamarse igual. Quizás haces algo mal.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

dudas de programacion

Publicado por monse (2 intervenciones) el 19/04/2016 23:52:46
si podes ayudarme revisando este codigo: lo que llamo como la, lb, lc son los lados que te mensionaba que tuve que llamar de distienta forma para que me funcione el programa.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
#include <iostream>
#include<math.h>
using namespace std;
 
void lados (float a[],float b[],float c[],float &la, float &lb, float &lc)
{
 
     la= sqrt(pow((a[0]-c[0]),2)+ pow((a[1]-c[1]),2));
     lb= sqrt(pow((a[0]-b[0]),2)+ pow((a[1]-b[1]),2));
     lc= sqrt(pow((b[0]-c[0]),2)+ pow((b[1]-c[1]),2));
     return;
     }
 
//defino la funcion perimetro//
float perimetro(float la,float lb, float lc)
{
      float perimetro;
      perimetro = la+lb+lc;
      return (perimetro);
}
 
//funcion main
int main()
{// definiciones necesarias//
    int i;
    float a[2],b[2],c[2];
    float la1,lb1,lc1;
 
    printf("intruduzca los tres vertices del triangulo");
    printf("\n Introduce las coordenadas del punto A: \n");
    for(i=0;i<2;i++)
                     scanf("%f",&a[i]);
 
    printf("\n Introduce las coordenadas del punto B: \n");
    for(i=0;i<2;i++)
                     scanf("%f",&b[i]);
 
    printf("\n Introduce las coordenadas del punto C: \n");
    for(i=0;i<2;i++)
                     scanf("%f",&c[i]);
 
    printf("\n\n Punto A = (%f,%f)",a[0],a[1]);
    printf("\n\n Punto B = (%f,%f)",b[0],b[1]);
    printf("\n\n Punto C = (%f,%f)",c[0],c[1]);
 
    lados(a,b,c, la1, lb1, lc1);
    printf("\n longuitud la %f",la1);
    printf("\n longuitud lb %f",lb1);
    printf("\n longuitud lc %f",lc1);
 
    printf("\n el valor del perimetro es %f \n", perimetro(la1,lb1,lc1));
 
    system ("pause");
}//cierro llave de funcion main//
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

dudas de programacion

Publicado por agustin (173 intervenciones) el 20/04/2016 20:46:50
Prueba asi:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
#include <iostream>
#include<math.h>
using namespace std;
 
#define SIZE 2
void lados (float a[],float b[],float c[],float *la, float *lb, float *lc)
{
 
     *la= sqrt(pow((a[0]-c[0]),2)+ pow((a[1]-c[1]),2));
     *lb= sqrt(pow((a[0]-b[0]),2)+ pow((a[1]-b[1]),2));
     *lc= sqrt(pow((b[0]-c[0]),2)+ pow((b[1]-c[1]),2));
}
 
//defino la funcion perimetro//
float perimetro(float la,float lb, float lc)
{
      return la+lb+lc;
}
 
//funcion main
int main()
{// definiciones necesarias//
    int i;
    float a[2],b[2],c[2];
    float la,lb,lc;
 
    printf("intruduzca los tres vertices del triangulo");
    printf("\n Introduce las coordenadas del punto A: \n");
    for(i=0;i<2;i++)
                     scanf("%f",&a[i]);
 
    printf("\n Introduce las coordenadas del punto B: \n");
    for(i=0;i<2;i++)
                     scanf("%f",&b[i]);
 
    printf("\n Introduce las coordenadas del punto C: \n");
    for(i=0;i<2;i++)
                     scanf("%f",&c[i]);
 
    printf("\n\n Punto A = (%f,%f)",a[0],a[1]);
    printf("\n\n Punto B = (%f,%f)",b[0],b[1]);
    printf("\n\n Punto C = (%f,%f)",c[0],c[1]);
 
    lados(a,b,c, &la, &lb, &lc);
    printf("\n longuitud la %f",la1);
    printf("\n longuitud lb %f",lb1);
    printf("\n longuitud lc %f",lc1);
 
    printf("\n el valor del perimetro es %f \n", perimetro(la,lb,lc));
 
    system ("pause");
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar