Título: ayuda en C Publicado por: howaboutno en 21 Octubre 2012, 13:33 pm hola! tengo un problema, a ver si me podeis ayudar.
tengo que hacer esto: 1.Escribir una función a la que se le dé como parámetro un valor r que representa el radio de un figura una opción y un dato entero que será 1/2/3. La funciona debe devolver : • En el caso opcion1 la longitud del circulo de radio r dada por la expresión 2*pi*r • En el caso opción 2 la superficie del circulo dada por la expresión pi*r2 • En el caso opcion 3 el volumen de una esfera de radio r dada por la expresión 4/3*pi*r3 NOTA:pi debe defnirse como una constante; he empezado a hacerla sin funcion por ahora, luego la pasaré a una función, cuando lo tenga mas claro. tengo lo siguiente: Al ejecutarlo, introduzco la opcion 1 y me calcula la longitud del circulo, pero al introducir la opción 2 o 3 no aparece nada mas. Donde podria estar el fallo? LLevo tiempo mirandolo y no lo veo....He de decir que soy principiante en C, asi que disculpad si haya hecho alguna tonteria xD #include <stdio.h> #include <stdlib.h> #define PI 3.141592 int main() { int opcion,longitud=0,superficie=0,volumen=0; int r; printf("1.Longitud del círculo \n"); fflush(stdout); printf("2.Superficie del círculo \n"); fflush(stdout); printf("3.Volumen esfera \n"); fflush(stdout); do { printf("Introduce una opción \n"); fflush(stdout); scanf("%d",&opcion); }while(opcion<1||opcion>3); if(opcion==1) { printf("Introduce la longitud del circulo \n"); fflush(stdout); scanf("%d",&r); longitud=2*PI*r; printf("resultado %d",longitud); fflush(stdout); } else if(opcion==2) { printf("Introduce la superficie del circulo \n"); fflush(stdout); scanf("%d",&r); superficie=PI*r; printf("resultado %d",superficie); fflush(stdout); } else { printf("\n Introduce el voumen del circulo \n"); fflush(stdout); scanf("%d",&r); volumen=4/3*PI*r; printf("resultado %d",volumen); fflush(stdout); } return 0; } Título: Re: ayuda en C Publicado por: leosansan en 21 Octubre 2012, 14:01 pm Al ejecutarlo, introduzco la opcion 1 y me calcula la longitud del circulo, pero al introducir la opción 2 o 3 no aparece nada mas. A mí me funciono sin problemas las tres opciones. No obstante, tienes que cambiar algunas variables de int a float y algo los "mensajes" de "Introducir": Código
Título: Re: ayuda en C Publicado por: DickGumshoe en 21 Octubre 2012, 14:03 pm A mí también me funciona bien.
EDITO: Nada, también lo explicó leosansan lo que iba a decir. Un saludo. Título: Re: ayuda en C Publicado por: howaboutno en 21 Octubre 2012, 14:30 pm Muchas gracias por vuestra ayuda!!
al saber que estaba todo bien he creado un proyecto nuevo, he copiado y pegado el codigo y ahora si que funciona...a saber porque ahora solo me falta hacerlo mediante funcion :D Título: Re: ayuda en C Publicado por: DickGumshoe en 21 Octubre 2012, 14:35 pm Muchas gracias por vuestra ayuda!! al saber que estaba todo bien he creado un proyecto nuevo, he copiado y pegado el codigo y ahora si que funciona...a saber porque ahora solo me falta hacerlo mediante funcion :D A mí me pasaba mucho en Dev C++, así que cambié de IDE. |