Donar $20 Donar $50 Donar $100 Donar mensualmente
 


Enviar respuesta 
 
Calificación:
  • 0 votos - 0 Media
  • 1
  • 2
  • 3
  • 4
  • 5
Buscar en el tema
Ayuda TP de algoritmos
Autor Mensaje
lsdr_123 Sin conexión
Empleado del buffet
Sin estado :(
*

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 6
Agradecimientos dados: 4
Agradecimientos: 0 en 0 posts
Registro en: Jun 2014
Mensaje: #1
Ayuda TP de algoritmos Trabajo practico Algoritmos y Estructuras de Datos
Hola estoy con el TP de algoritmos el enunciado es:

Cita:Enunciado
Desarrollar un programa para obtener información sobre la asistencia de un empleado durante un mes. Para esto se requiere la siguiente información:
1. Número de mes y cantidad de días del mes. Esta información debe ingresar desde el teclado.
2. Número de empleado. Es un valor entre 1000 y 5000. Se ingresa por teclado
3. Los registros de asistencia de un empleado. Están un archivo binario cuyo nombre coincide con el número de empleado, seguido de “.dat”, (ejemplo: 2345.dat, 4567.dat). Este archivo está ordenado por el número de día. El diseño es el siguiente:
• DIA
• HORA DE ENTRADA,
• HORA DE SALIDA en formato HHMM

Se pide estrategia y algoritmo (diagrama y codificación en C/C++) para obtener y grabar en un archivo de texto:
1) Días de inasistencia (son los días que no figuran en el archivo).
2) Días que trabajó menos de ocho horas.
3) Cantidad total de horas trabajadas en el mes.
4) Promedio de horas por día (entre los días que trabajó).
5) Desarrollar una función que devuelva las horas trabajadas al pasarle la hora de entrada y la hora de salida.
6) Desarrollar otra función que acumule horas en formato HHMM
Las funciones 5 y 6 deben ser utilizadas en la resolución del problema

Estoy tratando, en primera instancia de leer los datos del archivo binario, pero compila y al ejecutarlo crashea la consola, no tengo ni idea de porque pasa, si alguno tiene idea me salva la vida, gracias de antemano.
El codigo es el siguiente:



#include <iostream>
#include <stdio.h>

using namespace std ;

// estructura de datos de los archivos
typedef char str30[31] ;

struct empl {
int dia ;
string entrada ;
string salida ;
};
// ----------------------------------------------
void mostrarDatos (empl ) ;
void mostrarArchivo(const str30 ) ;
// ----------------------------------------------
int main () {
mostrarArchivo("asisten.dat") ;
} // main
// ----------------------------------------------
void mostrarDatos (empl empleado) {
cout << empleado.dia + " " + empleado.entrada + " " + empleado.salida;
} // mostrarDatos
// ----------------------------------------------
void mostrarArchivo(const str30 nbeArch) {
empl empleado ;
FILE * fichero ;
fichero = fopen(nbeArch, "rb");
if (fichero!=NULL) {
printf("DIA HORA DE ENTRADA HORA DE SALIDA") ;
fread(&empleado, sizeof(empleado), 1, fichero) ;
while (!feof(fichero)){
mostrarDatos (empleado) ;
fread(&empleado, sizeof(empleado), 1, fichero) ;
} // while
fclose(fichero) ;
} else
printf("no existe el archivo %s", nbeArch) ;
}


21-09-2015 10:17
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
Buscar en el tema
Enviar respuesta 




Usuario(s) navegando en este tema: 1 invitado(s)



    This forum uses Lukasz Tkacz MyBB addons.