elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Estamos en la red social de Mastodon


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Ayuda con programa en C (archivo binario)
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Ayuda con programa en C (archivo binario)  (Leído 1,536 veces)
anaceci21

Desconectado Desconectado

Mensajes: 1


Ver Perfil
Ayuda con programa en C (archivo binario)
« en: 28 Mayo 2013, 23:08 pm »

Tengo el siguiente problema... este es mi código para ingresar unas calificaciones y que te muestre el promedio, cuando lo ingreso si lo guarda en el archivo y hasta puedo ver lo que contiene eligiendo la segunda opción del menú. El problema es cuando cierro el ejecutable y vuelvo a ejecutarlo y le doy leer, se traba. ¡Ayuda!




#include <stdio.h>

struct calificaciones
{
int calificaciones[13];
float promedio;
};


typedef struct calificaciones *ap_calificaciones;



void escribir_registro(FILE *arch, ap_calificaciones p, ap_calificaciones inicio)
{
int calif,i,k;
float promedio=0;

p=(ap_calificaciones) malloc (sizeof(struct calificaciones)*31);

for (i=22,inicio=p;i<25;i++,p++)
{
printf("\n PROGRAMA #%d",i+1);

for(k=0;k<13;k++)
{
printf("\n Criterio #%d",k+1);
printf("\n Calificacion: ");
scanf("%d",&calif);

//validacion
if(calif<-1 || calif>5)
{
do
{
printf("ERROR: calificacion invalida, vuelva a ingresar la calificacion: ");
scanf("%d",&calif);
}while(calif<-1 || calif>5);
}

p->calificaciones[k]=calif;
if(p->calificaciones[k]!=-1)
promedio=promedio+p->calificaciones[k];
}
p->promedio=promedio*100/65;
promedio=0;
printf("\n\n\n PROMEDIO PROGRAMA #%d: %.2f \n\n\n",i+1,p->promedio);

fwrite(&p,sizeof(p),1,arch);
}
system("pause");
system("cls");
}



void leer_registro(FILE *arch, ap_calificaciones p, ap_calificaciones inicio )
{
int i=1;
float promedio_general=0, promedio_final;
int tamanio=sizeof(p);
rewind(arch);

while (fread (&p, tamanio, 1, arch)!= 0 )
{
promedio_general=promedio_general+p->pro…
printf("\n\n\n\n PROGRAMA #%d\n Promedio: %.2f",i+22,p->promedio);
i=i+1;
}

promedio_final=promedio_general/3;
printf("\n\n\n\n\n\n PROMEDIO GENERAL: %.2f\n\n\n ",promedio_final);

system("pause");
system("cls");
}


En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Traspaso de un archivo ascii a uno binario
Programación Visual Basic
yujape63 8 3,180 Último mensaje 16 Septiembre 2006, 00:28 am
por Castord
leer archivo BINARIO « 1 2 3 4 »
Programación Visual Basic
WestOn 37 20,791 Último mensaje 3 Octubre 2008, 18:22 pm
por WestOn
Listar archivo binario
Programación C/C++
Teby45 0 2,042 Último mensaje 17 Septiembre 2010, 21:31 pm
por Teby45
Ayuda con archivo binario, por favor. « 1 2 »
Programación C/C++
carlosguay 12 7,347 Último mensaje 25 Abril 2011, 13:53 pm
por Arkangel_0x7C5
[c++] Problema con programa de Entero a Binario
Programación C/C++
audiogalaxy. 2 2,982 Último mensaje 9 Septiembre 2013, 08:22 am
por eferion
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines