elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Los 10 CVE más críticos (peligrosos) de 2020


  Mostrar Mensajes
Páginas: [1] 2 3 4
1  Programación / Programación C/C++ / Re: mostrar contactos de una agenda por equipo en: 24 Noviembre 2011, 21:50 pm
amigo y para eliminar un contacto en especifico por que como yo lo tengo borra TODOS los contactos  me podrias pasar esa funcion ??
2  Programación / Programación C/C++ / mostrar contactos de una agenda por equipo en: 24 Noviembre 2011, 18:01 pm
amigos tengo una agenda pero quiero una opcion de mostrar todos los contactos que sean del equipo caraquista

aqui le dejo el codig paa ver si me pueden ayudar


Código
  1.  
  2. #include <stdio.h>
  3.  
  4. struct _agenda {
  5.        char nombre[20];
  6.        char telefono[12];
  7.        char equipo[20];
  8.        struct _agenda *siguiente;
  9.        };
  10.  
  11. struct _agenda *primero, *ultimo;
  12.  
  13. void mostrar_menu() {
  14.      system("cls");
  15.      printf("\n\nMenu:\n=====\n\n");
  16.      printf("1.- Agregar elementos\n");
  17.      printf("2.- Borrar elementos\n");
  18.      printf("3.- Mostrar contacto\n");
  19.      printf("4.- Mostrar contacto magallanero\n");
  20.      printf("5.- Salir\n\n");
  21.      printf("Escoge una opcion: ");fflush(stdout);
  22. }
  23.  
  24. void anadir_elemento() {
  25.      struct _agenda *nuevo;
  26.  
  27.      /* reservamos memoria para el nuevo elemento */
  28.      nuevo = (struct _agenda *) malloc(sizeof(struct _agenda));
  29.      if (nuevo==NULL) printf( "No hay memoria disponible!\n");
  30.  
  31.      printf("\nNuevo elemento:\n");
  32.      printf("Nombre: "); fflush(stdout);
  33.      gets(nuevo->nombre);
  34.      printf("Telefono: "); fflush(stdout);
  35.      gets(nuevo->telefono);
  36.      printf("Equipo: "); fflush(stdout);
  37.      gets(nuevo->equipo);
  38.  
  39.      /* el campo siguiente va a ser NULL por ser el último elemento
  40.          de la lista */
  41.      nuevo->siguiente = NULL;
  42.  
  43.  
  44.      if (primero==NULL) {
  45.         printf( "Primer elemento\n");
  46.         primero = nuevo;
  47.         ultimo = nuevo;
  48.         }
  49.      else {
  50.           /* el que hasta ahora era el último tiene que apuntar al nuevo */
  51.           ultimo->siguiente = nuevo;
  52.           /* hacemos que el nuevo sea ahora el último */
  53.           ultimo = nuevo;
  54.      }
  55. }
  56.  
  57.  
  58.  
  59. void mostrar_lista() {
  60.      struct _agenda *auxiliar;
  61.      int i;
  62.  
  63.      i=0;
  64.      auxiliar = primero;
  65.      printf("\nMostrando la lista completa:\n");
  66.      while (auxiliar!=NULL) {
  67.            printf( "Nombre: %s \n Telefono: %s \n equipo: %s\n",
  68.                    auxiliar->nombre,auxiliar->telefono,auxiliar->equipo);
  69.            auxiliar = auxiliar->siguiente;
  70.            i++;
  71.      }
  72.      if (i==0) printf( "\nLa agenda esta vacia!!\n" );
  73. }
  74.  
  75.  
  76.  
  77. void mostrar_magallanes() {
  78.  
  79.      int x;
  80.            struct _agenda *auxiliar;
  81.      printf("\nLos contacto magallaneros son: \n");
  82.  
  83.      for(x=0; x < 5; x++)
  84.          {
  85.      if(strcmp(primero->equipo[x],"magallanero") == 0)
  86.         {
  87.      printf("los contactos magallanero son");
  88.    printf("\nEl nombre es: %s \n",auxiliar->nombre[x]);
  89.    printf ("el telefono: %s  \n",auxiliar->telefono[x]);
  90.  
  91.           }
  92.           }
  93.           }
  94.  
  95.  
  96. void borrar_elemento(){
  97.  
  98.  free(primero=NULL);
  99.  
  100.                     }
  101.  
  102. int main() {
  103.     char opcion;
  104.  
  105.     primero = (struct _agenda *) NULL;
  106.     ultimo = (struct _agenda *) NULL;
  107.     do {
  108.         mostrar_menu();
  109.         opcion = getch();
  110.             switch ( opcion ) {
  111.                case '1': anadir_elemento();
  112.                       break;
  113.                case '2':  borrar_elemento();
  114.                        break;
  115.                case '3': mostrar_lista(primero);
  116.                        break;
  117.                case '4': mostrar_magallanes();
  118.                break;
  119.  
  120.                case '5': exit( 1 );
  121.                default: printf( "Opción no válida\n" );
  122.                         break;
  123.             }
  124.     } while (opcion!='5');
  125. }
  126.  
  127.  
  128.  


http://pastebin.com/SvxGbaRZ

en la linea 75 a 91 esta la funcion que mas o menos quiero pero no se trabajar con punteros
3  Programación / Programación C/C++ / Re: quien me puede ayudar a pasar este codigo con punteros y memoria dinamica en: 23 Noviembre 2011, 13:04 pm
osea que este codigo lleve memoria dinamica y punteros amigos
4  Programación / Programación C/C++ / Re: quien me puede ayudar a pasar este codigo con punteros y memoria dinamica en: 23 Noviembre 2011, 03:08 am
aqui el codigo comienzando con los punteros

Código
  1. #include<stdio.h>
  2. #include<conio.h>
  3. #include <stdlib.h>
  4. #define p printf
  5. #define s scanf
  6. #include <string.h>
  7.  
  8. typedef struct contacto{
  9. char equipo[80];
  10. char nombre[80];
  11. char telefono[80];
  12.  
  13.  
  14. }contacto_t;
  15.  
  16.  
  17. contacto_t * contacto1= malloc (sizeof(contacto_t))
  18.  
  19. int cont=0;
  20. int numero; /** el numero del menu de opciones*/
  21. int numerodeamigos;  /** el numero de amigos que quiero agregar a la agenda */
  22. int contadorAGREGAR;  /** el contador del for agregar*/
  23. int contadorELIMINAR;  /** el contador del for de eliminar */
  24. int x,y;
  25.  
  26. main(void)
  27. {
  28.  
  29.  
  30. /*******************************************/
  31. /*******************************************/
  32. /************ MENU DE OPCIONES **************/
  33. /*******************************************/
  34. /*******************************************/
  35.  
  36.  
  37. do
  38. {
  39. system("COLOR 2");
  40. p("\n\tPOR FAVOR ELIJA UNA DE LAS SIGUIENTES OPCIONES\n\n\n\n");
  41. p("\t1.AGREGAR CONTACTO\n");
  42. p("\n\t2.MOSTRAR TODOS LOS CONTACTOS DE TU AGENDA \n\n");
  43. p("\t3.MOSTRAR LOS CONTACTOS CARAQUISTA\n");
  44. p("\t4.MOSTRAR LOS CONTACTOS MAGALLANEROS\n");
  45. p("\t5.BUSCAR CONTACTO\n");
  46. p("\t6.ELIMINAR CONTACTO\n");
  47. scanf("%i",&numero);
  48. switch(numero)
  49. {
  50.  
  51.  
  52. /*******************************************/
  53. /*******************************************/
  54. /************ AGREGA LOS CONTACTOS **************/
  55. /*******************************************/
  56. /*******************************************/
  57. case 1:{
  58. system ("cls");
  59. printf("cuantos amigos quiere agregar: ");
  60. scanf("%i",&numerodeamigos);
  61.  
  62.  
  63.                            for (contadorAGREGAR=0; contadorAGREGAR<numerodeamigos; contadorAGREGAR++)
  64.                             {
  65.                             system("cls");
  66.  
  67.  
  68.               printf("ingrese el nombre: ");
  69.               fflush(stdin);
  70.             gets(c1.nombre[contadorAGREGAR]);
  71.  
  72.  
  73. printf("Diga el equipo de su amigo: caraquista o magallanero \n");
  74. fflush(stdin);
  75.  gets(c1.equipo[contadorAGREGAR]);
  76.  
  77.  
  78.              printf("Ingrese el telefono: ");
  79.                fflush(stdin);
  80.              gets(c1.telefono[contadorAGREGAR]);
  81.  
  82.              system("cls");
  83.          printf("\n");
  84. }
  85.  
  86. }
  87. break;
  88.  
  89. /*******************************************/
  90. /*******************************************/
  91. /*** MUESTRA LOS CONTACTO DE LA AGENDA *****/
  92. /*******************************************/
  93. /*******************************************/
  94.  
  95. case 2:
  96.    {
  97. system ("cls");
  98.  
  99.                        for (contadorELIMINAR=0; contadorELIMINAR<numerodeamigos; contadorELIMINAR++)
  100.   /***abre el for */ {
  101.    printf("\nEl nombre es: %s \n", &contacto1->nombre[contadorELIMINAR]);
  102.    printf ("el equipo es: %s \n",&contacto1->equipo[contadorELIMINAR]);
  103.    printf ("el telefono: %s  \n",contacto1->equipo[contadorELIMINAR]);
  104.  
  105.    } /**cierra el for**/
  106.  
  107.    system("pause");
  108.    } /**cierra el case*/
  109.  
  110.    break;
  111. /*******************************************/
  112. /*******************************************/
  113. /****** MUESTRA CONTACTOS CARAQUISTAS *******/
  114. /*******************************************/
  115. /*******************************************/
  116. case 3:
  117.      {
  118.          for(x=0; x < numerodeamigos; x++)
  119.          {
  120.    if(strcmp(c1.equipo[x],"caraquista") == 0)
  121.    {
  122.        printf("los contactos caraquista son");
  123.    printf("\nEl nombre es: %s \n",contacto1->nombre[x]);
  124.    printf ("el telefono: %s  \n",contacto1->telefono[x]);
  125.    }
  126.    }
  127.    }
  128. break;
  129. /*******************************************/
  130. /*******************************************/
  131. /****** MUESTRA CONTACTOS MAGALLANERO *******/
  132. /*******************************************/
  133. /*******************************************/
  134.  case 4:
  135.                          {
  136.  for(y = 0; y < numerodeamigos; y++)
  137.          {
  138. if(strcmp(c1.equipo[y],"magallanero") == 0)
  139.    {
  140.        printf("los contactos magallanero son");
  141.    printf("\nEl nombre es: %s \n", contacto1->nombre[y]);
  142.    printf ("el telefono: %s  \n",contacto1->telefono[y]);
  143.  
  144.  
  145.    }
  146.    }
  147.  
  148.    break;
  149.  
  150.  
  151.    case 5:
  152.         /****/
  153.  
  154.       {
  155.        char busca[40];
  156.        system("cls");
  157.  
  158.        fflush(stdin);
  159.        printf("\nBuscar contacto\n Ingrese el nombre del contacto:");
  160.        gets(busca);
  161.  
  162.        for(x=0;x<numerodeamigos;x++){
  163.                if(strcmpi(busca,c1.nombre[x])==0){
  164.                        printf("\nNombre: %s\n", contacto1->nombre[x]);
  165.                        printf("Telefono %s\n", contacto1->telefono[x]);
  166.  
  167.  
  168.                }
  169.        }
  170.  
  171. }break;
  172.  
  173. /******/
  174.  
  175.  
  176.  case 6:
  177.       {
  178.        char busca1[40];
  179.        system("cls");
  180.  
  181.        fflush(stdin);
  182.        printf("\n eliminar contacto \n Ingrese el nombre del contacto:");
  183.        gets(busca1);
  184.                for(x=0;x<numerodeamigos;x++){
  185.                if(strcmpi(busca1,c1.nombre[x])==0){
  186.                        printf("\nNombre: %s\n", c1.nombre[x]);
  187.                        printf("Telefono: %s\n", c1.telefono[x]);
  188.                        printf("Equipo: %s\n", c1.equipo[x]);
  189.                        printf("ELIMINADO");
  190.                        strcpy(c1.nombre[x],"");
  191.                        strcpy(c1.telefono[x],"");
  192.                        strcpy(c1.equipo[x],"");
  193.  
  194.       }
  195.       }
  196.       }break;
  197.  
  198.   }/**cierra el caso 4*/
  199.    } /***cierra el do***/
  200.    }/*** cierra el main **/
  201.  
  202.    while(numero<9);
  203.  
  204.     }
  205.  
  206.  
  207.  
5  Programación / Programación C/C++ / quien me puede ayudar a pasar este codigo con punteros y memoria dinamica en: 23 Noviembre 2011, 01:06 am
amigos quien me puede ayudar a pasar este codigo con punteros y con memoria dinamica ???'


Código
  1. #include<stdio.h>
  2. #include<conio.h>
  3. #include <stdlib.h>
  4. #include <string.h>
  5.  
  6. #define p printf
  7. #define s scanf
  8.  
  9. struct contacto{
  10.       char equipo[40][80];
  11.       char nombre[40][80];
  12.       char telefono[40][80];
  13.  
  14. }c1;
  15.  
  16. int cont=0;
  17. int numero; /** el numero del menu de opciones*/
  18. int numerodeamigos;  /** el numero de amigos que quiero agregar a la agenda */
  19. int contadorAGREGAR;  /** el contador del for agregar*/
  20. int contadorELIMINAR;  /** el contador del for de eliminar */
  21. int x,y;
  22.  
  23. main(void)
  24. {
  25.  
  26.  
  27. /*******************************************/
  28. /*******************************************/
  29. /************ MENU DE OPCIONES **************/
  30. /*******************************************/
  31. /*******************************************/
  32.  
  33.  
  34. do
  35. {
  36. system("COLOR 2");
  37. p("\n\tPOR FAVOR ELIJA UNA DE LAS SIGUIENTES OPCIONES\n\n\n\n");
  38. p("\t1.AGREGAR CONTACTO\n");
  39. p("\n\t2.MOSTRAR TODOS LOS CONTACTOS DE TU AGENDA \n\n");
  40. p("\t3.MOSTRAR LOS CONTACTOS CARAQUISTA\n");
  41. p("\t4.MOSTRAR LOS CONTACTOS MAGALLANEROS\n");
  42. p("\t5.BUSCAR CONTACTO\n");
  43. p("\t6.ELIMINAR CONTACTO\n");
  44. scanf("%i",&numero);
  45. switch(numero)
  46. {
  47.  
  48.  
  49. /*******************************************/
  50. /*******************************************/
  51. /************ AGREGA LOS CONTACTOS **************/
  52. /*******************************************/
  53. /*******************************************/
  54. case 1:{
  55. system ("cls");
  56. printf("cuantos amigos quiere agregar: ");
  57. scanf("%i",&numerodeamigos);
  58.  
  59.  
  60.                            for (contadorAGREGAR=0; contadorAGREGAR<numerodeamigos; contadorAGREGAR++)
  61.                             {
  62.                             system("cls");
  63.  
  64.  
  65.               printf("ingrese el nombre: ");
  66.               fflush(stdin);
  67.             gets(c1.nombre[contadorAGREGAR]);
  68.  
  69.  
  70. printf("Diga el equipo de su amigo: caraquista o magallanero \n");
  71. fflush(stdin);
  72.  gets(c1.equipo[contadorAGREGAR]);
  73.  
  74.  
  75.              printf("Ingrese el telefono: ");
  76.                fflush(stdin);
  77.              gets(c1.telefono[contadorAGREGAR]);
  78.  
  79.              system("cls");
  80.          printf("\n");
  81. }
  82.  
  83. }
  84. break;
  85.  
  86. /*******************************************/
  87. /*******************************************/
  88. /*** MUESTRA LOS CONTACTO DE LA AGENDA *****/
  89. /*******************************************/
  90. /*******************************************/
  91.  
  92. case 2:
  93.    {
  94. system ("cls");
  95.  
  96.                        for (contadorELIMINAR=0; contadorELIMINAR<numerodeamigos; contadorELIMINAR++)
  97.   /***abre el for */ {
  98.    printf("\nEl nombre es: %s \n", &c1.nombre[contadorELIMINAR]);
  99.    printf ("el equipo es: %s \n",&c1.equipo[contadorELIMINAR]);
  100.    printf ("el telefono: %s  \n",c1.telefono[contadorELIMINAR]);
  101.  
  102.    } /**cierra el for**/
  103.  
  104.    system("pause");
  105.    } /**cierra el case*/
  106.  
  107.    break;
  108. /*******************************************/
  109. /*******************************************/
  110. /****** MUESTRA CONTACTOS CARAQUISTAS *******/
  111. /*******************************************/
  112. /*******************************************/
  113. case 3:
  114.      {
  115.          for(x=0; x < numerodeamigos; x++)
  116.          {
  117.    if(strcmp(c1.equipo[x],"caraquista") == 0)
  118.    {
  119.        printf("los contactos caraquista son");
  120.    printf("\nEl nombre es: %s \n", &c1.nombre[x]);
  121.    printf ("el telefono: %s  \n",c1.telefono[x]);
  122.    }
  123.    }
  124.    }
  125. break;
  126. /*******************************************/
  127. /*******************************************/
  128. /****** MUESTRA CONTACTOS MAGALLANERO *******/
  129. /*******************************************/
  130. /*******************************************/
  131.  case 4:
  132.                          {
  133.  for(y = 0; y < numerodeamigos; y++)
  134.          {
  135. if(strcmp(c1.equipo[y],"magallanero") == 0)
  136.    {
  137.        printf("los contactos magallanero son");
  138.    printf("\nEl nombre es: %s \n", &c1.nombre[y]);
  139.    printf ("el telefono: %s  \n",c1.telefono[y]);
  140.  
  141.  
  142.    }
  143.    }
  144.  
  145.    break;
  146.  
  147.  
  148.    case 5:
  149.         /****/
  150.  
  151.       {
  152.        char busca[40];
  153.        system("cls");
  154.  
  155.        fflush(stdin);
  156.        printf("\nBuscar contacto\n Ingrese el nombre del contacto:");
  157.        gets(busca);
  158.  
  159.        for(x=0;x<numerodeamigos;x++){
  160.                if(strcmpi(busca,c1.nombre[x])==0){
  161.                        printf("\nNombre: %s\n", c1.nombre[x]);
  162.                        printf("Telefono %s\n", c1.telefono[x]);
  163.  
  164.  
  165.                }
  166.        }
  167.  
  168. }break;
  169.  
  170. /******/
  171.  
  172.  
  173.  case 6:
  174.       {
  175.        char busca1[40];
  176.        system("cls");
  177.  
  178.        fflush(stdin);
  179.        printf("\n eliminar contacto \n Ingrese el nombre del contacto:");
  180.        gets(busca1);
  181.                for(x=0;x<numerodeamigos;x++){
  182.                if(strcmpi(busca1,c1.nombre[x])==0){
  183.                        printf("\nNombre: %s\n", c1.nombre[x]);
  184.                        printf("Telefono: %s\n", c1.telefono[x]);
  185.                        printf("Equipo: %s\n", c1.equipo[x]);
  186.                        printf("ELIMINADO");
  187.                        strcpy(c1.nombre[x],"");
  188.                        strcpy(c1.telefono[x],"");
  189.                        strcpy(c1.equipo[x],"");
  190.  
  191.       }
  192.       }
  193.       }break;
  194.  
  195.   }/**cierra el caso 4*/
  196.    } /***cierra el do***/
  197.    }/*** cierra el main **/
  198.  
  199.    while(numero<9);
  200.  
  201.     }
  202.  
  203.  
