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 con un programa.
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Ayuda con un programa.  (Leído 2,376 veces)
sami98035

Desconectado Desconectado

Mensajes: 3


Ver Perfil
Ayuda con un programa.
« en: 12 Marzo 2018, 23:21 pm »

Buena, soy un estudiante de informática que apenas va por el primer semestre, estuve haciendo un programa que calcula el radio de un circulo mediante el área, perímetro o diámetro, y también que calcule la media aritmética de n números. El problema está en que hice un menú, pero no hace lo que se le pide, cuando quiero ir a la opción 2 que es parta calcular la media aritmética, no salta hasta ahí, sino que ejecuta la opción 1 y debes ingresar datos para que llegue hasta la opción 2. También, en la opción 1, cuando trato de sacar el radio por el perímetro, ahí si salta a la opción 2.

Código:
#include <stdio.h>
#include <math.h>
#define PI 3,1415
#define RAIZPI 1,772453
main ()
{
float area, diametro, perimetro, radio;
int operacion, operacionRadio, volverInicio;
int seguir;
int numero, contador, acumulador;
float resultado;
int raiz;
int raiz2;

contador = 0;
acumulador = 0;

  do {

printf ("Si decea calcular el radio de un circulo, pulse el numero 1. \n");
printf ("Si decea sacar la media aritmetica de un numero, pulse el numero 2. \n");
scanf ("%d", &operacion);

if (operacion = 1){
printf ("Si tiene el area, pulse 1: \n");
printf ("Si tiene el diametro, pulse 2: \n");
printf ("Si tiene el perimetro, pulse 3: \n");
fflush (stdin);
scanf ("%d", &operacionRadio);

if (operacionRadio == 1) {
printf ("Introduzca el area: \n");
fflush (stdin);
scanf ("%f", &area);
raiz = sqrt(area);
radio = raiz / RAIZPI;
printf ("El radio es: %f \n", radio);

}

else if (operacion == 2) {
printf ("Introduzca el diametro: \n");
fflush (stdin);
scanf ("%f", &diametro);
radio = diametro / PI;
printf ("El radio es: %f \n", radio);

}

} else if (operacionRadio == 3) {
printf ("Introduzca el perimetro: \n");
fflush (stdin);
scanf ("%f", &perimetro);
radio = perimetro / (2*PI);
printf ("El radio es: %f \n \n", radio);

}
else (operacion = 2); {
do {
printf ("Introduzca un numero entero \n");
fflush (stdin);
scanf ("%d", &numero);

contador = contador + 1;
acumulador = acumulador + numero;

printf ("Introdujo %d numero(s) \n", contador);
printf ("La suma es: %d \n", acumulador);

printf ("Decea introducir otro numero? pulse 1 para SI; 0 para no. %d \n");
fflush (stdin);
scanf ("%d", &seguir);
}while (seguir == 1);


resultado = acumulador / contador;

printf ("La media aritmetica es: %f \n", resultado);

}

printf ("Si decea volver a inico, pulse 1, de lo contrario, pulse 0. %d \n");
fflush (stdin);
scanf ("%d", &volverInicio);

} while (volverInicio == 1);

}

Por favor, si pueden ayudarme a saber qué estoy haciendo mal, se los agradecería mucho.


En línea

casmajavi

Desconectado Desconectado

Mensajes: 2


Ver Perfil
Re: Ayuda con un programa.
« Respuesta #1 en: 12 Marzo 2018, 23:25 pm »

Hola. El problema que tienes es que estás confundiendo el operador = con el operador ==. El primero es el operador de asignación, el segundo es relacional.

Saludos.


En línea

sami98035

Desconectado Desconectado

Mensajes: 3


Ver Perfil
Re: Ayuda con un programa.
« Respuesta #2 en: 12 Marzo 2018, 23:37 pm »

Hola. El problema que tienes es que estás confundiendo el operador = con el operador ==. El primero es el operador de asignación, el segundo es relacional.

Saludos.
Acabo de probar, y me sigue haciendo lo mismo, sigue saltando a donde no es.
En línea

dariodr01

Desconectado Desconectado

