Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.
Temas - Wao
Páginas: [1]
1
« en: Domingo 14 de Diciembre de 2008, 05:26 »
el problema es al agregar estudiantes a un elemento de la lista1....creo q hay un problema con los punteros ......puedo solo agregar alumnos a una carrera.... el code esta medio al lote pq es solo de prueba... typedef struct est{ char elem[20]; struct est *next; struct est *prev; }Alumnos; typedef struct list{ char elemento[20]; struct list *next; Alumnos *Estudiante; }Lista1; int opt,opt2,opt3,i,cont; Lista1 *cabeza,*nuevo,*p,*muestra,*muestra2,*muestra3; Alumnos *nuevo2,*p2,*mostrarAL, *cabeza2; mostrar() { muestra=cabeza; while(muestra) { printf("n Carrera: %s",muestra->elemento); muestra=muestra->next; } } agregar_u() { nuevo=(Lista1*)malloc(sizeof(Lista1)); printf("nIngrese Nombre De La Carrerann"); scanf(" %[^n]",nuevo->elemento); if(cabeza==NULL) { cabeza=nuevo; cabeza->next=NULL; p=cabeza; }else{ p->next=nuevo; nuevo->next=NULL; p=nuevo; } } agregar_al() { printf("nA Que Carrera Desea Agregarle Alumnos?nn"); muestra2=cabeza; i=1; while(muestra2) { printf("n%d.- %s",i,muestra2->elemento); i++; muestra2=muestra2->next; } scanf("%d",&opt3); muestra2=cabeza; for(i=1;i<opt3;i++) muestra2=muestra2->next; printf("n Ud Eligio La Carrera: %s",muestra2->elemento); printf("nn INGRESAR NUEVO ALUMNOn"); nuevo2=(Alumnos*)malloc(sizeof(Alumnos)); printf("n NOMBRE: "); scanf(" %[^n]",nuevo2->muestra2->Estudiante->elem); if(cabeza2==NULL) { cabeza2=nuevo2; cabeza2->prev=NULL; cabeza2->next=NULL; p2=cabeza2; muestra2->Estudiante=cabeza2; }else{ p2->next=nuevo2; nuevo2->prev=p2; nuevo2->next=NULL; p2=nuevo2; } } ver_al() { printf("nEn Que Carrera Desea Ver Alumnos?nn"); muestra3=cabeza; i=1; while(muestra3) { printf("n%d.- %s",i,muestra3->elemento); i++; muestra3=muestra3->next; } scanf("%d",&opt3); muestra3=cabeza; for(i=1;i<opt3;i++) muestra3=muestra3->next; printf("n Ud Eligio Carrera: %s",muestra3->elemento); mostrarAL=muestra3->Estudiante; while(mostrarAL){ printf("n ALUMNO: %s",mostrarAL->elem); mostrarAL=mostrarAL->next; } } universidad() { printf("n 1.-Ingersar Nueva Carrera A La Base De Datosn"); printf("n 2.-Agregar Alumnos A Carreran"); scanf("%d",&opt2); if(opt2==1) agregar_u(); if(opt2==2) agregar_al(); } menu(){ do{ printf("nn 1.- Ingrese Carrera"); printf("n 2.- Mostrar Datos"); printf("n 3.- Ver Alumnosn"); printf("n 4.- Salirn"); scanf("%d",&opt); if(opt==1) universidad(); if(opt==2) mostrar(); if(opt==3) ver_al(); }while(opt!=4); } main() { menu(); system("PAUSE"); }
Páginas: [1]
|