Tengo el siguiente programa:
#include <stdio.h>
struct {
char nombre[15];
char AR_h[2];
char AR_min[2];
char AR_sec[2];
char DEC_deg[2];
char DEC_min[2];
char DEC_sec[2];
} registro;
int main()
{
FILE *fichero_out;
float AR;
float DEC;
fichero_out=fopen("UCM_coords_deg","a");
if (fichero_out==NULL)
{printf("Problemas al abrir el ficheron");
exit(1);
}
do {
printf ("Nombre UCM:"); fflush(stdout);
gets (registro.nombre);
if (strcmp(registro.nombre,""))
{
printf ("Horas de AR:"); fflush(stdout);
gets (registro.AR_h);
printf ("Minutos de AR:"); fflush(stdout);
gets (registro.AR_min);
printf ("Segundos de AR:"); fflush(stdout);
gets (registro.AR_sec);
printf ("Grados de DEC:"); fflush(stdout);
gets (registro.DEC_deg);
printf ("Minutos de DEC:"); fflush(stdout);
gets (registro.DEC_min);
printf ("Segundos de DEC:"); fflush(stdout);
gets (registro.DEC_sec);
/* en las dos siguientes lineas es donde esta el error */
AR=15*(®istro.AR_h+®istro.AR_min/60+®istro.AR_sec/3600);
DEC=®istro.DEC_deg+®istro.DEC_min/60+®istro.DEC_sec/360;
fprintf(fichero_out,"%n %f %fn",®istro.nombre, AR, DEC);
}
} while (strcmp(registro.nombre,"")!=0);
fclose(fichero_out);
if (fclose(fichero_out)!=0)
printf("Problemas al cerrar el fichero");
}
/* como he definido los valores como chart, supongo que tengo que pasarlos a int para poder operar con ellos, pero no estoy segura de saber hacerlo*/
Alguien me ayuda??
Muchas gracias