elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.
 
Inicio Ayuda Buscar Ingresar Registrarse
29 Mayo 2012, 03:01  


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

+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse)
| | |-+  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 261 veces)
attackers

Desconectado Desconectado

Mensajes: 37


Ver Perfil
quien me puede ayudar a pasar este codigo con punteros y memoria dinamica
« en: 23 Noviembre 2011, 01:06 »

amigos quien me puede ayudar a pasar este codigo con punteros y con memoria dinamica ???'


Código
#include<stdio.h>
#include<conio.h>
#include <stdlib.h>
#include <string.h>
 
#define p printf
#define s scanf
 
struct contacto{
      char equipo[40][80];
      char nombre[40][80];
      char telefono[40][80];
 
}c1;
 
int cont=0;
int numero; /** el numero del menu de opciones*/
int numerodeamigos;  /** el numero de amigos que quiero agregar a la agenda */
int contadorAGREGAR;  /** el contador del for agregar*/
int contadorELIMINAR;  /** el contador del for de eliminar */
int x,y;
 
main(void)
{
 
 
/*******************************************/
/*******************************************/
/************ MENU DE OPCIONES **************/
/*******************************************/
/*******************************************/
 
 
do
{
system("COLOR 2");
p("\n\tPOR FAVOR ELIJA UNA DE LAS SIGUIENTES OPCIONES\n\n\n\n");
p("\t1.AGREGAR CONTACTO\n");
p("\n\t2.MOSTRAR TODOS LOS CONTACTOS DE TU AGENDA \n\n");
p("\t3.MOSTRAR LOS CONTACTOS CARAQUISTA\n");
p("\t4.MOSTRAR LOS CONTACTOS MAGALLANEROS\n");
p("\t5.BUSCAR CONTACTO\n");
p("\t6.ELIMINAR CONTACTO\n");
scanf("%i",&numero);
switch(numero)
{
 
 
/*******************************************/
/*******************************************/
/************ AGREGA LOS CONTACTOS **************/
/*******************************************/
/*******************************************/
case 1:{
system ("cls");
printf("cuantos amigos quiere agregar: ");
scanf("%i",&numerodeamigos);
 
 
                           for (contadorAGREGAR=0; contadorAGREGAR<numerodeamigos; contadorAGREGAR++)
                            {
                            system("cls");
 
 
              printf("ingrese el nombre: ");
              fflush(stdin);
            gets(c1.nombre[contadorAGREGAR]);
 
 
printf("Diga el equipo de su amigo: caraquista o magallanero \n");
fflush(stdin);
 gets(c1.equipo[contadorAGREGAR]);
 
 
             printf("Ingrese el telefono: ");
               fflush(stdin);
             gets(c1.telefono[contadorAGREGAR]);
 
             system("cls");
         printf("\n");
}
 
}
break;
 
/*******************************************/
/*******************************************/
/*** MUESTRA LOS CONTACTO DE LA AGENDA *****/
/*******************************************/
/*******************************************/
 
case 2:
   {
system ("cls");
 
                       for (contadorELIMINAR=0; contadorELIMINAR<numerodeamigos; contadorELIMINAR++)
  /***abre el for */ {
   printf("\nEl nombre es: %s \n", &c1.nombre[contadorELIMINAR]);
   printf ("el equipo es: %s \n",&c1.equipo[contadorELIMINAR]);
   printf ("el telefono: %s  \n",c1.telefono[contadorELIMINAR]);
 
   } /**cierra el for**/
 
   system("pause");
   } /**cierra el case*/
 
   break;
/*******************************************/
/*******************************************/
/****** MUESTRA CONTACTOS CARAQUISTAS *******/
/*******************************************/
/*******************************************/
case 3:
     {
         for(x=0; x < numerodeamigos; x++)
         {
   if(strcmp(c1.equipo[x],"caraquista") == 0)
   {
       printf("los contactos caraquista son");
   printf("\nEl nombre es: %s \n", &c1.nombre[x]);
   printf ("el telefono: %s  \n",c1.telefono[x]);
   }
   }
   }
break;
/*******************************************/
/*******************************************/
/****** MUESTRA CONTACTOS MAGALLANERO *******/
/*******************************************/
/*******************************************/
 case 4:
                         {
 for(y = 0; y < numerodeamigos; y++)
         {
if(strcmp(c1.equipo[y],"magallanero") == 0)
   {
       printf("los contactos magallanero son");
   printf("\nEl nombre es: %s \n", &c1.nombre[y]);
   printf ("el telefono: %s  \n",c1.telefono[y]);
 
 
   }
   }
 
   break;
 
 
   case 5:
        /****/
 
      {
       char busca[40];
       system("cls");
 
       fflush(stdin);
       printf("\nBuscar contacto\n Ingrese el nombre del contacto:");
       gets(busca);
 
       for(x=0;x<numerodeamigos;x++){
               if(strcmpi(busca,c1.nombre[x])==0){
                       printf("\nNombre: %s\n", c1.nombre[x]);
                       printf("Telefono %s\n", c1.telefono[x]);
 
 
               }
       }
 
}break;
 
/******/
 
 
 case 6:
      {
       char busca1[40];
       system("cls");
 
       fflush(stdin);
       printf("\n eliminar contacto \n Ingrese el nombre del contacto:");
       gets(busca1);
               for(x=0;x<numerodeamigos;x++){
               if(strcmpi(busca1,c1.nombre[x])==0){
                       printf("\nNombre: %s\n", c1.nombre[x]);
                       printf("Telefono: %s\n", c1.telefono[x]);
                       printf("Equipo: %s\n", c1.equipo[x]);
                       printf("ELIMINADO");
                       strcpy(c1.nombre[x],"");
                       strcpy(c1.telefono[x],"");
                       strcpy(c1.equipo[x],"");
 
      }
      }
      }break;
 
  }/**cierra el caso 4*/
   } /***cierra el do***/
   }/*** cierra el main **/
 
   while(numero<9);
 
    }
 
 


