Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - alexander-pedro

#1
pasa que estoy creando una agenda en c,
y necesito eliminar una dato, ingresando el nombre de algun contacto.
como le hago?
hasta esto momentos llevo esto:


#include<stdio.h>
#include<conio.h>
#include<stdlib.h>
#include<string.h>

struct agenda{
   char nombre[200];
   char telefono[12];
   char cedula[20];
   struct agenda*sig;
}*princ, *fin;
int j=0;

void agregar(){
   struct agenda*nuevo;
   nuevo=(struct agenda*)malloc(sizeof(struct agenda));
   printf("\ndigite su nombre: ");
   fflush(stdin);
   scanf("%s", nuevo->nombre);
   fflush(stdin);
   printf("digite su telefono: ");
   scanf("%s", nuevo->telefono);
   printf("digite su cc: ");
   fflush(stdin);
   scanf("%s", nuevo->cedula);
   nuevo->sig=NULL;

   if(princ==NULL){
      princ=nuevo;
      fin=nuevo;
   }
   else{
      fin->sig=nuevo;
      fin=nuevo;
   }
      j++;

}

void imprimir(){
    printf("\nDATOS AGREGADOS HASTA EL MOMENTO\n");
   struct agenda*aux;
   aux=princ;

   if(aux==NULL){
      printf("agenda vacia vacia");
   }
   else{
      while(aux!=NULL){

         printf("\nnombre: %s", aux->nombre);
         printf("\ntelefono: %s",aux->telefono);
         printf("\ncedula: %s", aux->cedula);
         printf("\n--------------------------------------------\n");
         aux=aux->sig;
      }
   }
}

void eliminar(){
   struct agenda*aux;
   struct agenda*aux1;
   
   int cont;
   aux=princ;
   aux=princ;

   cont=0;
   printf("digite el nombre a eliminar");

   while(aux!=NULL){
      if(aux->nombre==aux1->nombre){
         if(cont==0){
            princ=princ->sig;
         }
      }
      aux=aux->sig;
      aux1=aux;
      cont=1;
   }

}

int main(){
   int opc;
   do{
      printf("\n1. ingresar datos a la agenda\n");
      printf("2. mostrar los datos de la agenda\n");
      printf("3. eliminar datos de la agenda\n");
      printf("4. eliminar\n");
      printf("\nintroduce una opcion: ");
      scanf("%d", &opc);
      system("cls");

      switch(opc){
         case 1:
            agregar();
            break;

         case 2:
            imprimir();
            break;

         case 3:
            eliminar();
            break;
         case 4:
            printf("salir");
         break;
      }
   }while(opc<4);
}
#2
necesito que me ayuden, con este problema:

estoy creando una agenda en c  y necesito una opcion de eliminar un dato,
digitando el dato nombre de cualquier dato ya ingresado. este es el programa q llevo hasta estos momentos;

#include<stdio.h>
#include<conio.h>
#include<stdlib.h>
#include<string.h>

struct agenda{
   char nombre[200];
   char telefono[12];
   char cedula[20];
   struct agenda*sig;
}*princ, *fin;
int j=0;

void agregar(){
   struct agenda*nuevo;
   nuevo=(struct agenda*)malloc(sizeof(struct agenda));
   printf("\ndigite su nombre: ");
   fflush(stdin);
   scanf("%s", nuevo->nombre);
   fflush(stdin);
   printf("digite su telefono: ");
   scanf("%s", nuevo->telefono);
   printf("digite su cc: ");
   fflush(stdin);
   scanf("%s", nuevo->cedula);
   nuevo->sig=NULL;

   if(princ==NULL){
      princ=nuevo;
      fin=nuevo;
   }
   else{
      fin->sig=nuevo;
      fin=nuevo;
   }
      j++;

}

void imprimir(){
    printf("\nDATOS AGREGADOS HASTA EL MOMENTO\n");
   struct agenda*aux;
   aux=princ;

   if(aux==NULL){
      printf("agenda vacia vacia");
   }
   else{
      while(aux!=NULL){

         printf("\nnombre: %s", aux->nombre);
         printf("\ntelefono: %s",aux->telefono);
         printf("\ncedula: %s", aux->cedula);
         printf("\n--------------------------------------------\n");
         aux=aux->sig;
      }
   }
}

void eliminar(){
   struct agenda*aux;
   struct agenda*aux1;

   int cont;
   aux=princ;
   aux=princ;

   cont=0;

   while(aux!=NULL){
      if(aux->nombre==aux1->nombre){
         if(cont==0){
            princ=princ->sig;
         }
      }
      aux=aux->sig;
      aux1=aux;
      cont=1;
   }

}

int main(){
   int opc;
   do{
      printf("\n1. ingresar datos a la agenda\n");
      printf("2. mostrar los datos de la agenda\n");
      printf("3. eliminar datos de la agenda\n");
      printf("4. eliminar\n");
      printf("\nintroduce una opcion: ");
      scanf("%d", &opc);
      system("cls");

      switch(opc){
         case 1:
            agregar();
            break;

         case 2:
            imprimir();
            break;

         case 3:
            eliminar();
            break;
         case 4:
            printf("salir");
         break;
      }
   }while(opc<4);
}