Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: djdac3 en 16 Septiembre 2012, 02:32 am



Título: Duda
Publicado por: djdac3 en 16 Septiembre 2012, 02:32 am
Quisiera saber porque hay error, no entiendo que es lo que causa el error en este código.

#include <iostream>
#include <stdlib.h>
#include <conio.h>

using namespace std;

float temperatura(float cel){

    float tempf;
    tempf=(cel+32)(9/5);
    return tempf;
}


int main()
{

    float cel,gf;

    cout<<"ESTE PROGRAMA PASARA DE GRADOS CELCIUS A FARENHEIT"<<endl;
    getc();
    system("cls");

    cout<<"Ingrese la tenperatura en celcius"<<endl;
    cin>>cel;

    fg=f(cel);

    system("cls");
    cout<<"La temperatura en farenheit es de: "<<gf<<endl;

}


Título: Re: Duda
Publicado por: avesudra en 16 Septiembre 2012, 02:55 am
No hagas las cosas a la ligera , respeta los operadores de multiplicación , no estás haciendo una tarea de matematicas en la que no se pone el · para multiplicar porque se presupone... Respeta los nombres de las variables y funciones... pégate un buen repaso a un libro y mira todos los comentarios del código corregido, y la proxima vez que publiques un código enciérralo con las etiquetas GeSHi para que se vea así:
Código
  1. #include <iostream>
  2. #include <stdlib.h>
  3.  
  4. //#include <conio.h> no deberías de incluirla no es portable y es solo para windows
  5. using namespace std;
  6.  
  7. float temperatura(float cel){
  8.  
  9.    float tempf;
  10.    //tempf=(cel+32)(9/5);¿Y el operador de multiplicación?
  11.    tempf=(cel*(1.8))+32;//El operador de multiplicación te lo habias comido.
  12.    return tempf;
  13. }
  14.  
  15.  
  16. int main()
  17. {
  18.  
  19.    float cel,gf;//A la variable gf , le has dado 4000 nombres...
  20.  
  21.    cout<<"ESTE PROGRAMA PASARA DE GRADOS CELCIUS A FARENHEIT"<<endl;
  22.    //getc();No estaba definida
  23.    cout<<"Pulsa intro para continuar . . ."<<endl;
  24.    cin.peek();
  25.    system("cls");
  26.  
  27.    cout<<"Ingrese la tenperatura en celcius"<<endl;
  28.    cin>>cel;
  29.    //fg=f(cel); Intentas asignar a una variable no definida el retorno de una función que no existe...
  30.    gf=temperatura(cel);
  31.  
  32.    system("cls");
  33.    cout<<"La temperatura en farenheit es de: "<<gf<<endl;
  34.    return 0;//Esto es importante para indicar que el proceso ha terminado con éxito.
  35. }
¡Un saludo y bienvenido al foro!


Título: Re: Duda
Publicado por: djdac3 en 16 Septiembre 2012, 03:02 am
Gracias, yo no se mucho c++, solo lo básico que aprendí antes de cambiarme de carrera, actualmente estoy haciendo un curso virtual y no explican mucho que digamos. Muchas gracias


Título: Re: Duda
Publicado por: avesudra en 16 Septiembre 2012, 03:08 am
Gracias, yo no se mucho c++, solo lo básico que aprendí antes de cambiarme de carrera, actualmente estoy haciendo un curso virtual y no explican mucho que digamos. Muchas gracias
Una cosa que me faltó decirte , en el algoritmo de conversión de Centígrados a Farenheit , se multiplica primero y se suma después , o sea la línea en la función quedaría así:
Código
  1. tempf=(cel*(1.8))+32;//El operador de multiplicación te lo habias comido.

Si no te explican mucho , reclama, o lee un libro , hay un tema en este subforo con muchos libros y si tienes dudas pregunta  :D

¡Un saludo!