Buenas gente del foro, tengo un problema. No puedo generar un vector apartir de un archivo.dat. Al compilar me muestra que no tengo errores y cuando lo ejecuto no me aparece nada.
1) Me piden que haga un vector con la cantidad de cada prestamo, luego mostrar por pantalla
2) Que muestre por pantalla, los datos de la gente de misiones que pidieron prestamos personales
3) Que muestre por pantalla, la cantidad de gente de corrientes que pidieron prestamos prendarios.
Muchas gracias desde ya gentes! Espero que no sea tan largo mi codigo
1) Me piden que haga un vector con la cantidad de cada prestamo, luego mostrar por pantalla
2) Que muestre por pantalla, los datos de la gente de misiones que pidieron prestamos personales
3) Que muestre por pantalla, la cantidad de gente de corrientes que pidieron prestamos prendarios.
Muchas gracias desde ya gentes! Espero que no sea tan largo mi codigo
Código (c) [Seleccionar]
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
void inicializar();
void proceso();
void finalizar();
void mostrarVector();
void condicion();
float porcentaje (int, int);
/* Estructura del Registro */
typedef struct
{
int dniCliente;
char apeNom[30];
int codPrestamo;
char codProvincia;
float prestamo;
}tProvencred;
tProvencred regProvencred;
FILE *f_Provencred;
int vPrestamos[5];
int i;
int cantTotal;
int cantHipotecario;
int cantCorr;
int main()
{
inicializar();
proceso();
finalizar();
getch();
return 0;
}
void inicializar()
{
f_Provencred = fopen("provencred.dat","rb");
i = 0;
cantHipotecario = 0;
cantTotal = 0;
cantCorr = 0;
printf("----------| Archivo Abierto |----------\n\n");
}
void proceso()
{
fread(®Provencred, sizeof(regProvencred), 1,f_Provencred);
do
{
cantTotal++;
switch(regProvencred.codPrestamo)
{
case 1: vPrestamos[0] = vPrestamos[0] + 1;
break;
case 2: vPrestamos[1] = vPrestamos[1] + 1;
break;
case 3: vPrestamos[2] = vPrestamos[2] + 1;
break;
case 4: vPrestamos[3] = vPrestamos[3] + 1;
cantHipotecario++;
break;
case 5: vPrestamos[4] = vPrestamos[4] + 1;
break;
fread(®Provencred, sizeof(regProvencred), 1,f_Provencred);
}
condicion();
}
while(!feof(f_Provencred));
mostrarVector();
}
void mostrarVector()
{
for(i=0; i<5; i++)
{
scanf("%i", &vPrestamos[i]);
}
for(i=0; i<5; i++)
{
printf("Cantidad de Prestamo %i: %i\n", (i+1), vPrestamos[i]);
}
}
void condicion()
{
if((regProvencred.prestamo == 2) && ((regProvencred.codProvincia == 'd') || (regProvencred.codProvincia == 'd')))
{
printf("DNI Cliente: %d\n", regProvencred.dniCliente);
printf("Apellido y Nombre: %s\n", regProvencred.apeNom);
printf("Codigo Prestamo: %i\n", regProvencred.codPrestamo);
printf("Provincia: Misiones\n");
printf("Importe Prestamo: %.2f\n", regProvencred.prestamo);
}
if ( (regProvencred.codPrestamo == 5) && ((regProvencred.codProvincia == 'a') || (regProvencred.codProvincia == 'A')) )
{
cantCorr++;
}
}
void finalizar()
{
printf("\nCant de Prestamos: %d", cantTotal);
printf("\nCant de Prestamos Prendarios en Corrientes: %d", cantCorr);
printf("\nEl porcentaje de prestamos hipotecarios es de: %.2f %c", porcentaje(cantHipotecario, cantTotal), '%');
fclose(f_Provencred);
}
float porcentaje (int pCantHipotecario, int pCantTotal)
{
float porc;
porc = (pCantHipotecario / pCantTotal) * 100;
return porc;
}