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, 02:54  


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)
| | |-+  problema con ejercicio de agenda con punteros
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: problema con ejercicio de agenda con punteros  (Leído 518 veces)
attackers

Desconectado Desconectado

Mensajes: 37


Ver Perfil
problema con ejercicio de agenda con punteros
« en: 16 Noviembre 2011, 22:22 »

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


En línea
attackers

Desconectado Desconectado

Mensajes: 37


Ver Perfil
Re: problema con ejercicio de agenda con punteros
« Respuesta #1 en: 16 Noviembre 2011, 22:23 »

si me puede ir orientandolo para ver si lo puedo terminar y aprender hacerlo les agradeceria


En línea
rir3760


Desconectado Desconectado

Mensajes: 382


Ver Perfil
Re: problema con ejercicio de agenda con punteros
« Respuesta #2 en: 17 Noviembre 2011, 02:03 »

Si no tienes un libro de calidad ya es hora de conseguir uno, empieza revisando el tema [Libros/Papers] C/C++. El programa tiene varios errores que se describen en detalle en |Lo que no hay que hacer en C/C++. Nivel basico|.

Aparte de eso hay que evitar el uso de macros:
Código
#define p printf
#define s scanf
 
Ello porque si cualquiera ve "printf/scanf" ya sabe de que se trata el asunto, no hay que revisar las definiciones.


Para trabajar con memoria reservada de forma dinámica lo primero que debes hacer es llamar a malloc/calloc/realloc, accedes al objeto utilizando operadores como "->" o "[]" y finalmente liberas la memoria mediante la función "free".

Un empujón:
Código
#include <stdio.h>
#include <stdlib.h>
 
#define NUM_CHARS  128
 
struct agenda {
  char nombre[NUM_CHARS];
  char apellido[NUM_CHARS];
  int edad;
 
};
 
int main(void)
{
   struct agenda *p;
   struct agenda *q;
   int num_regs = 3;
   int i;
   int ch;
 
   /* 1) Reservamos el bloque de memoria */
   if ((p = malloc(num_regs * sizeof *p)) == NULL)
       return EXIT_FAILURE;
 
   /* 2) Leemos los registros */
   q = p;
   for (i = 0; i < num_regs; i++){
       printf("Registro %d\n", i + 1);
 
       printf("Nombre: ");
       fflush(stdout);
       fgets(q->nombre, NUM_CHARS, stdin);
 
       printf("Apellidos: ");
       fflush(stdout);
       fgets(q->apellido, NUM_CHARS, stdin);
 
       printf("Edad: ");
       fflush(stdout);
       scanf("%d", &q->edad);
 
       while ((ch = getchar()) != EOF && ch != '\n')
           ;
 
       q++;
   }
 
   /* 3) Impresion de los registros */
   for (i = 0; i < num_regs; i++){
       printf("Registro %d\n", i + 1);
 
       printf("Nombre: %s\n", p[i].nombre);
       printf("Apellidos:  %s\n", p[i].apellido);
       printf("Edad: %d\n\n", p[i].edad);
   }
 
   /* 4) Liberamos la memoria */
   free(p);
 
   return EXIT_SUCCESS;  
}

Un saludo
En línea

The capacity to learn is a gift;
The ability to learn is a skill;
The willingness to learn is a choice.
--
Rebec of Ginaz
attackers

Desconectado Desconectado

Mensajes: 37


Ver Perfil
Re: problema con ejercicio de agenda con punteros
« Respuesta #3 en: 17 Noviembre 2011, 04:41 »

amigo mira aqui lo hice de otra forma

Código
#include<stdio.h>
#include<conio.h>
#include <stdlib.h>
 
 
struct contacto{
      char nombre[40];
      long telefono;
      int edad;
      };
 
    typedef struct contacto tipo_contacto;
 
int contador;
int numerodeamigos;
int mostrar[100];
 
void main(void) {
tipo_contacto c1;
 
 
 
printf("cuantos amigos quiere agregar: ");
scanf("%d",&numerodeamigos);
system("cls");
 
                    for (contador=0; contador<numerodeamigos; contador++)   {
 
 
              printf("ingrese el nombre: ");
fflush(stdin);
gets(c1.nombre);
 
             printf("Ingrese el telefono: ");
fflush(stdin);
scanf("%d",&c1.telefono);
 
              printf("diga su edad: ");
fflush(stdin);
scanf("%d",&c1.edad);
 
system("cls");
         printf("\n");
            printf("-----------------------------------------\n");
 
 
 
        system("pause");
 
 
 
}
 
    printf("El nombre es: %s, \n", c1.nombre);
   printf ("el telefono: %d  \n",c1.telefono);
  printf ("edad es: %d \n",c1.edad");
      system("
pause");
         return 0;
    }


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
for (i=0; i<numerodeamigos; i++)
 
    printf("El nombre es: %s, \n", c1[i].nombre);
   printf ("el telefono: %d  \n",c1[i].telefono);
  printf ("edad es: %d \n",c1[i].edad");

no se si me entienden
« Última modificación: 17 Noviembre 2011, 04:56 por attackers » En línea
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Problema con punteros a punteros
Programación C/C++
jion 4 508 Último mensaje 28 Febrero 2009, 17:33
por jion
Duda ejercicio punteros
Programación C/C++
VonN 12 1,343 Último mensaje 8 Julio 2009, 07:40
por Eliptico
Problema programa Agenda « 1 2 »
Programación C/C++
h0oke 27 1,579 Último mensaje 28 Julio 2009, 21:06
por h0oke
Problema programando una agenda
Java
Fastolfe 2 1,591 Último mensaje 17 Marzo 2011, 16:02
por Fastolfe
Problema al hacer una Agenda Telefonica en C++
Programación C/C++
Y2J 10 1,868 Último mensaje 19 Agosto 2011, 18:21
por Y2J
Powered by SMF 1.1.16 | SMF © 2006-2008, Simple Machines