› Foros › PC › Software libre
#include <iostream>
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
int main()
{
float Celsius,Faren,Kelvin;
int x,y;
using std::cout;
using std::cin;
/*Aqui estan representadas todas las variables y el bucle while junto a los archivos para el preprocesador*/
system("COLOR 0A");
do{
cout <<" --------------------------------------------------\n";
cout <<" | CONVERSOR DE GRADOS V.4 BY JOSELETE |\n";
cout <<" --------------------------------------------------\n";
//Es mi conversor,un programa de Joselete para ayudar a la gente en apuros con las temperaturas ^^
cout <<" ---------------------------------------------------- \n";
cout <<" |Inserte 0 si quiere pasar de Farenheit a Celsius |\n";
cout <<" |Inserte 1 si quiere pasar de Celsius a Farenheit |\n";
cout <<" |Inserte 2 si quiere pasar de Celsius a Kelvin |\n";
cout <<" |Inserte 3 si quiere pasar de Kelvin a Celsius |\n";
cout <<" |Inserte 5 si quiere pasar de Kelvin a Farenheit |\n";
cout <<" |Inserte 6 si quiere tener informacion sobre mi |\n";
cout <<" |Inserte 7 si lo que desea es salir |\n";
cout <<" ---------------------------------------------------- \n";
cin >>x;
switch(x)
{
case 0:
cout <<"\nInserte la temperatura en grados Farenheit\n\n";//inserta la temperatura
cin >>Faren;//lo reconoce en pantalla
Celsius = ( Faren - 32 ) * 5/9;//formula de Farenheit a Celsius
cout <<"\nSu temperatura en grados celsius es: \t" <<Celsius <<"\n\n";//En esta linea se muestra el resultado
cout <<"Pulse una tecla para continuar\n";
getch();
system("cls");
break;
case 1:
cout <<"\nInserte la temperatura en grados Celsius\n\n";//inserta la temperatura
cin >>Celsius;//lo reconoce en pantalla
Faren = Celsius * 9/5 + 32;//formula de Celsius a Farenheit
cout <<"\nSu temperatura en grados Farenheit es: \t" <<Faren <<"\n\n"; //En esta linea se muestra el resultado
cout <<"Pulse una tecla para continuar\n";
getch();
system("cls");
break;
case 2:
cout <<"\nInserte la temperatura en grados Celsius\n\n";//inserta la temperatura
cin >>Celsius;//lo reconoce en pantalla
Kelvin = Celsius + 273.15;//formula de celsius a Kelvin
cout <<"\nSu temperatura en grados Kelvin es: \t" <<Kelvin <<"\n\n";//En esta linea se muestra el resultado
cout <<"Pulse una tecla para continuar\n";
getch();
system("cls");
break;
case 3:
cout <<"\nInserte la temperatura en grados Kelvin\n\n";//inserta la temperatura
cin >>Kelvin;//lo reconoce en pantalla
Celsius = Kelvin - 273.15;//formula de Kelvin a Celsius
cout <<"\nSu temperatura en grados Celsius es: \t" <<Celsius <<"\n\n";//En esta linea se muestra el resultado
cout <<"Pulse una tecla para continuar\n";
getch();
system("cls");
break;
case 4:
cout <<"\nInserte la temperatura en grados Farenheit\n\n";//inserta la temperatura
cin >>Faren;//lo reconoce en pantalla
Kelvin = (Faren + 459.67) / 1.8; //formula de Farenheit a Kelvin
cout <<"\nSu temperatura en grados Kelvin es: \t" <<Kelvin <<"\n\n";//En esta linea se muestra el resultado
cout <<"Pulse una tecla para continuar\n";
getch();
system("cls");
break;
case 5:
cout <<"\nInserte la temperatura en grados Kelvin\n\n";//inserta la temperatura
cin >>Kelvin;//lo reconoce en pantalla
Faren = Kelvin * 1.8 - 459.67;//formula de Kelvin a Farenheit
cout <<"\nSu temperatura en grados Farenheit es: \t" <<Faren <<"\n\n"; //En esta linea se muestra el resultado
cout <<"Pulse una tecla para continuar\n";
getch();
system("cls");
break;
case 6:
cout <<"\nHola,me llamo Jose Angel Gonzalez y este es uno de mis programas acabados\n";
cout <<"\nSoy estudiante de 4 de ESO en el Instituto San Jaime Apostol (Moncada)";
cout <<"\nTengo 15 a\xa4os y mi sue\xa4o es ser programador,si quieres contactar conmigo\n";
cout <<"\nEste es mi msn: Joselete-11@hotmail.com.Gracias por usar mi programa\n";
cout <<"Pulse una tecla para continuar\n";
getch();
system("cls");
break;
case 7:
exit(0);
break;
default: //SI SE PRESIONA OTRO NUMERO DIFERENTE
printf("ESE NUMERO NO ESTA PERMITIDO!HUM!\n");
cout <<"Pulse una tecla para continuar\n";
getch();
system("cls");
break;
}
}while(x!=y);
getch();
return 0;
}
char[] x="200";
int num=x[0] * 100 + x[1] *10 + x[3]
int x;
std::cin >> x;
ya que 1 es el valor que representa un sí lógico
Ferdy escribió:Wow... no le mareeis:int x;
std::cin >> x;
Eso es perfectamente válido. Y hace lo que cualquiera esperaría que hiciera. No hay que hacer historias de ningún tipo como le estais diciendo.
Saludos.
Ferdy escribió:ya que 1 es el valor que representa un sí lógico
Para nada. 0 representa falso, cualquier otra cosa es verdadero.
Hola,
Por un lado, en la condición del blucle do..while estás comparando las variables x e y, pero ésta última (aparte de no usarla para nada) ni siquiera la has inicializado. ¿Para qué se supone que la usas? Si lo que quieres es un bucle infinito, puedes usar una estructura como while(1) { ... } ó bien do { ... } while(1);, que se repetirá siempre, ya que 1 es el valor que representa un sí lógico y en consecuencia la condición se evaluará siempre como cierta. Nota: si haces eso, debes asegurarte siempre que puedes finalizar el bucle desde dentro, con alguno de los casos (como ya haces pulsando '7').
Por otro lado, quizás te convendría definir x como char en lugar de int, y utilizar en los case su valor literal (es decir entre comillas simples). De ese modo, discriminas en el default cualquier caracter distinto a los que quieras evaluar en el resto de case, incluyendo letras u otros símbolos. Algo del esito: switch(x) { case '0': ... break; case '1': ... }
Un saludo.
xzibit escribió:¿El C/C++ considera lógicas como la ternaria (sin que la implementemos nosotros, me refiero al lenguaje en si)?
#include <iostream>
#include <sstream>
#include <string>
using namespace std;
.....
string str;
float celcius;
...
cin >> str;
istringstream ss(str);
ss >> celcius;
if(!ss.eof()) {
cout << "Error" << endl;
}
Ferdy escribió:xzibit escribió:¿El C/C++ considera lógicas como la ternaria (sin que la implementemos nosotros, me refiero al lenguaje en si)?
Si te refieres a si las expresiones pueden ser verdaderas, falsas o un tercer estado. No.
Si te refieres a si existe la expresión ?:, entonces si.
- ferdy
Joselete-11@hotmail.com
xzibit escribió:Era una pregunta retórica dirigida a Deschamps
joseletonix escribió:Por cierto,os estaría muy agradecido,si hay algun programador o experto en C++ por aqui que me agregaseis al msn y asi os puedo pedir consejo y ayuda,además que tengo unas preguntas que estoy deseando preguntárselas a alguien que entienda V_V
xzibit escribió:Era una pregunta retórica dirigida a Deschamps
Pero no sé hasta que punto tiene sentido querer "sacarle punta" a esto.
An rvalue of arithmetic, enumeration, pointer, or pointer to member type can be converted to an rvalue of type bool. A zero value, null pointer value, or null member pointer value is converted to false; any other value is converted to true.
Using a bool value in ways described by this International Standard as ‘‘undefined,’’ such as by examining the value of an uninitialized automatic variable, might cause it to behave as if is neither true nor false