Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Laboratorios de computación
Salas A y B
Profesor: M.I. Gustavo Vergara Gonzaga
Grupo: 03
No de Práctica(s): 05
Semestre: 2020-2
Fecha de entrega:
Observaciones: --------
CALIFICACIÓN: ____________
OBJETIVO
Realizar un menú y programar las funciones principales que se
utilizan en una lista simple, estas funciones deberán estar incluidas
en funciones de C y utilizar el pase por referencia para que
funcionen.
CONCLUSIONES INDIVIDUALES
Oscar Isao López Sugahara: En esta ocasión se programó un menú junto con
las funciones de cada operación de insertar, borrar y buscar para el caso de
lista simple. Debido a que los parámetros utilizados en cada función tuvieron
que ser cambiados dentro de la misma función se utilizó el pase por referencia,
donde se paso por referencia a varios apuntadores de nuestra estructura lista.
Mendoza Anaya Aldair Israel : una función sencilla cuando se entiende cómo
funciona cada operación para insertar, buscar y eliminar, por lo que yo diría que
la práctica funciona con éxito.
Eduardo : una
ANEXO(código)
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
struct list{
int k;
char dato;
struct list* next;
};
typedef struct list list;
int main()
{
while (n!=4) {
printf ("\nSELECCIONA UNA OPCION: \n\n");
printf ("1.- INSERTAR.\n");
printf ("2.- BUSCAR.\n");
printf ("3.- BORRAR.\n");
printf ("4.- SALIR DEL PROGRAMA.\n");
printf ("\nOpcion a escojer: ");
scanf ("%d", &n);
getchar ();
switch (n) {
case 1:
insertar(&head,&nuevo,&ins);
break;
case 2:
buscar(&mueve,&head);
break;
case 3:
borrar(&anterior,&mueve,&head);
break;
case 4:
system ("clear");
printf ("Escojio: salir del programa.\n ");
printf ("Adios\n");
break;
default:
2
system ("clear");
printf ("OPCION NO VALIDA. ");
break;
}
}
return 0;
}
//Funciones
if(*head == NULL) {
removed = borra;
} else {
while((*mueve)->k != delete) {
if((*mueve)->next == NULL) {
break;
} else {
*anterior = *mueve;
*mueve = (*mueve)->next;
}
}
if((*mueve)->k == delete) {
removed = 1;
} else {
removed = 0;
}
}
4
if(removed == borra && *head == NULL) {
printf("\nNo se puede borrar de una lista vacia\n");
} else if(removed == 0) {
printf("\nEl elemento %d no se encuentra en la lista\n",
delete);
} else{
printf("\nEl elemento %d se borrara de la lista\n", delete);
if(*mueve == *head) {
*head = (*mueve)->next;
} else {
(*anterior)->next = (*mueve)->next;
}
free(*mueve);
}
}