/
Inicio :: Foros

 F.A.Q.F.A.Q.                  Conéctese para revisar sus mensajesConéctese para revisar sus mensajes   

Problema llamando a funciones

 
      Índice del Foro elrincondelc.com -> Principiantes C/C++
Ver tema anterior :: Ver siguiente tema  
AutorMensaje
Naitmeir



Registrado: 20 Nov 2007
Mensajes: 14
Ubicación: Barcelona

MensajePublicado: 26/11/2007 11:08 am
Título: Problema llamando a funciones

Tengo dos errores de codigo haver si alguien me puede ayudar a corregirlo, por que no lo veo. Compilo con Micro$fot visual studio 6.0

// EJERCICIO

#include <stdio.h>

//DECLARACION DE FUNCIONES

int menu ();
int cuadrado (int);
int triangulo (int,int);



int main ()

{

// VARIABLES

int opcion=0,lado,altura,base;


do{
opcion=menu();

switch (opcion){

case 1:
printf("\nIntroduce el lado del cuadrado:\n");scanf("%d",&lado);
printf("\nLa superficie del cuadrado es %d",cuadrado(lado));
break;

case 2:
printf("\nIntroduce la altura del triangulo:\n");scanf("%d",&altura);
printf("\n... ahora introuce la base:");scanf("%d",&base);
printf("\nLa superficie del triangulo es %d",triangulo(altura,base));
break;

case 0:
break;

default:
printf("\n Solo puedes seleccionar 1 o 2 y 0 para salir");
getch();
break;

}while (opcion!=0);




printf("\n\n\n");
}

int menu()
{

int opt=0;

printf("\nSelecciona\n");
printf("1) Cuadrado\n");
printf("2) Triangulo\n");
printf("\n0) Para salir\n\n");

scanf("%d",&opt);

return (opt);

}


int cuadrado (int lado)

{
int s;

s=lado*lado;

return (s);
}


int triangulo (int altura,int base)

{
int s;

s=(base*altura)/2;

return (s);
}


un saludo
Volver arriba
oviwankenobi



Registrado: 25 Nov 2007
Mensajes: 4

MensajePublicado: 26/11/2007 12:01 pm
Título:

Hola te corrigo lo que te falla :

donde pone

} while (opcion!=0);

te falta otro } deberia ser: } } while (opcion!=0); porque sino no cierras el "do" solo cierras el switch (opcion).

y despues en el:
printf("\n Solo puedes seleccionar 1 o 2 y 0 para salir");
getch();

el getch() borralo no pares el programa en esa linia.
creo que falla en el calculo del triangulo no se. por el resto todo bien.

Un saludo.
Volver arriba
david_celta



Registrado: 02 Jun 2005
Mensajes: 151

MensajePublicado: 26/11/2007 12:06 pm
Título:

Supongo que uno debe ser el getch que has puesto por ahi en el default, quiza si pones que te dice el compilador sobre los errores se pueda resolver mejor.

Corrijo: Se me habia pasado lo de la llave while Sad . Bien obiwankenobi :manitoarriba
_________________
In all your fantasies,
you always knew
that man and mystery...

...were both in you...
Volver arriba
oviwankenobi



Registrado: 25 Nov 2007
Mensajes: 4

MensajePublicado: 26/11/2007 12:58 pm
Título:

Es que al tener el compilador devc++ pues resalta las llaves y por eso me he dado cuenta.

Saludos a todos

P.D: Mi primera ayuda de C Laughing Laughing y eso que estoy repitiendo programacion en Grado superior.
Volver arriba
Naitmeir



Registrado: 20 Nov 2007
Mensajes: 14
Ubicación: Barcelona

MensajePublicado: 26/11/2007 2:15 pm
Título:

oviwankenobi escribió:
Hola te corrigo lo que te falla :

donde pone

} while (opcion!=0);

te falta otro } deberia ser: } } while (opcion!=0); porque sino no cierras el "do" solo cierras el switch (opcion).

y despues en el:
printf("\n Solo puedes seleccionar 1 o 2 y 0 para salir");
getch();

el getch() borralo no pares el programa en esa linia.
creo que falla en el calculo del triangulo no se. por el resto todo bien.

Un saludo.


Gracias tio, si q era eso.Un saludo
Volver arriba
      Índice del Foro elrincondelc.com -> Principiantes C/C++
Página 1 de 1Todas las horas están en GMT - 8 Horas

 
No puede crear mensajes
No puede responder temas
No puede editar sus mensajes
No puede borrar sus mensajes
No puede votar en encuestas

(c) ElRincondelC.com

Un proyecto de UrlanHeat.com