Mensajes: 27


Ver Perfil
Re: Ayuda con un programa.
« Respuesta #3 en: 13 Marzo 2018, 05:03 am »

Pruebalo asi.
Saludos.

Código
  1. #include <stdio.h>
  2. #include <math.h>
  3.  
  4. #define PI 3,1415
  5. #define RAIZPI 1,772453
  6.  
  7. int main ()
  8. {
  9.    float area, diametro, perimetro, radio;
  10.    int operacion, operacionRadio, volverInicio;
  11.    int seguir;
  12.    int numero, contador, acumulador;
  13.    float resultado;
  14.    int raiz;
  15.    int raiz2;
  16.  
  17.    contador = 0;
  18.    acumulador = 0;
  19.  
  20.    do {
  21.        printf ("Si decea calcular el radio de un circulo, pulse el numero 1. \n");
  22.        printf ("Si decea sacar la media aritmetica de un numero, pulse el numero 2. \n");
  23.        scanf ("%d", &operacion);
  24.  
  25.        if (operacion == 1) {
  26.            printf ("Si tiene el area, pulse 1: \n");
  27.            printf ("Si tiene el diametro, pulse 2: \n");
  28.            printf ("Si tiene el perimetro, pulse 3: \n");
  29.            //fflush (stdin);
  30.            scanf ("%d", &operacionRadio);
  31.  
  32.            if (operacionRadio == 1) {
  33.                printf ("Introduzca el area: \n");
  34.                //fflush (stdin);
  35.                scanf ("%f", &area);
  36.                raiz = sqrt(area);
  37.                radio = raiz / RAIZPI;
  38.                printf ("El radio es: %f \n", radio);
  39.            }
  40.  
  41.            else if (operacion == 2) {
  42.                printf ("Introduzca el diametro: \n");
  43.                //fflush (stdin);
  44.                scanf ("%f", &diametro);
  45.                radio = diametro / PI;
  46.                printf ("El radio es: %f \n", radio);
  47.            }
  48.  
  49.            else if (operacionRadio == 3) {
  50.                printf ("Introduzca el perimetro: \n");
  51.                //fflush (stdin);
  52.                scanf ("%f", &perimetro);
  53.                radio = perimetro / (2*PI);
  54.                printf ("El radio es: %f \n \n", radio);
  55.            }
  56.        }
  57.        else {
  58.            do {
  59.                printf ("Introduzca un numero entero \n");
  60.                //fflush (stdin);
  61.                scanf ("%d", &numero);
  62.                contador = contador + 1;
  63.                acumulador = acumulador + numero;
  64.                printf ("Introdujo %d numero(s) \n", contador);
  65.                printf ("La suma es: %d \n", acumulador);
  66.                printf ("Decea introducir otro numero? pulse 1 para SI; 0 para no.\n");
  67.                //fflush (stdin);
  68.                scanf ("%d", &seguir);
  69.            } while (seguir == 1);
  70.  
  71.            resultado = acumulador / contador;
  72.            printf ("La media aritmetica es: %f \n", resultado);
  73.        }
  74.  
  75.        printf ("Si decea volver a inico, pulse 1, de lo contrario, pulse 0.\n");
  76.        //fflush (stdin);
  77.        scanf ("%d", &volverInicio);
  78.    } while (volverInicio == 1);
  79.  
  80.    return 0;
  81. }
  82.  
  83.  
En línea

sami98035

Desconectado Desconectado

Mensajes: 3


Ver Perfil
Re: Ayuda con un programa.
« Respuesta #4 en: 14 Marzo 2018, 19:59 pm »

Pruebalo asi.
Saludos.

