elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Como proteger una cartera - billetera de Bitcoin


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  ayuda en C
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: ayuda en C  (Leído 1,652 veces)
howaboutno

Desconectado Desconectado

Mensajes: 38


Ver Perfil
ayuda en C
« 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;
}




En línea

leosansan


Desconectado Desconectado

Mensajes: 1.314


Ver Perfil
Re: ayuda en C
« Respuesta #1 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
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #define PI  3.141592
  4. int main()
  5. {
  6.   int opcion;
  7.   float r,longitud,superficie,volumen;
  8.   printf("1.Longitud del ciculo \n");
  9.   printf("2.Superficie del circulo \n");
  10.   printf("3.Volumen esfera \n");
  11.    do
  12.   {
  13.   printf("Introduce una opcion \n");
  14.  
  15.   scanf("%d",&opcion);
  16.   }while(opcion<1||opcion>3);
  17.  
  18.   if(opcion==1)
  19.   {
  20.      printf("Introduce el radio del circulo \n");
  21.      scanf("%g",&r);
  22.      longitud=2*PI*r;
  23.      printf("Longitud= %g",longitud);
  24.         }
  25.   else
  26.      if(opcion==2)
  27.         {
  28.         printf("Introduce el radio del circulo \n");
  29.         scanf("%g",&r);
  30.         superficie=PI*r*r;
  31.         printf("Superficie = %g",superficie);
  32.        }
  33.      else
  34.      {
  35.      printf("\n Introduce el radio de la esfera \n");
  36.      scanf("%g",&r);
  37.      volumen=4/3*PI*r*r*r;
  38.      printf("Volumen =  %g",volumen);
  39.    }
  40.   return 0;
  41. }


En línea

DickGumshoe


Desconectado Desconectado

Mensajes: 480



Ver Perfil WWW
Re: ayuda en C
« Respuesta #2 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.
« Última modificación: 21 Octubre 2012, 14:04 pm por DickGumshoe » En línea

howaboutno

Desconectado Desconectado

Mensajes: 38


Ver Perfil
Re: ayuda en C
« Respuesta #3 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
En línea

DickGumshoe


Desconectado Desconectado

Mensajes: 480



Ver Perfil WWW
Re: ayuda en C
« Respuesta #4 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.
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines