Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: angelaguerrero9705 en 14 Noviembre 2016, 01:31 am



Título: como puedo leer la hora para calcular la cantidad de minutos transcurridos
Publicado por: angelaguerrero9705 en 14 Noviembre 2016, 01:31 am
nesecito resolver el siguente ejecicio:
Ingresar los datos un servicio de parqueadero con los datos (placa de vehículo,
hora de entrada, hora de salida), donde el valor de la hora es de 4000 pesos. Se
debe mostrar el listado de los vehiculos, el valor de cada servicio y el total
recaudado. Se debe capturar la hora del sistema para generar la hora de entrada y
la hora de salida. Adicionalmente cuando se va agregar la hora de salida se debe
buscar el vehículo por la placa y actualizar el archivo.

con los siguientes parametros:
Para cada uno de los siguientes casos se deberán registrar los datos en un archivo
de texto Origen, presentando en un menú las siguientes opciones: Ingresar Datos,
Buscar Datos, Mostrar Listado y generar archivo final. Todos los programas deben
tener los siguientes procedimientos y funciones además de los específicos.

y las siguientes funciones :
LeerDatos:
*Llena los arreglos requeridos con los datos digitados por el usuario
(recive)vectores/matrices y tamaño
no retorna nada

MostrarDatos:
*Muestra en pantalla los datos del archivo.
(recive) vectores/matrices y tamaño -
no retorna

GuardarDatos:
 Guarda los datos de los arreglos en el archivo
(recive) vectores/matrices y tamaño
no retorna

Buscar:
Busca los datos de un elemento específico y retorna todos los elementos encontrados o de lo contrario retorna "no encontrado"
(recive) un conjunto de caractere correspondiente al criterio a buscar ej: codigo
(retorna) un conjunto de caracteres que corresponde a todo el registro del dato encontrado o frase no encontrado

cantMinutos:
Genera la cantidad de minutos transcurridos entre la hora de entrada y la hora
de salida
(recive) hora y minutos de entrada, hora y minutos de salida
(retorna) cantidad de Minutos de parqueo

valServicio:
Genera el valor del servicio de parqueo de un vehículo según los minutos transcurridos.
(recive) cantidad de Minutos
(retorna) Valor del servicio de parqueo



gracias



Título: Re: programa c++
Publicado por: engel lex en 14 Noviembre 2016, 01:32 am
no se hacen tareas se resuelven dudas... muestra lo que llevas hecho y realiza dudas puntuales y especificas sobre el tema para ayudarte


Título: Re: programa c++
Publicado por: angelaguerrero9705 en 14 Noviembre 2016, 01:38 am
Código
  1. #include "iostream"
  2. #include <conio.h>
  3. #include <stdio.h>
  4. #include <time.h>
  5. #include <fstream>
  6. #include <stdlib.h>
  7. #define tamf 1
  8. #define tamc 2
  9. using namespace std;
  10. void llenarME(string[], int Hora[][tamc]);
  11. void llenarMS(int Hora[][tamc]);
  12. void mostrarME(string[], int Hora[][tamc]);
  13. int main()
  14. {
  15.    string Placa[tamf];
  16.    int M[tamf][tamc];
  17. llenarME(Placa,M);
  18. system("pause");
  19. return 1;
  20. }            
  21. void llenarME(string placa[], int Hora[][tamc])
  22. {
  23. char resp;
  24. int fila=0,i=0;
  25. cout<<"Placa: ";
  26. cin>>placa[fila];
  27.    struct tm *tiempo;
  28.        time_t hora_Sistema;
  29.        time(&hora_Sistema);
  30.        tiempo=localtime(&hora_Sistema);
  31.    getch();
  32. Hora[fila][0] =tiempo ->tm_hour;
  33. Hora[fila][1] =tiempo ->tm_min;
  34. printf("Hora de entrada: %d:%d \n",Hora[fila][0],Hora[fila][1]);
  35. fila++;
  36. fflush(stdin);
  37. ofstream archW;
  38. ifstream archR;
  39. for(int i=0;i<tamf;i++)
  40. {
  41. cout<<placa[i]<<"\t";
  42. for(int j=0;j<tamc;j++)
  43. {
  44. printf(" %d \t",Hora[i][j]);
  45. }
  46. printf("\n");
  47. }
  48. archR.open("destino.txt");
  49. archW.open("Base de datos.txt");
  50. if ((archW.fail())or(archR.fail()))
  51. {
  52. cout<<"Error al abrir archivo..."<<endl;
  53. exit(1);
  54. }
  55. else
  56. {
  57. for(int i=0;i<tamf;i++)
  58. {
  59. archW<<placa[i]<<"\t";
  60. cout<<"Se Guardo "<<placa[i]<<"\t";
  61. for(int j=0;j<tamc;j++)
  62. {
  63. archW<<Hora[i][j]<<"\t";
  64. cout<<Hora[i][j]<<"\t";
  65. }
  66. cout<<"\n";
  67. }
  68.  archW.close();
  69. }
  70. }
  71. void llenarMS(int Hora[][tamc])
  72. {
  73. int fila=0,i=0;
  74.    struct tm *tiempo;
  75.        time_t hora_Sistema;
  76.        time(&hora_Sistema);
  77.        tiempo=localtime(&hora_Sistema);
  78.    getch();
  79. Hora[fila][0] =tiempo ->tm_hour;
  80. Hora[fila][1] =tiempo ->tm_min;
  81. printf("Hora de salida: %d:%d \n",Hora[fila][0],Hora[fila][1]);
  82. fila++;
  83. fflush(stdin);
  84. ofstream archW;
  85. ifstream archR;
  86. archR.open("destino.txt");
  87. archW.open("Base de datos.txt");
  88. if ((archW.fail())or(archR.fail()))
  89. {
  90. cout<<"Error al abrir archivo..."<<endl;
  91. exit(1);
  92. }
  93. else
  94. {
  95. for(int i=0;i<tamf;i++)
  96. {
  97. for(int j=0;j<tamc;j++)
  98. {
  99. archW<<Hora[i][j]<<"\t";
  100. cout<<Hora[i][j]<<"\t";
  101. }
  102. cout<<"\n";
  103. }
  104.  archW.close();
  105. }
  106. }



basicamente necesito saber como en la funcion cantidad de minutos puedo lleer la hora para calcular la cantidad de minutos transcurridos



Mod: Los códigos deben ir en etiquetas GeSHi, no hagas doble post,, el titulo debe ser descriptivo a la problemática... post corregido


Título: Re: c++
Publicado por: engel lex en 14 Noviembre 2016, 01:47 am
con

Código:
time(&hora_Sistema);

no te funciona?


Título: Re: como puedo leer la hora para calcular la cantidad de minutos transcurridos
Publicado por: angelaguerrero9705 en 14 Noviembre 2016, 02:03 am
no la hora de entrada y salida es directamente del sistema
no es digitada por el usuario


Título: Re: como puedo leer la hora para calcular la cantidad de minutos transcurridos
Publicado por: engel lex en 14 Noviembre 2016, 02:16 am
Citar
no la hora de entrada y salida es directamente del sistema
no es digitada por el usuario

no estoy si la hora la digita el usuario o si no entiendes como usar la función de time (por donde se vea le falta alguna coma para darle sentido recomiendo leer La riqueza de la coma (http://www.oceantranslations.com/_wp/wp-content/uploads/2014/02/image007-560x515.jpg))

time te retorna en tiempo actual en segundos (hora unix)... si quieres convertirlo a hora real, puedes usar strftime... si quieres tener cuanto tiempo ha pasado desde un tiempo a otro, solo restas los tiempos y conviertes por metodo normal (dividiendo entre 60)