Código
  1. #include <stdio.h>
  2. #include <math.h>
  3.  
  4. #define PI 3,1415
  5. #define RAIZPI 1,772453
  6.  
  7. int main ()
  8. {
  9.    float area, diametro, perimetro, radio;
  10.    int operacion, operacionRadio, volverInicio;
  11.    int seguir;
  12.    int numero, contador, acumulador;
  13.    float resultado;
  14.    int raiz;
  15.    int raiz2;
  16.  
  17.    contador = 0;
  18.    acumulador = 0;
  19.  
  20.    do {
  21.        printf ("Si decea calcular el radio de un circulo, pulse el numero 1. \n");
  22.        printf ("Si decea sacar la media aritmetica de un numero, pulse el numero 2. \n");
  23.        scanf ("%d", &operacion);
  24.  
  25.        if (operacion == 1) {
  26.            printf ("Si tiene el area, pulse 1: \n");
  27.            printf ("Si tiene el diametro, pulse 2: \n");
  28.            printf ("Si tiene el perimetro, pulse 3: \n");
  29.            //fflush (stdin);
  30.            scanf ("%d", &operacionRadio);
  31.  
  32.            if (operacionRadio == 1) {
  33.                printf ("Introduzca el area: \n");
  34.                //fflush (stdin);
  35.                scanf ("%f", &area);
  36.                raiz = sqrt(area);
  37.                radio = raiz / RAIZPI;
  38.                printf ("El radio es: %f \n", radio);
  39.            }
  40.  
  41.            else if (operacion == 2) {
  42.                printf ("Introduzca el diametro: \n");
  43.                //fflush (stdin);
  44.                scanf ("%f", &diametro);
  45.                radio = diametro / PI;
  46.                printf ("El radio es: %f \n", radio);
  47.            }
  48.  
  49.            else if (operacionRadio == 3) {
  50.                printf ("Introduzca el perimetro: \n");
  51.                //fflush (stdin);
  52.                scanf ("%f", &perimetro);
  53.                radio = perimetro / (2*PI);
  54.                printf ("El radio es: %f \n \n", radio);
  55.            }
  56.        }
  57.        else {
  58.            do {
  59.                printf ("Introduzca un numero entero \n");
  60.                //fflush (stdin);
  61.                scanf ("%d", &numero);
  62.                contador = contador + 1;
  63.                acumulador = acumulador + numero;
  64.                printf ("Introdujo %d numero(s) \n", contador);
  65.                printf ("La suma es: %d \n", acumulador);
  66.                printf ("Decea introducir otro numero? pulse 1 para SI; 0 para no.\n");
  67.                //fflush (stdin);
  68.                scanf ("%d", &seguir);
  69.            } while (seguir == 1);
  70.  
  71.            resultado = acumulador / contador;
  72.            printf ("La media aritmetica es: %f \n", resultado);
  73.        }
  74.  
  75.        printf ("Si decea volver a inico, pulse 1, de lo contrario, pulse 0.\n");
  76.        //fflush (stdin);
  77.        scanf ("%d", &volverInicio);
  78.    } while (volverInicio == 1);
  79.  
  80.    return 0;
  81. }
  82.  
  83.  

Hola, gracias por la ayuda, bro. Sí me funciona así.
En línea

MAFUS


Desconectado Desconectado

Mensajes: 1.603



Ver Perfil
Re: Ayuda con un programa.
« Respuesta #5 en: 15 Marzo 2018, 00:35 am »

Apuesto a que no te va a funcionar por diámetro.
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
AYUDA CON PROGRAMA
Diseño Gráfico
Luisango 1 2,451 Último mensaje 17 Abril 2005, 13:25 pm
por Sub_Cero
ayuda con mi programa
Programación Visual Basic
nitrox 2 2,351 Último mensaje 31 Julio 2005, 00:48 am
por Slasher-K
[Ayuda] ¿Cómo ejecutar otro programa desde mi programa de C#?
.NET (C#, VB.NET, ASP)
Zodiak98 1 6,147 Último mensaje 8 Diciembre 2013, 01:51 am
por Eleкtro
[AYUDA] Ayuda con NETCAT o cualquier otro programa similar
Dudas Generales
Noxware 0 2,181 Último mensaje 16 Junio 2014, 18:13 pm
por Noxware
AYUDA! ---- Programa en lenguaje C en programa Dev-C ++ ---- AYUDA!
Programación C/C++
EduardoSaenz 4 3,868 Último mensaje 7 Mayo 2016, 23:38 pm
por MAFUS
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines