Necesito ayuda con un programa
Publicado por Juan (4 intervenciones) el 08/02/2019 13:12:36
Buenos días comunidad, estoy empezando en C++ y haciendo distintas pruebas con programas simples, hace un par de días empece a hacer uno muy básico que consta en pedir cierto tipo de datos y luego arrojar un resumen de los datos ingresados. El problema que tengo es que quiero que al ingresar de manera errónea un dato, me pida nuevamente el dato, por ejemplo que tenga más números de los que indico que debe tener o contiene caracteres que no corresponden. Y lo otro, quiero que al final salga la hora (o fecha completa en que se hizo el registro), con el código que tengo ahora solo yo puedo ingresar la hora, me gustaría que lo hiciera automáticamente.
De antemano, muchas gracias por sus sugerencias.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
#include "iostream"
#include "string"
#include <math.h>
#include <conio.h>
using namespace std;
#include <string.h>
#include <iostream>
using namespace std;
int main()
{
cout <<("Ingrese hora del registro (HH:MM) ... \n");
string hora;
cin >> hora;
cout <<("Hola! Por favor ingrese su nombre ....\n");
string cadena = "Hola";//Se le da un valor inicial al string
string nombre;//Esta cadena contendra el nombre
cin >> nombre;//Se lee el nombre
cadena = cadena + " " + nombre;//Se juntan el saludo con el nombre usando "+"
//cout <<(cadena) << endl;//Se muestra el resultado final
cout <<("Ingresa tu apellido ...\n");
string apellido;
cin >> apellido;
cadena = cadena + " " + apellido;
cadena = cadena + "," + " " + "sus datos ingresados son los siguiente:";
//cout <<(cadena) << endl;//Se muestra el resultado final
cout <<("Ingresa su RUT, sin puntos ni digito verificador ...\n");
int rut;
cin >> rut;
if ((rut < 1000000) | (rut > 25000000))
{
cout <<("El valor ingresado no es valido, intente nuevamente ...\n");
cin >> rut;
}
//cout <<(rut) << endl;//Se muestra el resultado final
cout <<("Ingresa su Numero de Telefono, de 9 digitos ...\n");
int telefono;
cin >> telefono;
if ((telefono < 900000000) | (telefono > 999999999))
{
cout <<("El valor ingresado no es valido, intente nuevamente ...\n");
cin >> telefono;
}
//cout <<(cadena) << endl <<"Su rut es... " <<(rut) << endl <<"Su telefono es... " <<(telefono);//Se muestra el resultado final
cout <<("Ingresa el lugar a donde te diriges ...\n");
string lugar;
cin >> lugar;
//cout <<(cadena) << endl <<"Su rut es... " <<(rut) << endl <<"Su telefono es... " <<(telefono) << endl <<"Se dirige a... " <<(lugar);//Se muestra el resultado final
cout <<("Se transporta en vehiculo particular? ...\n");
string vehiculo;
cin >> vehiculo;
//cout <<(cadena) << endl <<"Su rut es... " <<(rut) << endl <<"Su telefono es... " <<(telefono) << endl <<"Se dirige a... " <<(lugar) << endl <<"Se transporta en vehiculo particular?... " <<(vehiculo);//Se muestra el resultado final
if ((vehiculo == "SI") | (vehiculo == "Si") | (vehiculo == "si"))
{
cout <<("Ingrese la patente de su vehiculo ...\n");
string patente;
cin >> patente;
cout <<(cadena) << endl <<"Su rut es... " <<(rut) << endl <<"Su telefono es... " <<(telefono) << endl <<"Se dirige a... " <<(lugar) << endl <<"Se transporta en vehiculo particular?... " <<(vehiculo) << endl <<"La patente del vehiculo es... " << (patente) << endl << "Hora del registro: " << hora << " hrs.";//Se muestra el resultado final
}
else
cout <<(cadena) << endl <<"Su rut es... " <<(rut) << endl <<"Su telefono es... " <<(telefono) << endl <<"Se dirige a... " <<(lugar) << endl <<"Se transporta en vehiculo particular?... " <<(vehiculo) << endl << "Hora del registro: " << hora << " hrs.";//Se muestra el resultado final
return 0;
}
De antemano, muchas gracias por sus sugerencias.
Valora esta pregunta


0