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

 

 


Tema destacado: Recuerda que debes registrarte en el foro para poder participar (preguntar y responder)


  Mostrar Temas
Páginas: [1]
1  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
2  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.  
3  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.  
4  Programación / Programación C/C++ / problema con ejercicio de agenda con punteros en: 16 Noviembre 2011, 22:22 pm
amigos necesito crear agendas que lleve punteros dinamicos

lo primero que lleva obviamente es ingresar los amigos, nombre, numero de telefono

que elimine 1 amigo

que busque un amigo y apareza su numero de telefono y un listado general que muestre todo los contactos agregado

solo que lleva punteros y no se como hacerlo con punteros


si alguien me da una idea de mas o menos como empezar




#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define p printf
#define s scanf


typedef struct agenda{

       char nombre;

       char apellido;

       int edad;

       };
int *puntero;

typedef agenda *puntero;

main()

{
    


      p("\ndiga el nombre de su amigo: ");
      s("%s",agenda.nombre);
      
    
    
      p("\ndiga el apellido de su amigo: ");
      s("%s",agenda.apellido);

       p("\ndiga el numero de telefono de su amigo: ");
       s("%s",agenda.telefono);
      
}


primero trato de hacerlo de 1 amigo pero no tengo ni idea de como hacerlo con puntero y structud
5  Programación / Programación C/C++ / problema con for en c (eliminar pila) en: 4 Noviembre 2011, 04:15 am
estaba haciendo este programa que me mandaron en la universidad pero no logro eliminar las pilas que deseo, por ejemplo si agregue 5 pilas y quiero eliminar 4 me elimina es una sola y no logro que me elimine las cuatro de una vez

aqui les dejo el codigo para que me puedan ayudar



Código
  1.  
  2. #include<stdio.h>
  3. #include<conio.h>
  4. #include <stdlib.h>
  5. #define p printf
  6. #define s scanf
  7. main ()
  8. {
  9.  
  10. int arreglo[10];
  11. int numero=0;
  12. int tope=0;
  13. int x=0;
  14. int contador;
  15. int cantidad;
  16. int final;
  17. do
  18.  
  19. {
  20.  
  21.  
  22.  
  23. /**COMANDO PARA CAMBIAR COLOR A LA VENTANA**/
  24.  
  25. system("color 1f");
  26. /** COMANDO PARA LIMPIAR LA PANTALLA **/
  27. system("cls");
  28.  
  29.  
  30.  
  31.  
  32.  
  33.  
  34.  
  35. /*******************************************/
  36. /*******************************************/
  37. /************ MENU DE OPCIONES **************/
  38. /*******************************************/
  39. /*******************************************/
  40.  
  41. p("\n\tPOR FAVOR ELIJA UNA DE LAS SIGUIENTES OPCIONES\n\n\n\n");
  42. p("\t\t\tPILA\n");
  43. p("\n\t1.INGRESAR UN DATO A LA PILA \n\n");
  44. p("\t2.MOSTRAR DATOS DE LA PILA\n\n");
  45. p("\t3.ELIMINAR DATO DE LA PILA \n\n");
  46. p("\t4.SALIR DEL PROGRAMA \n");
  47.  
  48. /***********************************************/
  49. s("%i",&numero);
  50. switch(numero)
  51. {
  52.  
  53. /*******************************************/
  54. /*******************************************/
  55. /****** AGREGAR ELEMENTO A LA PILA*********/
  56. /*******************************************/
  57. /*******************************************/
  58. case 1:{
  59.  
  60. system ("cls");
  61.  
  62. p("CUANTOS ELEMENTOS QUIERE AGREGAR A LA PILA ");
  63. scanf("%d", &cantidad);    
  64.  
  65. for( contador = 1; contador <= cantidad; contador++ ){
  66.  
  67. p("\t INTRODIZCA EL DATO DE LA PILA NUMERO %d : ", contador);
  68. s("%i",&arreglo[tope]);    
  69. tope++;
  70.  
  71.  
  72.  
  73. }
  74. }
  75. break;
  76.  
  77.  
  78. /*******************************************/
  79. /*******************************************/
  80. /************ MUESTRA LAS PILA **************/
  81. /*******************************************/
  82. /*******************************************/
  83.  
  84.  
  85. case 2:
  86. {
  87.  
  88.     system ("cls");
  89.     if ( tope==0 ) {
  90.     p("\t LA PILA ESTA VACIA");
  91.     }
  92.  
  93.     else
  94.     {
  95. p("\tDATOS DE LA PILA\n\n");
  96.  
  97. for(x=0; tope>x ;x++)
  98. {
  99. p("\n\t%d ",arreglo[x]);
  100. }
  101. }
  102. }
  103. break;
  104.  
  105.  
  106. /*******************************************/
  107. /*******************************************/
  108. /******   ELIMINA DATO DE LA PILA  *********/
  109. /*******************************************/
  110. /*******************************************/
  111.  
  112.  
  113. case 3:
  114.  
  115.     {
  116.  
  117.           system ("cls");
  118.  
  119.  
  120.                          if (tope==0)
  121.                    {
  122.  
  123.                          p("\n\t\t NO HAY PILA QUE RETIRAR");
  124.                           getch();
  125.                          }
  126.                          else
  127. {
  128. [b]                p("CUANTOS DATOS QUIERE QUITAR DE LA PILA \? ");
  129.                s("%d",&max);
  130.                for ( max = 0; max<tope; max++);
  131.  
  132.                {
  133.  
  134.                              tope--;
  135.                    system ("cls");
  136.  
  137.                p("LOS ELIMENTOS HAN SIDO ELIMINADOS");
  138.      [/b]
  139.                   getch();
  140.  
  141.  
  142.                       }          
  143.                      }
  144.                     }
  145.  
  146.               break;
  147.  
  148. /*******************************************/
  149. /*******************************************/
  150. /********   SALE DEL PROGRMA   ***********/
  151. /*******************************************/
  152. /*******************************************/
  153.  
  154.  
  155. case 6:
  156. {
  157. printf("\tSALIENDO...\n");
  158. return 0;
  159. }
  160. break;
  161. }
  162. }
  163. while(numero<7);
  164.  
  165. }
  166.  
  167.  
  168.  
  169.  