6  Programación / Programación C/C++ / Re: agenda en c... problema con mostrar contactos y buscar contacto en especifico en: 21 Noviembre 2011, 05:51 am
amigos aqui les dejo el codigo con otras cositas mas o con otras dudas
la duda la tengo cuando quiero eliminar un contacto en espesifico como tendria que ser ?????

 
Código
  1. #include<stdio.h>
  2. #include<conio.h>
  3. #include <stdlib.h>
  4. #define p printf
  5. #define s scanf
  6. #include <string.h>
  7.  
  8. struct contacto{
  9.       char equipo[40];
  10.       char nombre[40];
  11.       int telefono;
  12.       };
  13.     typedef struct contacto tipo_contacto;
  14. int cont=0;
  15. int numero; /** el numero del menu de opciones*/
  16. int numerodeamigos;  /** el numero de amigos que quiero agregar a la agenda */
  17. int contadorAGREGAR;  /** el contador del for agregar*/
  18. int contadorELIMINAR;  /** el contador del for de eliminar */
  19.  
  20.  
  21. int main(void)
  22. {
  23.  
  24. tipo_contacto c1[80];
  25.  
  26. /*******************************************/
  27. /*******************************************/
  28. /************ MENU DE OPCIONES **************/
  29. /*******************************************/
  30. /*******************************************/
  31.  
  32. do
  33. {
  34. p("\n\tPOR FAVOR ELIJA UNA DE LAS SIGUIENTES OPCIONES\n\n\n\n");
  35. p("\t1.AGREGAR CONTACTO\n");
  36. p("\n\t2.MOSTRAR TODOS LOS CONTACTOS DE TU AGENDA \n\n");
  37. p("\t3.MOSTRAR LOS CONTACTOS CARAQUISTA\n");
  38. p("\t4.MOSTRAR LOS CONTACTOS MAGALLANEROS\n");
  39. p("\t5.BUSCAR CONTACTO\n");
  40. p("\t6.ELIMINAR CONTACTO\n");
  41. scanf("%i",&numero);
  42. switch(numero)
  43. {
  44.  
  45. /*******************************************/
  46. /*******************************************/
  47. /************ AGREGA LOS CONTACTOS **************/
  48. /*******************************************/
  49. /*******************************************/
  50. case 1:{
  51. system ("cls");
  52. printf("cuantos amigos quiere agregar: ");
  53. scanf("%i",&numerodeamigos);
  54.  
  55.  
  56.                            for (contadorAGREGAR=0; contadorAGREGAR<numerodeamigos; contadorAGREGAR++)
  57.                             {
  58.                             system("cls");
  59.  
  60.  
  61.               printf("ingrese el nombre: ");
  62.               fflush(stdin);
  63.             gets(c1[contadorAGREGAR].nombre);
  64.  
  65.  
  66. printf("Diga el equipo de su amigo: caraquista o magallanero \n");
  67. fflush(stdin);
  68.  gets(c1[contadorAGREGAR].equipo);
  69.  
  70.  
  71.              printf("Ingrese el telefono: ");
  72.                fflush(stdin);
  73.              scanf("%d",&c1[contadorAGREGAR].telefono);
  74.  
  75.              system("cls");
  76.          printf("\n");
  77. }
  78.  
  79. }
  80. break;
  81.  
  82. /*******************************************/
  83. /*******************************************/
  84. /*** MUESTRA LOS CONTACTO DE LA AGENDA *****/
  85. /*******************************************/
  86. /*******************************************/
  87.  
  88. case 2:
  89.    {
  90. system ("cls");
  91.  
  92.                        for (contadorELIMINAR=0; contadorELIMINAR<numerodeamigos; contadorELIMINAR++)
  93.   /***abre el for */ {
  94.    printf("\nEl nombre es: %s \n", &c1[contadorELIMINAR].nombre);
  95.    printf ("el equipo es: %s \n",&c1[contadorELIMINAR].equipo);
  96.    printf ("el telefono: %d  \n",c1[contadorELIMINAR].telefono);
  97.  
  98.    } /**cierra el for**/
  99.  
  100.    system("pause");
  101.    } /**cierra el case*/
  102.  
  103.    break;
  104. /*******************************************/
  105. /*******************************************/
  106. /****** MUESTRA CONTACTOS CARAQUISTAS *******/
  107. /*******************************************/
  108. /*******************************************/
  109. case 3:
  110.      {
  111.          for(int x = 0; x < numerodeamigos; x++)
  112.          {
  113.    if(strcmp(c1[x].equipo,"caraquista") == 0)
  114.    {
  115.        printf("los contactos caraquista son");                                
  116.    printf("\nEl nombre es: %s \n", &c1[x].nombre);
  117.    printf ("el telefono: %d  \n",c1[x].telefono);
  118.    }
  119.    }
  120.    }
  121. break;
  122. /*******************************************/
  123. /*******************************************/
  124. /****** MUESTRA CONTACTOS MAGALLANERO *******/
  125. /*******************************************/
  126. /*******************************************/
  127.  case 4:
  128.                          {
  129.  for(int y = 0; y < numerodeamigos; y++)
  130.          {
  131. if(strcmp(c1[y].equipo,"magallanero") == 0)
  132.    {
  133.        printf("los contactos magallanero son");                                
  134.    printf("\nEl nombre es: %s \n", &c1[y].nombre);
  135.    printf ("el telefono: %d  \n",c1[y].telefono);
  136.  
  137.  
  138.    }
  139.    }
  140.  
  141.    break;
  142.  
  143.  
  144.    case 5:
  145.         /****/
  146.  
  147.       {
  148. char busca[40];
  149. system("cls");
  150.  
  151. fflush(stdin);
  152. printf("\nBuscar contacto\n Ingrese el nombre del contacto:");
  153. gets(busca);
  154.  
  155. for(int k=1;k<numerodeamigos;k++){
  156. if(strcmpi(busca,c1[k].nombre)==0){
  157. printf("\nNombre: %s\n", c1[k].nombre);
  158. printf("Telefono fijo: %d\n", c1[k].equipo);
  159.  
  160.  
  161. }
  162. }
  163.  
  164. }
  165.  
  166. /******/
  167.  
  168.  
  169.  case 6:    
  170.       {
  171.       char busca1[40];
  172. system("cls");
  173.  
  174. fflush(stdin);
  175. printf("\n eliminar contacto \n Ingrese el nombre del contacto:");
  176. gets(busca1);
  177.  
  178. for(int e=1;e<numerodeamigos;e++){
  179. if(strcmpi(busca1,c1[e].nombre)==0){
  180. printf("\nNombre: %s\n", c1[e].nombre);
  181. printf("Telefono: %d\n", c1[e].telefono);
  182. printf("Telefono: %d\n", c1[e].equipo);
  183. printf("ELIMINADO");
  184. c1[e].nombre==NULL;
  185.  
  186.       }  
  187.       }
  188.       }
  189.  
  190.   }/**cierra el caso 4*/
  191.    } /***cierra el do***/
  192.    }/*** cierra el main **/
  193.  
  194.    while(numero<7);
  195.  
  196.     }
  197.  
  198.  
  199.  
