ok???

#include "iostream.h"
#include "string.h"
#include "stdlib.h"
struct datos
{
char nombre[20];
char apellido[20];
int edad;
float salario;
float bono;
float h_trabajadas;
float h_extras;
};
void llenar(datos vector[],FILE *archivo, int nro)
{
archivo=fopen("empresa.txt","a+");
int cont;
for (cont=0;cont<nro;cont++)
{
cout<<"\n\n------------INGRESE SUS DATOS CORRESPONDIENTES--------------\n\n";
cout<< "Ingrese el nombre: ";
cin>>vector[cont].nombre;
cout<< "Ingrese el apellido: ";
cin>>vector[cont].apellido;
cout<< "Ingrese la edad: ";
cin>>vector[cont].edad;
cout<< "Ingrese el salario: ";
cin>>vector[cont].salario;
cout<< "Ingrese el bono : ";
cin>>vector[cont].bono;
cout<< "Ingrese las horas trabajadas: ";
cin>>vector[cont].h_trabajadas;
cout<< "Ingrese horas extras: ";
cin>>vector[cont].h_extras;
fprintf(archivo, "%s %s %d %f %f %f %d\n",vector[cont].nombre,vector[cont].apellido,vector[cont].edad,vector[cont].salario,vector[cont].h_trabajadas,vector[cont].h_extras);
}
fclose(archivo);
}
void cantidad(int *nro)
{
cout<< "Ingrese la cantidad de pesonas:";
cin>>*nro;
}
void crear(FILE *archivo)
{
archivo=fopen("empresa.txt","w+");
fclose(archivo);
}
void menu(int *opc)
{
cout<<"\n\n--------ELIJA ENTRE EL 1 a 4 ---------------\n\n";
cout<<"1. Crear Archivo\n";
cout<<"2. Catidad de datos\n";
cout<<"3. Imprimr Datos\n";
cout<<"4. Salir\n";
cout<<"Ingrese la opcion: ";
cin>>*opc;
}
void menu2(int *opc1)
{
cout<<"1. las personas q ganan mas de 500\n";
cout<<"2. Las personas con bono mas de 125.25\n";
cout<<"3. las horas extras trabajadas\n";
cout<<"4. EL sueldo\n";
cout<<"Ingrese la opcion: ";
cin>>*opc1;
}
void reportes(FILE *archivo, datos vector[])
{
archivo=fopen("empresa.txt","r");
int opc1;
int cont=0;
int n;
menu2(&opc1);
switch(opc1)
{
case 1:
//mayores a 500
{
while (!feof(archivo))
{
fscanf(archivo, "%s %s %d %f %f %f %d\n",vector[cont].nombre,vector[cont].apellido,vector[cont].edad,vector[cont].salario,vector[cont].h_extras,vector[cont].h_trabajadas);
cont++;
}
int cont2;
for(cont2=0;cont2<cont;cont2++)
{
if(vector[cont2].salario>500)
{
printf("%s %s %f",vector[cont2].nombre, vector[cont2].apellido,vector[cont2].salario );
}
}
}
break;
case 2:
while (!feof(archivo))
{
fscanf(archivo, "%s %s %d %f %f %f %d",vector[cont].nombre,vector[cont].apellido,vector[cont].edad,vector[cont].salario,vector[cont].h_extras,vector[cont].h_trabajadas);
cont++;
}
int cont2;
for(cont2=0;cont2<cont;cont2++)
{
if(vector[cont2].salario>125.25)
{
printf("%s %s %f",vector[cont2].nombre, vector[cont2].apellido,vector[cont2].bono );
}
}
break;
case 3:
while (!feof(archivo))
{
fscanf(archivo, "%s %s %d %f %f %f %d",vector[cont].nombre,vector[cont].apellido,vector[cont].edad,vector[cont].salario,vector[cont].h_extras,vector[cont].h_trabajadas);
cont++;
}
for(cont2=0;cont2<cont;cont2++)
{
if(vector[cont2].h_extras>20)
{
float t;
t=vector[cont2].h_extras*0.50;
printf("%s %s %f",vector[cont2].nombre, vector[cont2].apellido,t );
}
if(vector[cont2].h_extras>10)
{
float t;
t=vector[cont2].h_extras*0.25;
printf("%s %s %f",vector[cont2].nombre, vector[cont2].apellido,t );
}
}
break;
case 4:
{
while (!feof(archivo))
{
fscanf(archivo, "%s %s %d %f %f %f %d",vector[cont].nombre,vector[cont].apellido,vector[cont].edad,vector[cont].salario,vector[cont].h_extras,vector[cont].h_trabajadas);
cont++;
}
int cont2;
for(cont2=0;cont2<cont;cont2++)
{
float tg;
tg= vector[cont2].salario + 1.25 * vector[cont2].h_trabajadas + vector[cont2].bono *vector[cont2].h_extras;
printf("%s %s %f %f %f\n\n",vector[cont2].nombre, vector[cont2].apellido,vector[cont2].salario,vector[cont2].bono,tg );
}
}
break;
default:
cout<<"Ingrese un valor entre 1 y 4\n";
break;
}
}
void main()
{
datos vector[100];
FILE *archivo;
//int opc1;
int n;
int opc;
do
{
menu(&opc);
switch(opc)
{
case 1:
crear(archivo);
break;
case 2:
cantidad(&n);
llenar(vector,archivo, n);
// menu2(*opc1);
break;
case 3:
reportes(archivo,vector);
break;
case 4:
cout<<"Gracias....\n";
break;
default:
cout<<"Ingrese un valor entre 1 y 4\n";
break;
}
}
while (opc != 4);
}