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

 

 


Tema destacado: Estamos en la red social de Mastodon


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  quien me puede ayudar a pasar este codigo con punteros y memoria dinamica
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: quien me puede ayudar a pasar este codigo con punteros y memoria dinamica  (Leído 2,439 veces)
attackers

Desconectado Desconectado

Mensajes: 38


Ver Perfil
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.  


En línea

attackers

Desconectado Desconectado

Mensajes: 38


Ver Perfil
Re: quien me puede ayudar a pasar este codigo con punteros y memoria dinamica
« Respuesta #1 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.  


En línea

Unbr0ken

Desconectado Desconectado

Mensajes: 248



Ver Perfil
Re: quien me puede ayudar a pasar este codigo con punteros y memoria dinamica
« Respuesta #2 en: 23 Noviembre 2011, 07:35 am »

¿A qué te refieres con "pasar"?...

Por cierto, para códigos tan largos deberías alojarlos aquí y publicar solamente el enlace a él...
« Última modificación: 23 Noviembre 2011, 07:39 am por Unbr0ken » En línea

Cita de: Snowcrash
Discutir con desconocidos por internet es un ejercicio de imbéciles; todos acaban siendo quinceañeros arrogantes con cantidades infinitas de tiempo libre.

NO resuelvo dudas vía MP, para algo está el foro.
attackers

Desconectado Desconectado

Mensajes: 38


Ver Perfil
Re: quien me puede ayudar a pasar este codigo con punteros y memoria dinamica
« Respuesta #3 en: 23 Noviembre 2011, 13:04 pm »

osea que este codigo lleve memoria dinamica y punteros amigos
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines