
Ciclo IF no funciona!!!
Publicado por Jose Rodriguez (2 intervenciones) el 20/03/2011 03:32:33
Amigos (as):
Soy nuevo en esto: Estoy en el Básico, asi que me mandaron una tarea y la hice de esta manera, pero aunque me funcionó al principio. Cuando la cargue nuevamente en mi máquina para probarlo ahora no me funciona el ciclo IF. Me explico: Si la variable T1 y T2 de cadenas son iguales (AM o PM) entonces realiza la operacion señalada, pero SI NO son iguales entonces realiza la otra operación siguiente. Resulta que no importa lo que meta, igual aplica el SINO!!!. Que esta malo? S.O.S.
#include <iostream>
#include <conio.h>
#include <stdio.h>
#include <string>
using namespace std;
int main()
{
int h1,h2,m1,m2,ht,mt,segundosFinales,segundosIniciales,segundosTotales,segaux1,segaux2;
segundosFinales=0; segundosIniciales=0; segaux1=0; segaux2=0;h1=0;h2=0;m1=0;m2=0;ht=0;mt=0;
float montopagar;
float c=1.1, f=0.55;
char T1,T2;
cout << "Ingrese la hora inicial y final en el formato HH:MM:AM ó HH:MM:PM" <<endl ;
cout << "Ingrese la hora inicial: " <<endl;
cin>>(h1);
cout<<"Ingrese los minutos: "<<endl;
cin>>(m1);
cout<<"Ingrese AM o PM según sea el caso: "<<endl;
cin>>(T1);
cout<< "La Hora de entrada es: "<<h1<<":"<<m1<<":"<<T1<<"\n"<<endl;
//Ahora las horas de salida
cout <<"Ingrese la hora de Salida: "<<endl;
cin>>(h2);
cout<<"Ingrese los minutos: "<<endl;
cin>>(m2);
cout<<"Ingrese AM o PM segun sea el caso: "<<endl;
cin>>(T2);
cout<<"La Hora de salida es: "<<h2<<":"<<m2<<":"<<T2<<"\n"<<endl;
if (T2=T1)
{
segundosFinales=((h2*3600)+(m2*60));
segundosIniciales=((h1*3600)+(m1*60));
segundosTotales=(segundosFinales-segundosIniciales);
}
else
{
segundosFinales=((43200+(h2*3600))+(m2*60));
segundosIniciales=((h1*3600)+(m1*60));
segundosTotales=(segundosFinales-segundosIniciales);
}
ht=(segundosTotales/3600);
segaux1=(ht*3600);
segaux2=(segundosTotales-segaux1);
mt=(segaux2/60);
if (mt>30)
{
montopagar=((ht*c)+(f));
}
else
{
montopagar=(ht*c);
}
cout<< "\n El tiempo de estadía en el estacionamiento es: "<<ht<<":"<<mt<<endl;
cout<< "\n El monto a pagar por concepto de estacionamiento es: "<<montopagar<<endl;
getch();
}
Soy nuevo en esto: Estoy en el Básico, asi que me mandaron una tarea y la hice de esta manera, pero aunque me funcionó al principio. Cuando la cargue nuevamente en mi máquina para probarlo ahora no me funciona el ciclo IF. Me explico: Si la variable T1 y T2 de cadenas son iguales (AM o PM) entonces realiza la operacion señalada, pero SI NO son iguales entonces realiza la otra operación siguiente. Resulta que no importa lo que meta, igual aplica el SINO!!!. Que esta malo? S.O.S.
#include <iostream>
#include <conio.h>
#include <stdio.h>
#include <string>
using namespace std;
int main()
{
int h1,h2,m1,m2,ht,mt,segundosFinales,segundosIniciales,segundosTotales,segaux1,segaux2;
segundosFinales=0; segundosIniciales=0; segaux1=0; segaux2=0;h1=0;h2=0;m1=0;m2=0;ht=0;mt=0;
float montopagar;
float c=1.1, f=0.55;
char T1,T2;
cout << "Ingrese la hora inicial y final en el formato HH:MM:AM ó HH:MM:PM" <<endl ;
cout << "Ingrese la hora inicial: " <<endl;
cin>>(h1);
cout<<"Ingrese los minutos: "<<endl;
cin>>(m1);
cout<<"Ingrese AM o PM según sea el caso: "<<endl;
cin>>(T1);
cout<< "La Hora de entrada es: "<<h1<<":"<<m1<<":"<<T1<<"\n"<<endl;
//Ahora las horas de salida
cout <<"Ingrese la hora de Salida: "<<endl;
cin>>(h2);
cout<<"Ingrese los minutos: "<<endl;
cin>>(m2);
cout<<"Ingrese AM o PM segun sea el caso: "<<endl;
cin>>(T2);
cout<<"La Hora de salida es: "<<h2<<":"<<m2<<":"<<T2<<"\n"<<endl;
if (T2=T1)
{
segundosFinales=((h2*3600)+(m2*60));
segundosIniciales=((h1*3600)+(m1*60));
segundosTotales=(segundosFinales-segundosIniciales);
}
else
{
segundosFinales=((43200+(h2*3600))+(m2*60));
segundosIniciales=((h1*3600)+(m1*60));
segundosTotales=(segundosFinales-segundosIniciales);
}
ht=(segundosTotales/3600);
segaux1=(ht*3600);
segaux2=(segundosTotales-segaux1);
mt=(segaux2/60);
if (mt>30)
{
montopagar=((ht*c)+(f));
}
else
{
montopagar=(ht*c);
}
cout<< "\n El tiempo de estadía en el estacionamiento es: "<<ht<<":"<<mt<<endl;
cout<< "\n El monto a pagar por concepto de estacionamiento es: "<<montopagar<<endl;
getch();
}
Valora esta pregunta


0