| Ver tema anterior :: Ver siguiente tema |
| Autor | Mensaje |
|---|
Naitmeir
Registrado: 20 Nov 2007 Mensajes: 14 Ubicación: Barcelona
| Publicado: 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
| Publicado: 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
| Publicado: 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 . 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
| Publicado: 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 y eso que estoy repitiendo programacion en Grado superior. |
|
| Volver arriba | |
 |
Naitmeir
Registrado: 20 Nov 2007 Mensajes: 14 Ubicación: Barcelona
| Publicado: 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 | |
 |
|
|