7  Programación / Programación C/C++ / Re: agenda en c... problema con mostrar contactos y buscar contacto en especifico en: 21 Noviembre 2011, 04:03 am

P.D. Tu codigo es un tanto ineficiente porque si pones que deceas agregar 4 usuarios, y luego deceas agregar otros 4 usuarios, estos no se agregaran sino reemplazaran a los anteriores y el chiste es que agregue a nuevos sin remover los que ya estan.


amigo y como mejoraria esa parte ??? aqui te dejo ya el codigo algo corregido


Código
  1. #include<stdio.h>
  2. #include<conio.h>
  3. #include <stdlib.h>
  4. #define p printf
  5. #define s scanf
  6. #include <string.h>
  7.  
  8. struct contacto{
  9.       char equipo[40];
  10.       char nombre[40];
  11.       int telefono;
  12.       };
  13.     typedef struct contacto tipo_contacto;
  14.  
  15. int numero; /** el numero del menu de opciones*/
  16. int numerodeamigos;  /** el numero de amigos que quiero agregar a la agenda */
  17. int contadorAGREGAR;  /** el contador del for agregar*/
  18. int contadorELIMINAR;  /** el contador del for de eliminar */
  19.  
  20.  
  21. int main(void)
  22. {
  23.  
  24. tipo_contacto c1[80];
  25. do
  26. {
  27. p("\n\tPOR FAVOR ELIJA UNA DE LAS SIGUIENTES OPCIONES\n\n\n\n");
  28. p("\t1.AGREGAR CONTACTO\n");
  29. p("\n\t2.MOSTRAR TODOS LOS CONTACTOS DE TU AGENDA \n\n");
  30. p("\t3.MOSTRAR LOS CONTACTOS MAGALLANEROS\n");
  31. p("\t4.MOSTRAR LOS CONTACTOS CARAQUISTA\n");
  32. scanf("%i",&numero);
  33. switch(numero)
  34.  
  35. {
  36. case 1:{
  37. system ("cls");
  38. printf("cuantos amigos quiere agregar: ");
  39. scanf("%i",&numerodeamigos);
  40.  
  41.  
  42.                            for (contadorAGREGAR=0; contadorAGREGAR<numerodeamigos; contadorAGREGAR++)
  43.                             {
  44.                             system("cls");
  45.  
  46.  
  47.               printf("ingrese el nombre: ");
  48.               fflush(stdin);
  49.             gets(c1[contadorAGREGAR].nombre);
  50.  
  51.  
  52. printf("Diga el equipo de su amigo: MAGALLANERO O CARAQUISTA\n");
  53. fflush(stdin);
  54.  gets(c1[contadorAGREGAR].equipo);
  55.  
  56.  
  57.              printf("Ingrese el telefono: ");
  58.                fflush(stdin);
  59.              scanf("%d",&c1[contadorAGREGAR].telefono);
  60.  
  61.              system("cls");
  62.          printf("\n");
  63. }
  64.  
  65. }
  66. break;
  67.  
  68.  
  69.  
  70. case 2:
  71.    {
  72. system ("cls");
  73.  
  74.                        for (contadorELIMINAR=0; contadorELIMINAR<numerodeamigos; contadorELIMINAR++)
  75.   /***abre el for */ {
  76.    printf("\nEl nombre es: %s \n", &c1[contadorELIMINAR].nombre);
  77.    printf ("el equipo es: %s \n",&c1[contadorELIMINAR].equipo);
  78.    printf ("el telefono: %d  \n",c1[contadorELIMINAR].telefono);
  79.  
  80.    } /**cierra el for**/
  81.  
  82.    system("pause");
  83.    } /**cierra el case*/
  84.  
  85.    break;
  86.  
  87. case 3:
  88.      {
  89.          for(int x = 0; x < numerodeamigos; x++)
  90.          {
  91.    if(strcmp(c1[x].equipo,"caraquista") == 0)
  92.    {
  93.        printf("los contactos caraquista son");                                
  94.    printf("\nEl nombre es: %s \n", &c1[x].nombre);
  95.    printf ("el telefono: %d  \n",c1[x].telefono);
  96.    }
  97.    }
  98.    }
  99. break;
  100.  
  101.  case 4:
  102.                          {
  103.  for(int y = 0; y < numerodeamigos; y++)
  104.          {
  105. if(strcmp(c1[y].equipo,"magallanero") == 0)
  106.    {
  107.        printf("los contactos caraquista son");                                
  108.    printf("\nEl nombre es: %s \n", &c1[y].nombre);
  109.    printf ("el telefono: %d  \n",c1[y].telefono);
  110.    }
  111.    }
  112.   }/**cierra el caso 4*/
  113.    } /***cierra el do***/
  114.    }/*** cierra el main **/
  115.  
  116.    while(numero<7);
  117.  
  118.     }
  119.  
