Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - soma182

#1
hola soy nuevo por aqui pero estoy estudiando programación me pidieron un codigo en el cual se haga un archivo en block de notas y se guarde pueda editarse y guardarse.

#include <stdlib.h>

#include <stdio.h>

#include <string.h>

#include <ctype.h>

/* declaración de tipo global estructura */
typedef struct {
char* nm;
int dia;
int ms;
int aa;

char mes[11];

}PERSONA;

void entrada(PERSONA* p) ;
char* mes_asci(short n) ;
int main( )

{

FILE *pff;

char nf[ ]= "\\PERSONS.DAT";
char r = 'S';

if ( (pff = fopen (nf, "wt") ) ==NULL)

{

puts("Error al abrir archivos. ") ;
exit(-1);

}

while (toupper(r) == 'S')

{

PERSONA pt; entrada(&pt);

printf("%s %d-%d-%d %s\n",pt.nm,pt.dia,pt.ms,pt.aa, pt.mes) ;
fprintf(pff,"%s %d-%d-%d %s\n",pt.nm,pt.dia,pt.ms,pt.aa,pt.mes);
printf("otro registro?:") ;
scanf ( "%c%*c",&r);

}

fclose(pff);
return 0;

}
/* se leen los atributos de una persona por teclado */

void entrada(PERSONA* p)

{char bf [81] ;

printf("Nombre: "); gets(bf);

p->nm =(char*)malloc((strlen(bf)+1)*sizeof(char));

strcpy(p->nm,bf);

printf("Fecha de nacimiento (dd mm aaaa) : ") ;

scanf("%d %d %d%*c",&p->dia,&p->ms,&p->aa);

printf("\n %s\n",mes_asci(p->ms));

strcpy(p->mes,mes_asci (p->ms) ) ;
}

char* mes_asci(short n)

{

static char *mes[12]= {

"Enero", "Febrero", "Marzo", "Abril",

"Mayo", "Junio", "Julio", "Agosto",

"Septiembre", "Octubre", "Noviembre", "Diciembre"};


if (n >= 1 && n <= 12)

return mes[n-l];
else

return "Error mes";
}