Que tal a todos, espero que anden todos de lujo.
Tengo un problema con una lista enlazada, la cual estoy usando una struct y por medio de apuntadores (punteros) la hace dinámica.
Tengo problemas en asignar datos en las partes que conforman mi estructura, por ejemplo, estoy haciendo una estructura "alumnos" y este cuenta con "nombre" y "boleta", al momento de pasar mis datos por medio de punteros me dice el compildador: "Lvalue requiered".
Espero que me puedan ayudar por que ya casi termino este programa y solo ese ese pequeño error. Gracias.
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include <iostream.h>
#include <string.h>
struct alumnos
{
char nombre[50];
char boleta[10];
alumnos *sgte;
};
struct alumnos *puntini, *puntaux, *puntfin; //punteros de tipo nodo que sirven para el manejo de alumno
insertar();
mostrar();
///////////////////////////// MAIN/////////////////////////////////////////////
main()
{
int OPC=0;
while(OPC<4)
{
printf("Menu de registros de Alumos");
printf("\n\n");
printf("1. Ingresar un alumno.\n");
printf("2. Mostrar alumnos.\n");
printf("Escoja una opcion: ");
scanf("%d",&OPC);
clrscr();
switch(OPC)
{
case 1:
insertar();
break;
case 2:
mostrar();
break;
case 3:
break;
default: printf("OPCION INVALIDA");
}
}
}
////////////// Funcion insertar /////////////////////////////////
insertar()
{
char _nombre[50];
char _boleta[10];
printf("Ingrese el nombre del alumno: ");
scanf("%s",&_nombre);
printf("Ingrese la boleta del alumno: ");
scanf("%s",&_boleta);
if(puntini==NULL)
{
puntini=new(alumnos);
puntini->nombre=_nombre; //Aqui hay error :(
puntini->boleta=_boleta; //Aqui hay error :(
puntfin=puntini;
}
else
{
puntaux=new(alumnos);
puntfin->sgte=puntaux;
puntaux->nombre=_nombre; //Aqui hay error :(
puntaux->boleta=_boleta; //Aqui hay error :(
puntfin=puntaux;
}
puntfin->sgte=NULL;
}
////////////// Funcion mostrar /////////////////////////////////
mostrar()
{
puntaux=puntini;
while(puntaux!=NULL)
{
printf("****************************************** ******\n");
printf("Alumno: %s\n",puntaux->nombre);
printf("Boleta: %s\n",puntaux->boleta);
printf("****************************************** ******\n\n");
puntaux=puntaux->sgte;
}
}