8  Programación / Programación C/C++ / Re: agenda en c... problema con mostrar contactos y buscar contacto en especifico en: 20 Noviembre 2011, 04:21 am
amigos ya solucione ahora le quiero hacer otras funcion  por ejemplo en los equipo quiero ponerle que agregue 2 equipo

CARAQUISTA Y MAGALLANES

entonce quiero que si piso 3 me muestre los contactos CARAQUISTAS y si PISO 4 que muestre los contactos MAGALLANEROS


Aqui les dejo el codigo

Código
  1. #include<stdio.h>
  2. #include<conio.h>
  3. #include <stdlib.h>
  4. #define p printf
  5. #define s scanf
  6.  
  7. struct contacto{
  8.       char equipo[40];
  9.       char nombre[40];
  10.       int telefono;
  11.       };
  12.     typedef struct contacto tipo_contacto;
  13.  
  14. int numero; /** el numero del menu de opciones*/
  15. int numerodeamigos;  /** el numero de amigos que quiero agregar a la agenda */
  16. int contadorAGREGAR;  /** el contador del for agregar*/
  17. int contadorELIMINAR;  /** el contador del for de eliminar */
  18.  
  19.  
  20. void main(void){
  21.  
  22.  
  23.  
  24. tipo_contacto c1[80];
  25. do
  26. {
  27. p("\n\tPOR FAVOR ELIJA UNA DE LAS SIGUIENTES OPCIONES\n\n\n\n");
  28. p("\t1.AGREGAR CONTACTO\n");
  29. p("\n\t2.MOSTRAR TODOS LOS CONTACTOS DE TU AGENDA \n\n");
  30. p("\t3.MOSTRAR LOS CONTACTOS MAGALLANEROS\n");
  31. p("\t4.MOSTRAR LOS CONTACTOS CARAQUISTA\n");
  32. scanf("%i",&numero);
  33. switch(numero)
  34.  
  35. {
  36. case 1:{
  37. system ("cls");
  38. printf("cuantos amigos quiere agregar: ");
  39. scanf("%i",&numerodeamigos);
  40.  
  41.  
  42.                            for (contadorAGREGAR=0; contadorAGREGAR<numerodeamigos; contadorAGREGAR++)
  43.                             {
  44.                             system("cls");
  45.  
  46.  
  47.               printf("ingrese el nombre: ");
  48.               fflush(stdin);
  49.             gets(c1[contadorAGREGAR].nombre);
  50.  
  51.  
  52. printf("Diga el equipo de su amigo: MAGALLANERO O CARAQUISTA\n");
  53. fflush(stdin);
  54.  gets(c1[contadorAGREGAR].equipo);
  55.  
  56.  
  57.              printf("Ingrese el telefono: ");
  58.                fflush(stdin);
  59.              scanf("%d",&c1[contadorAGREGAR].telefono);
  60.  
  61.              system("cls");
  62.          printf("\n");
  63. }
  64.  
  65. }
  66. break;
  67.  
  68.  
  69.  
  70. case 2:
  71.    {
  72. system ("cls");
  73.  
  74.                        for (contadorELIMINAR=0; contadorELIMINAR<numerodeamigos; contadorELIMINAR++)
  75.   /***abre el for */ {
  76.    printf("\nEl nombre es: %s \n", &c1[contadorELIMINAR].nombre);
  77.    printf ("el equipo es: %s \n",&c1[contadorELIMINAR].equipo);
  78.    printf ("el telefono: %d  \n",c1[contadorELIMINAR].telefono);
  79.  
  80.    } /**cierra el for**/
  81.  
  82.    system("pause");
  83.    } /**cierra el case*/
  84.  
  85.    break;
  86.  
  87.  
  88.  
  89.  
  90.    case 3:
  91.         {
  92.  
  93.         }
  94.  
  95.        break;
  96.  
  97.  
  98.  
  99.    } /***cierra el do***/
  100.    }/*** cierra el main **/
  101.  
  102.    while(numero<7);
  103.  
  104.          return 0;
  105.     }
  106.  
9  Programación / Programación C/C++ / agenda en c... problema con mostrar contactos y buscar contacto en especifico en: 18 Noviembre 2011, 22:39 pm
amigos tneog un problema con este codigo que despues que quiero mostrar los contactos de mi agenda me sale error

tambien quiero agregarle que busque un contacto en especifico
Código
  1. #include<stdio.h>
  2. #include<conio.h>
  3. #include <stdlib.h>
  4. #define p printf
  5. #define s scanf
  6.  
  7. struct contacto{
  8.       char nombre[40];
  9.       long telefono;
  10.       char equipo;
  11.       };
  12.     typedef struct contacto tipo_contacto;
  13.  
  14. int contador;
  15. int numerodeamigos;
  16.  
  17.  
  18.  
  19.  
  20. void main()
  21. {
  22. tipo_contacto c1;
  23. int numero;
  24. int i;
  25.  
  26.  
  27. do
  28. {
  29. p("\n\tPOR FAVOR ELIJA UNA DE LAS SIGUIENTES OPCIONES\n\n\n\n");
  30. p("\t1.AGREGAR CONTACTO\n");
  31. p("\n\t2.MOSTRAR CONTACTOS DE LA AGENDA \n\n");
  32.  
  33. scanf("%i",&numero);
  34. switch(numero)  
  35. {
  36.  
  37.                case 1:{
  38. system ("cls");
  39. printf("cuantos amigos quiere agregar: ");
  40. scanf("%d",&numerodeamigos);
  41. system("cls");
  42.  
  43.                            for (contador=0; contador<numerodeamigos; contador++)
  44.                             {
  45.  
  46.               printf("ingrese el nombre: ");
  47. fflush(stdin);
  48. gets(c1.nombre);
  49.               printf("diga su equipo: ");
  50. fflush(stdin);
  51. scanf("%c",&c1.equipo);
  52.  
  53.              printf("Ingrese el telefono: ");
  54. fflush(stdin);
  55. scanf("%d",&c1.telefono);
  56.  
  57. system("cls");
  58.          printf("\n");
  59. }
  60.  
  61. }
  62. break;
  63.  
  64.  
  65.  
  66. case 2:
  67.    {
  68. system ("cls");
  69.  
  70.  
  71.                        for (i=0; i<numerodeamigos; i++)
  72.   /***abre el for */ {
  73.    printf("El nombre es: %s, \n", c1.nombre);
  74.    printf ("el equipo es: %s \n",c1.equipo);
  75.    printf ("el telefono: %d  \n",c1.telefono);
  76.    system("pause");
  77.    } /**cierra el for**/
  78.  
  79.  
  80.    } /**cierra el case*/
  81.  
  82.    break;
  83.    } /***cierra el do***/
  84.    }/*** cierra el main **/
  85.  
  86.    while(numero<7);
  87.  
  88.          return 0;
  89.     }
  90.  
  91.  
