• Sábado 14 de Diciembre de 2024, 20:54

Autor Tema:  arreglo de estructuras  (Leído 848 veces)

pspavaibledown

  • Nuevo Miembro
  • *
  • Mensajes: 3
    • Ver Perfil
arreglo de estructuras
« en: Sábado 14 de Marzo de 2009, 12:06 »
0
miren en este programa da por pantalla una pila de datos de estudientes despues de ser introducidos por teclado,quisiera saber que le podria modificar, para que al final de la ejecucion me siga preguntando si quiero seguir ingresando mas datos
 :wacko:  :wacko: aconsejadme por favor.

#include <conio.h>
#include <stdio.h>
#include <stdlib.h>
#include <ctype.h>
 
struct alumnos
{
   
    char nombre[50];
    char apellidos[30];
    int faltas;
   
};
 
struct nodo
{
    struct alumnos dato;
    struct nodo *proximo;
};
 
/* Declaracion de funciones */

struct nodo *nuevonodo()
{
    struct nodo *p;
    p=(struct nodo *)malloc(sizeof(struct nodo));
    if(p==NULL)
    {
        printf("Memoria RAM Llena");
        getch();
        exit(0);
    }
    return p;
}
struct nodo *creapila(struct nodo *pri, struct alumnos x)
{
    struct nodo *p;
    p=nuevonodo();
    (*p).dato=x;
    (*p).proximo=pri;
    return p;
}
void muestra(struct nodo *pri, FILE *fp)
{
 
    char opcion;
    struct nodo *aux;
   
    while(pri!=NULL)
    {
 
        printf("Nombre: %s n",(*pri).dato.nombre);
        printf("Apellidos: %s n",(*pri).dato.apellidos);
        printf("faltas: %d n",(*pri).dato.faltas);
        fwrite(&pri->dato,sizeof(struct alumnos),1,fp);
        aux=pri;
        pri=(*pri).proximo;
        free(aux);
        opcion=toupper(opcion);
   
    }
       
}

/* Fin de Declaracion */
 int main()
{
    struct alumnos x;
    struct nodo *pri=NULL;
    FILE *fp;
    char opcion; int auxiliar=0;
    if((fp=fopen("C:\Datos.txt","wb"))==NULL)
    {
        getch();
    }
    fseek(fp,0,2);
    do
    {

 
        fflush(stdin);
        printf("Ingrese Nombre del alumno: ");
        gets(x.nombre);
        fflush(stdin);
        printf("Ingrese apellidos del alumno: ");
        gets(x.apellidos);
        fflush(stdin);
        printf("Ingrese las faltas del alumno: ");
        scanf("%d",& auxiliar); x.faltas=auxiliar;
        pri=creapila(pri,x);
        fflush(stdin);
        printf("Desea Ingresar otro Registro? (S/N) ");
        scanf("%c",&opcion);
        opcion=toupper(opcion);
    } while(opcion=='S');
    muestra(pri,fp);


    getch();
    fclose(fp);
    return 0;
}

m0skit0

  • Miembro de PLATA
  • *****
  • Mensajes: 2337
  • Nacionalidad: ma
    • Ver Perfil
    • http://fr33kk0mpu73r.blogspot.com/
Re: arreglo de estructuras
« Respuesta #1 en: Lunes 16 de Marzo de 2009, 09:49 »
0
UTILIZA LAS ETIQUETAS DE CÓDIGO

Suerte