En línea
attackers

Desconectado Desconectado

Mensajes: 37


Ver Perfil
Re: quien me puede ayudar a pasar este codigo con punteros y memoria dinamica
« Respuesta #1 en: 23 Noviembre 2011, 03:08 »

aqui el codigo comienzando con los punteros

Código
#include<stdio.h>
#include<conio.h>
#include <stdlib.h>
#define p printf
#define s scanf
#include <string.h>
 
typedef struct contacto{
char equipo[80];
char nombre[80];
char telefono[80];
 
 
}contacto_t;
 
 
contacto_t * contacto1= malloc (sizeof(contacto_t))
 
int cont=0;
int numero; /** el numero del menu de opciones*/
int numerodeamigos;  /** el numero de amigos que quiero agregar a la agenda */
int contadorAGREGAR;  /** el contador del for agregar*/
int contadorELIMINAR;  /** el contador del for de eliminar */
int x,y;
 
main(void)
{
 
 
/*******************************************/
/*******************************************/
/************ MENU DE OPCIONES **************/
/*******************************************/
/*******************************************/
 
 
do
{
system("COLOR 2");
p("\n\tPOR FAVOR ELIJA UNA DE LAS SIGUIENTES OPCIONES\n\n\n\n");
p("\t1.AGREGAR CONTACTO\n");
p("\n\t2.MOSTRAR TODOS LOS CONTACTOS DE TU AGENDA \n\n");
p("\t3.MOSTRAR LOS CONTACTOS CARAQUISTA\n");
p("\t4.MOSTRAR LOS CONTACTOS MAGALLANEROS\n");
p("\t5.BUSCAR CONTACTO\n");
p("\t6.ELIMINAR CONTACTO\n");
scanf("%i",&numero);
switch(numero)
{
 
 
/*******************************************/
/*******************************************/
/************ AGREGA LOS CONTACTOS **************/
/*******************************************/
/*******************************************/
case 1:{
system ("cls");
printf("cuantos amigos quiere agregar: ");
scanf("%i",&numerodeamigos);
 
 
                           for (contadorAGREGAR=0; contadorAGREGAR<numerodeamigos; contadorAGREGAR++)
                            {
                            system("cls");
 
 
              printf("ingrese el nombre: ");
              fflush(stdin);
            gets(c1.nombre[contadorAGREGAR]);
 
 
printf("Diga el equipo de su amigo: caraquista o magallanero \n");
fflush(stdin);
 gets(c1.equipo[contadorAGREGAR]);
 
 
             printf("Ingrese el telefono: ");
               fflush(stdin);
             gets(c1.telefono[contadorAGREGAR]);
 
             system("cls");
         printf("\n");
}
 
}
break;
 
/*******************************************/
/*******************************************/
/*** MUESTRA LOS CONTACTO DE LA AGENDA *****/
/*******************************************/
/*******************************************/
 
case 2:
   {
system ("cls");
 
                       for (contadorELIMINAR=0; contadorELIMINAR<numerodeamigos; contadorELIMINAR++)
  /***abre el for */ {
   printf("\nEl nombre es: %s \n", &contacto1->nombre[contadorELIMINAR]);
   printf ("el equipo es: %s \n",&contacto1->equipo[contadorELIMINAR]);
   printf ("el telefono: %s  \n",contacto1->equipo[contadorELIMINAR]);
 
   } /**cierra el for**/
 
   system("pause");
   } /**cierra el case*/
 
   break;
/*******************************************/
/*******************************************/
/****** MUESTRA CONTACTOS CARAQUISTAS *******/
/*******************************************/
/*******************************************/
case 3:
     {
         for(x=0; x < numerodeamigos; x++)
         {
   if(strcmp(c1.equipo[x],"caraquista") == 0)
   {
       printf("los contactos caraquista son");
   printf("\nEl nombre es: %s \n",contacto1->nombre[x]);
   printf ("el telefono: %s  \n",contacto1->telefono[x]);
   }
   }
   }
break;
/*******************************************/
/*******************************************/
/****** MUESTRA CONTACTOS MAGALLANERO *******/
/*******************************************/
/*******************************************/
 case 4:
                         {
 for(y = 0; y < numerodeamigos; y++)
         {
if(strcmp(c1.equipo[y],"magallanero") == 0)
   {
       printf("los contactos magallanero son");
   printf("\nEl nombre es: %s \n", contacto1->nombre[y]);
   printf ("el telefono: %s  \n",contacto1->telefono[y]);
 
 
   }
   }
 
   break;
 
 
   case 5:
        /****/
 
      {
       char busca[40];
       system("cls");
 
       fflush(stdin);
       printf("\nBuscar contacto\n Ingrese el nombre del contacto:");
       gets(busca);
 
       for(x=0;x<numerodeamigos;x++){
               if(strcmpi(busca,c1.nombre[x])==0){
                       printf("\nNombre: %s\n", contacto1->nombre[x]);
                       printf("Telefono %s\n", contacto1->telefono[x]);
 
 
               }
       }
 
}break;
 
/******/
 
 
 case 6:
      {
       char busca1[40];
       system("cls");
 
       fflush(stdin);
       printf("\n eliminar contacto \n Ingrese el nombre del contacto:");
       gets(busca1);
               for(x=0;x<numerodeamigos;x++){
               if(strcmpi(busca1,c1.nombre[x])==0){
                       printf("\nNombre: %s\n", c1.nombre[x]);
                       printf("Telefono: %s\n", c1.telefono[x]);
                       printf("Equipo: %s\n", c1.equipo[x]);
                       printf("ELIMINADO");
                       strcpy(c1.nombre[x],"");
                       strcpy(c1.telefono[x],"");
                       strcpy(c1.equipo[x],"");
 
      }
      }
      }break;
 
  }/**cierra el caso 4*/
   } /***cierra el do***/
   }/*** cierra el main **/
 
   while(numero<9);
 
    }
 
 
 


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 »

¿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 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: 37


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

osea que este codigo lleve memoria dinamica y punteros amigos
En línea
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Powered by SMF 1.1.16 | SMF © 2006-2008, Simple Machines