Anuncios Google

No calcula el resultado[RESUELTO]

Hoy en mi clase hemos dado las formulas para calcular la energia cinetica potencial y mecanica y se me ocurio crear un programilla para k calculara y me puse ahora pero al compilarlo no da ni error ni nada lo ejecuto elijo la opcion y el resultado k pone es siempre 0.000 muchos ceros mas y no se porke.

aki va el codigo por ahora solo hice la primera opcion y la probe haber si funcionaba y no va.

y tengo los getchars ahi porke si no no esparaba para poner los datos con un getchar en cada uno tampoco.

He abierto un archivo nuevo y lo copie y pegue luego lo compile y ya va

#include <iostream>
#include <stdlib.h>
#include <conio.h>
 
int main()
{
    int opcion;
   textbackground(3);
   textcolor(WHITE);
   clrscr();
   gotoxy(1,1);
   cprintf("Bienvenido seleccione la opcion que prefieres.");
   gotoxy(15,10);
   printf("1 Calcular la energia cinetica");
   gotoxy(15,11);
   printf("2 Calcular energia potencial");
   gotoxy(11,12);
   scanf("%i", &opcion);
   if (opcion == 1 )
      {
              float masa, velocidad, velocidad_elevada, resultado;
              system("cls");
              printf("Introduce la masa en kg ");
              scanf("&f",masa);
              getchar();
              getchar();
              printf("Introduce la velocidad en m/s");
              scanf("&f",velocidad);
              getchar();
              getchar();
              velocidad_elevada = velocidad * velocidad;
              resultado = 0.5 * masa * velocidad_elevada;
              printf("El resultado %f",resultado);
 
      }
      system("PAUSE");
   return 0;
}



Anuncios Google

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.
Imagen de Loopin

No se si sera por eso, pero

No se si sera por eso, pero los scanf() estan mal. El primer parametro es para identificar el tipo de dato que es el segundo, puesto que debes pasarle un puntero:

 

scanf("%f",&masa);scanf("%f",&velocidad);
Un saludo!

 


Imagen de anxoganso

,me sigue sin funcionar

,me sigue sin funcionar

Imagen de joserc87

El problema está en

los scanf. Tienes que poner "%f" en el primer parámetro y un & antes de a variable en el segundo parámetro tal y como te ha dicho Loopin:

#include <iostream>
#include <stdlib.h>
#include <conio.h>
 
int main()
{
    int opcion;
   textbackground(3);
   textcolor(WHITE);
   clrscr();
   gotoxy(1,1);
   cprintf("Bienvenido seleccione la opcion que prefieres.");
   gotoxy(15,10);
   printf("1 Calcular la energia cinetica");
   gotoxy(15,11);
   printf("2 Calcular energia potencial");
   gotoxy(11,12);
   scanf("%i", &opcion);
   if (opcion == 1 )
      {
              float masa, velocidad, velocidad_elevada, resultado;
              system("cls");
              printf("Introduce la masa en kg ");
              scanf("%f",&masa);
              getchar();
              getchar();
              printf("Introduce la velocidad en m/s");
              scanf("%f",&velocidad);
              getchar();
              getchar();
              velocidad_elevada = velocidad * velocidad;
              resultado = 0.5 * masa * velocidad_elevada;
              printf("El resultado %f",resultado);
 
      }
      system("PAUSE");
   return 0;
}

Yo lo he probado y funciona (aunque tanto getchar es un poco molesto).


Be pointer my friend...

Dennis Ritchie. Padre de C y cocreador de UNIX.

R.I.P.

 

Imagen de anxoganso

Ya lo cambie y .ada no

Ya lo cambie y .ada no funciona uso dev c++ y en linux con gcc y algunos cambios si k va

Imagen de listopan

Exacto, es eso.Y en el

Exacto, es eso.

Fíjate que antes de la opción sí que lo has puesto.

Y en el primer printf hay una "c" delante.

Imagen de anxoganso

el cprintf es otra función de

el cprintf es otra función de conio.h

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.