6  Programación / Programación C/C++ / ayuda con agregar y eliminar pila en: 30 Octubre 2011, 23:43 pm
amigos quien me puede ayudar a terminar este codigo o darme un manual sobre agregar pila y eliminarla y mostrarla

casi todo los que consigo son con punteros

#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#define p printf
#define s scanf


void agregar (void);
void retirar (void);
void mostrar (void);

/*********************************************************/

int pila[100],tope=0,max=1;


main()
        {
char sc;
            
          system("cls");    
                system("color A");

                /*** MENUU DE PILA Y COLA ***/

                p("\n\t\t\t\aPROGRMA DE PILA Y COLA\n\n\t\t\t");
                p(" \n\t\t\t**Presione 1 para agregar pilas\n\n");
                 p("\n\t\t\t**Presione 2 para eliminar pilas \n\n");
                p("\n\t\t\t**Presione 3 para mostrar las pilas");
                 p("\n ");

sc=getch();


switch(sc)

{

case 1:
     agregar ();
     break;
    
    
     case 2 :
          retirar ();
          break;
    
    
    
          case 3 :
               mostrar ();
               break;
              
}
              
              
            


/******otro menu*/
void agregar (void)
(
char seguir



do {
               if (tope==10)
               (
              
                            p("\n\noverflow....\n\n");
               system ("pause");
               )
                      else (
                      
                      p("\n\n intruduzca una numero");
                      tope=tope+1;
                      s("%d",&pila[tope];
                      
                      )                  
                      
                      
                      p("\n\n desea añador otro elemente s/n");
                      
               seguir=getch();
              
system("cls");

) while ((seguir=='s') || (seguir=='S') && (tope<max);


void retirar (void)

(
system ("cls");
if (tope==0)
{
p("underflow presione una tecla ");

}

                      else
                      
                 {
                      p("\n\n\nretirado %d de la pila\n\n", pila[tope]);
                      
                      system("pause");
                      pila[tope]=0;
                      tope=tope=-1
                      
                      }
                      )
7  Programación / Programación C/C++ / problema de lenguaje C en: 14 Julio 2011, 04:46 am
buenas amigos necesitaba una ayuda de ustedes y es si me podría ayudar hacer un programa en c para poderme guiar que tengo que hacer varios y tener una idea de mas o menos como hacerlo


el enunciado es desarrolle un programa que dimensione una matriz de Nfila por Ncolumna, conociendo  que las columnas son vendedores y que las filas son sus respectivas ventas. calcular el promedio de ventas por vendedor y el promedio total de las ventas
8  Programación / Programación C/C++ / ayuda con pseudocodigo, crear tabla de multplicar en: 28 Abril 2011, 02:38 am
quien me puede ayudar hacer una tabla de multplicar en pseudocodigo es para la universidad... el enunciado es asi..

desarrolle una tabla de multiplicar comprendida del 1 al 9 utilizando 2 vectores

 

segun lo que yo investigue hice algo asi pero no se si esta bien

algoritmo matrices
variables a[10], b[10], numero

inicio
 mostrar " introduzca el numero "

hacer para 
( i=1 ; i <=10 i++)
   {
       mostrar " /n %d x %d = %d numero, i, b[10] }

fin
Páginas: [1]
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines