errores que tengo en mi programa y no se que hacer me ayudan a resolverlo por favor
Publicado por manerik (7 intervenciones) el 09/03/2015 23:56:57
(me podrian ayudar a resolverlo solo quitarle los errores para que me corra en la pc )
/*haga un programa en c que maneje el concepto de lista con los sig datos de un alumno : nombre , ci, tlf y email-alumno, -
donde debe despegar como menu los sig temas
1 ingreso de un alumno
2mostrar los datos de los alumnos ingresados(nombre y ci)
3 buscar un alumno en especifico por ci y despegar todos sus datos si existe
4modificar un alumno, preguntar si es por ci o por nombre .(modificar todo, )
5eliminar un registro completo por ci o por nombre
7eliminar*/ (me podrian ayudar a resolverlo solo quitarle los errores para que me corra en la pc )
# include <stdio.h>
# include <stdlib.h>
# include <string.h>
struct nodo
{
int dato;
char nom[50];
char ci[9] ;
char tlf[11];
char email[50];
struct nodo* sig;
};
struct nodo* inicio ( char nom[80], char tel[9], char email[50], int i);
struct nodo* final;
struct nodo* nuevo;
struct nodo* aux;
struct nodo* ref;
main()
{
char nom[50];char ci[9];char tlf[11]; char email[50];
char a[50];
int i,opc,resp,num,nv ,z,band=0,cont, b[9],n=0;
do
{
printf("\n\1- Nuevo Ingreso");
printf("\n\2- Mostrar Alumnos Ingresados ");
printf("\n\3- Buscar un alumno en especifico");
printf("\n\4- Modificar datos de un alumno");
printf("\n\5- Eliminar un registro");
printf("\n\6- Salir");
printf("\nopcion: ");
scanf("%d",&resp);
switch(resp)
{
case 1:
nuevo=(struct nodo*)malloc(sizeof(struct nodo));
printf("Ingrese Nombre: ");
scanf("%s",&nuevo->nom);
printf("ingrese cédula");
scanf ("%s",&nuevo->ci );
printf("ingrese teléfono");
scanf ("%s",&nuevo->tlf );
printf("ingrese e-mail");
scanf ("%s",&nuevo->email );
nuevo->sig=NULL;
if(inicio==NULL)
{
inicio=nuevo;
final=nuevo;
}
else
{
final->sig=nuevo;
final=nuevo;
}
n++;
break;
case 2:
aux=inicio;
while(aux!=NULL)
{
printf("%s", aux->nom);
printf("%d", aux->ci);
aux=aux->sig;
}
if(inicio==NULL)
printf("esta vacio\n");
break;
case 3:
do
{
printf ("seleccione tipo de busqueda");
printf("\n\1- Buscar por nombre");
printf("\n\2- Buscar por cedula ");
printf("\n\3- Salir");
printf("\nopcion: ");
scanf("%d",&opc);
switch(opc)
{
case 1:
printf("ingrese nombre");
scanf ("%s", a);
for (i=0; i<n; i++)
{
z=strcpm(a, nodo[i].nom);
if (z==0)
{
printf("el nombre es:%s\n", nodo[i]->nom);
printf("la cedula es:%d\n",nodo[i]->ci);
printf("el telefono es%d\n",nodo[i]->tlf);
printf("el email es:%s\n", nodo[i]->email);
}
else
printf("no se encuentra registrado\n");
}
break;
case 2:
printf ("ingrese cedula");
scanf("%d",&b);
for (i=0;i<n;i++)
if(b==ci)
break;
}
}
case 4:
printf("Diga el numero a modificar: ");
scanf("%d",&num);
aux=inicio;
while(aux!=NULL)
{
if(aux->dato==num)
{
printf("\nDiga el nuevo valor: ");
scanf("%d",&nv);
aux->dato=nv;
band=1;
}
aux=aux->sig;
}
if(band==0)
printf("\n Dato no Encontrado\n");
break;
case 5:
printf("Diga el registro a eliminar: ");
scanf("%d",&num);
aux=inicio;
ref=inicio;
cont=0;
band=0;
while(aux!=NULL)
if(aux->dato==num)
{
band=1;
if(cont==0)
inicio=aux->sig;
else
ref->sig=aux->sig;
}
ref=aux;
aux=aux->sig;
cont++;
}
if(band==0)
printf("\n Dato no Encontrado\n");
break;
case 6:
printf("\nFin de Programa\n");
break;
}while(resp!=6);
}
/*haga un programa en c que maneje el concepto de lista con los sig datos de un alumno : nombre , ci, tlf y email-alumno, -
donde debe despegar como menu los sig temas
1 ingreso de un alumno
2mostrar los datos de los alumnos ingresados(nombre y ci)
3 buscar un alumno en especifico por ci y despegar todos sus datos si existe
4modificar un alumno, preguntar si es por ci o por nombre .(modificar todo, )
5eliminar un registro completo por ci o por nombre
7eliminar*/ (me podrian ayudar a resolverlo solo quitarle los errores para que me corra en la pc )
# include <stdio.h>
# include <stdlib.h>
# include <string.h>
struct nodo
{
int dato;
char nom[50];
char ci[9] ;
char tlf[11];
char email[50];
struct nodo* sig;
};
struct nodo* inicio ( char nom[80], char tel[9], char email[50], int i);
struct nodo* final;
struct nodo* nuevo;
struct nodo* aux;
struct nodo* ref;
main()
{
char nom[50];char ci[9];char tlf[11]; char email[50];
char a[50];
int i,opc,resp,num,nv ,z,band=0,cont, b[9],n=0;
do
{
printf("\n\1- Nuevo Ingreso");
printf("\n\2- Mostrar Alumnos Ingresados ");
printf("\n\3- Buscar un alumno en especifico");
printf("\n\4- Modificar datos de un alumno");
printf("\n\5- Eliminar un registro");
printf("\n\6- Salir");
printf("\nopcion: ");
scanf("%d",&resp);
switch(resp)
{
case 1:
nuevo=(struct nodo*)malloc(sizeof(struct nodo));
printf("Ingrese Nombre: ");
scanf("%s",&nuevo->nom);
printf("ingrese cédula");
scanf ("%s",&nuevo->ci );
printf("ingrese teléfono");
scanf ("%s",&nuevo->tlf );
printf("ingrese e-mail");
scanf ("%s",&nuevo->email );
nuevo->sig=NULL;
if(inicio==NULL)
{
inicio=nuevo;
final=nuevo;
}
else
{
final->sig=nuevo;
final=nuevo;
}
n++;
break;
case 2:
aux=inicio;
while(aux!=NULL)
{
printf("%s", aux->nom);
printf("%d", aux->ci);
aux=aux->sig;
}
if(inicio==NULL)
printf("esta vacio\n");
break;
case 3:
do
{
printf ("seleccione tipo de busqueda");
printf("\n\1- Buscar por nombre");
printf("\n\2- Buscar por cedula ");
printf("\n\3- Salir");
printf("\nopcion: ");
scanf("%d",&opc);
switch(opc)
{
case 1:
printf("ingrese nombre");
scanf ("%s", a);
for (i=0; i<n; i++)
{
z=strcpm(a, nodo[i].nom);
if (z==0)
{
printf("el nombre es:%s\n", nodo[i]->nom);
printf("la cedula es:%d\n",nodo[i]->ci);
printf("el telefono es%d\n",nodo[i]->tlf);
printf("el email es:%s\n", nodo[i]->email);
}
else
printf("no se encuentra registrado\n");
}
break;
case 2:
printf ("ingrese cedula");
scanf("%d",&b);
for (i=0;i<n;i++)
if(b==ci)
break;
}
}
case 4:
printf("Diga el numero a modificar: ");
scanf("%d",&num);
aux=inicio;
while(aux!=NULL)
{
if(aux->dato==num)
{
printf("\nDiga el nuevo valor: ");
scanf("%d",&nv);
aux->dato=nv;
band=1;
}
aux=aux->sig;
}
if(band==0)
printf("\n Dato no Encontrado\n");
break;
case 5:
printf("Diga el registro a eliminar: ");
scanf("%d",&num);
aux=inicio;
ref=inicio;
cont=0;
band=0;
while(aux!=NULL)
if(aux->dato==num)
{
band=1;
if(cont==0)
inicio=aux->sig;
else
ref->sig=aux->sig;
}
ref=aux;
aux=aux->sig;
cont++;
}
if(band==0)
printf("\n Dato no Encontrado\n");
break;
case 6:
printf("\nFin de Programa\n");
break;
}while(resp!=6);
}
Valora esta pregunta


0