[SOLUCIONADO] Ayuda en script C++

Iniciado por Stakewinner00, 4 Agosto 2012, 19:47 PM

0 Miembros y 1 Visitante están viendo este tema.

Stakewinner00

Hola que tal buenas
tengo otro peqeuó problemilla con c++

quiero hacer un script que transforme numeros decimales a fracciones. POR EJEMPLO DE 0.5 a 5/10 = 1/2
el problema es que en if ((b<0,11)&&(b>0,1)) { no hace bien la comparacion y probado de cambiar la coma y de todo pero no he averiguado que le pasa aqui hay el codigo entero

#include <iostream>
#include <string>
#define cls string limpiarpantalla="cls";+system(limpiarpantalla.c_str ());

using namespace std;

//Pasa numeros decimales a fraccions
int simplifica(float n, float nn) {
float kk,k,a,s,ss = 0;
for (int i=1;i<10;i++) {
s = n/i;
ss = nn/i;
k=0;
k=ss-int(ss);
kk=s-int(s);
if ((k<1)&&(k>0)) {
} else if ((kk>0)&&(kk<1)) {
} else {
cout << endl << s << "/" << ss << endl;
}
}
}


int main () {
float a,b,r1;
cin >> a;
b=a-int(a);
cls
cout << b << endl;
if ((b<0,11)&&(b>0,1)) {
  cout << a << " = " << a*10 << "/" << 10 << endl;
r1=a*10;
simplifica(r1, 10);
} else if ((b<0,101)&&(b>0,11)) {
  cout << a << " = " << a*100 << "/" << 100 << endl;
r1=a*100;
simplifica(r1, 100);
}

}


MUCHAS GRACIAS
PD:Si no me explique bien perdonenme  :P

avesudra

#1
Cita de: Stakewinner00 en  4 Agosto 2012, 19:47 PM
Hola que tal buenas
tengo otro peqeuó problemilla con c++

quiero hacer un script ...
¿Un script en C++? C++ es un lenguaje compilado no de scripting... En cuanto a la comparación del if ¿en pseudocódigo cual es?(vamos que que es lo que quieres comprobar en esa comparación).Ahhhhhh ya se lo que te pasa , es muy simple si quieres comparar numeros con punto flotante, la coma en el habla española es el separador para los decimales y el punto para los miles , pero para paises de habla anglosajona es completamente al revés y como el lenguaje de programación C++ está en ingles.. :
Código (cpp) [Seleccionar]
if(b<0.11 && b>0.1)
{
//Aqui el codigo
}

PD: Publica el código con las etiquetas GeSHi que colorea el código y se vé mejor.
Regístrate en

Stakewinner00

Ok gracias por la info y perdon por no explicarme bien y lso errores  :D

Stakewinner00

YA consegui lo k keria pero de una forma distinta lo publico por si a alguien le interesa

Código (cpp) [Seleccionar]
#include <iostream>
#include <string>
#define cls string limpiarpantalla="cls";+system(limpiarpantalla.c_str ());

using namespace std;

//Pasa numeros decimales a fraccions
int simplifica(float n, float nn) {
float kk,k,a,s,ss = 0;
for (int i=1;i<10;i++) {
s = n/i;
ss = nn/i;
k=0;
k=ss-int(ss);
kk=s-int(s);
if ((k<1)&&(k>0)) {
} else if ((kk>0)&&(kk<1)) {
} else {
cout << endl << s << "/" << ss << endl;
}
}
}


int main () {
float a,b,r1;
int d;
d=1;
cin >> a;
b=int(a)-a;

while (b!=0) {
a=a*10;
d = d * 10;
b=int(a)-a;
}

cls
simplifica(a, d);

}