10  Programación / Programación C/C++ / Re: problema con ejercicio de agenda con punteros en: 17 Noviembre 2011, 04:41 am
amigo mira aqui lo hice de otra forma

Código
  1. #include<stdio.h>
  2. #include<conio.h>
  3. #include <stdlib.h>
  4.  
  5.  
  6. struct contacto{
  7.       char nombre[40];
  8.       long telefono;
  9.       int edad;
  10.       };
  11.  
  12.     typedef struct contacto tipo_contacto;
  13.  
  14. int contador;
  15. int numerodeamigos;
  16. int mostrar[100];
  17.  
  18. void main(void) {
  19. tipo_contacto c1;
  20.  
  21.  
  22.  
  23. printf("cuantos amigos quiere agregar: ");
  24. scanf("%d",&numerodeamigos);
  25. system("cls");
  26.  
  27.                     for (contador=0; contador<numerodeamigos; contador++)   {
  28.  
  29.  
  30.               printf("ingrese el nombre: ");
  31. fflush(stdin);
  32. gets(c1.nombre);
  33.  
  34.              printf("Ingrese el telefono: ");
  35. fflush(stdin);
  36. scanf("%d",&c1.telefono);
  37.  
  38.               printf("diga su edad: ");
  39. fflush(stdin);
  40. scanf("%d",&c1.edad);
  41.  
  42. system("cls");
  43.          printf("\n");
  44.             printf("-----------------------------------------\n");
  45.  
  46.  
  47.  
  48.         system("pause");
  49.  
  50.  
  51.  
  52. }
  53.  
  54.     printf("El nombre es: %s, \n", c1.nombre);
  55.    printf ("el telefono: %d  \n",c1.telefono);
  56.   printf ("edad es: %d \n",c1.edad");
  57.       system("pause");
  58.          return 0;
  59.     }
  60.  


si me puedes decir que error o que debo mejor

pd: como le puedo hacer un for para que se muestre la cantidades de veces  segun los amigos que quize agregar

Código
  1. for (i=0; i<numerodeamigos; i++)
  2.  
  3.     printf("El nombre es: %s, \n", c1[i].nombre);
  4.    printf ("el telefono: %d  \n",c1[i].telefono);
  5.   printf ("edad es: %d \n",c1[i].edad");

no se si me entienden
Páginas: [1] 2 3 4
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines