Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: Mafoga en 13 Enero 2018, 08:09 am



Título: duda en C para principiantes
Publicado por: Mafoga en 13 Enero 2018, 08:09 am
Código
  1. //convertir grados celsius en grados fahrenheit
  2.  
  3. #include<stdio.h>
  4. int main(){
  5.  
  6. float ºC , ºF;
  7.  
  8.    ºF = (ºC+1.8)+32;
  9. printf("dime grado celsius: ");
  10. scan("%.2f",&ºC);
  11.  
  12.  
  13.  
  14. printf("/nEl grado en fahrenheits es: ", ºF);
  15. scan("%.2f",&ºF);
  16.  
  17.  
  18.  
  19. return 0;
  20. }

Se que fallo en el float pero no se exactamente que hacer, seria de gran ayuda que me ayudaseis ya que estoy aprendiendo por mi cuenta y tengo ganas y curiosidad por saber mas sobre programacion


Título: Re: duda en C para principiantes
Publicado por: engel lex en 13 Enero 2018, 13:13 pm
Tema modificado, por favor recuerda usar las etiquetas GeSHi


Sobre tu código, primero que nada, las variables nunca deben comenzar en algo diferente a una letra y nunca deben usar símbolos especiales a parte del _

La fórmula está mal, la conversión a farenheit lleva una multiplicación, aquí sólo sumas 2 veces

Por otro lado la lógica del programa está mal, primero haces el cálculo luego preguntas el valor inicial, esto es como si un mesero te trajera la cuenta junto el menúeñbmeni y después tu pidas


Título: Re: duda en C para principiantes
Publicado por: Mafoga en 13 Enero 2018, 14:43 pm
gracias por las aclaraciones, lo de la formula lo sabia que era multiplicacion pero no me he dado cuenta de que puse sin querer una suma en vez de la multiplicacion, lo del orden de pedir numero y todo eso es como estoy viendo y como aprendiendo en una web, por lo visto no muy buena si me dices que estoy siendo mal enseñado jaja


Título: Re: duda en C para principiantes
Publicado por: engel lex en 13 Enero 2018, 14:49 pm
te explico... siempre en codigo tienes que imaginarte un cursor que va avanzando linea a linea siempre hacia abajo, unicamente las estructuras de control hacen que salte a otro punto

tu programa lee primerola declaración de los float, luego realiza el calculo entonces imprime en pantalla y luego lee desde la entrada standard, entonces repite esto (con farenheit) y finaliza

en este caso ese mismo orden que está escrito es en el que se comporta, no hay desvios ni dudas