Introducir un caracter como variable.

Iniciado por skullmang, 7 Octubre 2018, 18:50 PM

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

skullmang

Mis disculpas, no sé exactamente como expresar mi inquietud a través del título. Comienzo a programar en C++ (es mi primer lenguaje, xD) y tengo el siguiente problema:

Estoy realizando el siguiente programa:

Código (cpp) [Seleccionar]

//Haga un programa que ingrese la hora (HH:MM) a la que se ingresa una torta al horno
//, el tiempo de coccion  y el meridiano (AM/PM). Tiene que imprimir la hora a la que la torta
//se debe sacar del horno junto al meridiano actualizado.


Es obvio que tengo que agregar un char que indique si es AM o PM. Lo hice como pude y como salió de mi cabeza, pero no se si es lo correcto o si es lo optimo. Oh, hay un limite o condición. Solo puedo usar las librerias que ven y la sentencia IF


Les agradecería su ayuda n.n.
Si no les molesta aprovecharé este post para comentar otras inquietudes.

Aquí el programa que hice:


Código (cpp) [Seleccionar]

//Haga un programa que ingrese la hora (HH:MM) a la que se ingresa una torta al horno
//, el tiempo de cocción  y el meridiano (AM/PM). Tiene que imprimir la hora a la que la torta
//se debe sacar del horno junto al meridiano actualizado.
#include <iostream>
#include <conio.h>
#include <stdio.h>
using namespace std;
int main ()
{
int hor, min, hors, mins, mincoc;
char car; 

printf ("Escribe el meridiano a (AM) o p (PM): ");
car=getchar();

printf ("\n\nIngrese la hora (AM/PM): ");
scanf ("%d", &hor);

printf ("\n\nIngrese los minutos (AM/PM): ");
scanf ("%d", &min);

if ((car=='a' || car=='p') && (hor<13 || min<60) )
{
cout<<endl<<endl<<"Son las "<<hor<<":"<<min<<" "<<car<<endl<<endl<<"Ingrese los minutos de cocción: ";

cin>>mincoc;
mins=min+mincoc;

if (mins>=60)
{hors=hor+(mins/60);
mins%=60;}

if (hor==12)
{
if (hors>12)
{hors%=12;}

printf ("Saque el pastel a las %d:%02d %c", hors, mins, car);
}
else
{
if (hors>12)
{hors%=12;}

if (hors>=12)
{
if (car=='a')
car='p';
else
car='a';
}

printf ("Saque el pastel a las %d:%02d %c", hors, mins, car);
}
}
else
cout<<endl<<endl<<"Ingreso el meridiano de forma incorrecta, la hora en formato 24h, o se excedió en los minutos.";

}



Si no les molesta aprovecharé este post para comentar otras inquietudes a medida que surjan.