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

 

 


Tema destacado: Recopilación Tutoriales y Manuales Hacking, Seguridad, Privacidad, Hardware, etc


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  El que se ha metido en un bucle infinito soy yo...
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: El que se ha metido en un bucle infinito soy yo...  (Leído 3,990 veces)
Superplay


Desconectado Desconectado

Mensajes: 670



Ver Perfil
El que se ha metido en un bucle infinito soy yo...
« en: 1 Diciembre 2010, 21:14 pm »

veréis, a continuación os pasaré una serie de códigos. Algunos simplemente son para que os guiéis, otros para que me digáis que está mal (con la parte previa señalada). Os identificaré que cual está para que os guiéis y que quiero realizar exactamente, a ver si me podéis ayudar lo antes posible, pues me he tirado toda la tarde intentando solucionar los errores de compilación de cierto paso de parámetro para que realice lo que tiene que hacer y entre errores y que no lo hace... miau. Muchas gracias de antemano.

Los dos archivos de cabecera que lleva mi programa... (NO MODIFICAR, ASÍ TAL CUAL TOMAR DE GUÍA):


contacto.h
Código:
#define N 200
struct contacto {
    char nombre[N];
    int telefono;
    char email[N];
    char web[N];
};

void llenar(struct contacto *c);
void mostrar(struct contacto);

agenda.h
Código:
#include "contacto.h"
#define N 200
#define MAX_CONTACTOS 10

struct agenda{
    char propietario[N];
    int numContactos;
    struct contacto conjunto[MAX_CONTACTOS];
};

void inicializar_agenda (struct agenda * p_ag);
int esta_vacia (struct agenda ag);
int anyadir_contacto (struct agenda * p_ag);
void mostrar_contacto (struct agenda ag, char *nom);
void listar (struct agenda ag);

Código para poder implementar la cabecera contacto.h ... NO MODIFICAR, SÓLO TOMARLO COMO GUÍA:

contacto.c
Código:
#include <stdio.h>
#include "contacto.h"

void llenar(struct contacto *c){
    printf("\nIntroduce nombre del contacto: ");
    scanf("%s", (*c).nombre);
    printf("Introduce el número de teléfono: ");
    scanf("%d", &(*c).telefono);
    printf("Introduce el correo del contacto: ");
    scanf("%s", (*c).email);
    printf("Introduce la página web del usuario: ");
    scanf("%s", (*c).web);
}

void mostrar (struct contacto c){
    printf("Nombre: %s\n", c.nombre);
    printf("Teléfono: %d\n", c.telefono);
    printf("E-Mail: %s\n", c.email);
    printf("Página Web: %s\n", c.web);
}

Programa que hace que funcione cabecera agenda.h en el programa principal y el propio programa principal, por favor sólo modificar lo que señalo con comentarios, el resto dejar como está.

Código:
#include <stdio.h>
#include <stdlib.h>
#include "agenda.h"

void inicializar_agenda (struct agenda *ag){
printf("Ponga el nombre del propietario de esta agenda: \n");
scanf("%s", (*ag).propietario);
(*ag).numContactos=0;
}

int esta_vacia (struct agenda ag){
    if(ag.numContactos==0)
    return 1;
    else return 0;}

//Está función que continua, tiene que ir mirando si el número de contactos es menor //o igual al máximo, permitir agregar otro contacto más dentro del vector de //estructuras conjunto[] e incrementar en uno la casilla de dicho vector para poder //almacenar otro contacto si se requiere más adelante. El contacto se llena con la //función llenar, hecha "efectiva" en contacto.h/contacto.c

int anyadir_contacto (struct agenda *ag){

if ((*ag).numContactos <= MAX_CONTACTOS){
    llenar(ag);
    (*ag).numContactos++;
    (*ag).conjunto[];
    }
}

//Esta función debe mostrar la información de cierto contacto al pasarle el nombre //desde el programa principal. Todo ello con la función mostrar de
//contacto.h/contacto.c

void mostrar_contacto(struct agenda ag, char nom[]){

    printf("La información del contacto es:\n");

}

//Está función básicamente lista todos los datos de todos los contactos, leyendo cada casilla del vector.

void listar(struct agenda ag){
    int i;
for (i=0;i<=ag.numContactos;i++){

}
}

Código:
#include <stdio.h>
#include <stdlib.h>
#include "agenda.h"

int main()
{
    struct contacto c;
char *nombre[N];

int opcion;

inicializar_agenda(&c);

do{
    printf("\n\n1-Añadir contacto\n");
    printf("2-Mostrar contactos\n");
    printf("3-Mostrar información que contiene la agenda\n");
    printf("4-Listar información agenda\n");
    printf("5-Salir\n");
    printf("Por favor, introduzca que operación desea realizar: ");
    scanf("%d", &opcion);


switch(opcion){

//No termina de funcionar bien al pasarle así el parámetro.
    case 1:
    anyadir_contacto(&c);
    break;

    case 2:
    mostrar(c);
    break;

    case 3:
    printf("Por favor, introduzca el nombre de susodicho contacto: ");
    scanf("%s", nombre);

//Aquí quiero llamar a la función del mismo nombre de agenda.c/agenda.h pero no //sé como pasarle el parámetro correctamente, me da error.
    mostrar_contacto(&nombre);

    break;

    case 4:
//Aquí quiero llamar a la función listar, no sé como ponerle el parámetro en si.
listar()
    break;

    case 5:
    return 0;
    break;}
}while(opcion!=5);


}

Sin más, ojalá podáis ayudarme, me duele la cabeza de estar toda la tarde viendo que le pasa. Muchas gracias.


« Última modificación: 1 Diciembre 2010, 21:16 pm por Superplay » En línea



"Nací siendo un virus" By Windows.
Este mensaje no es por ofender, yo uso Windows también, simplemente... es broma ;)
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
probando un bucle infinito... « 1 2 3 »
Bugs y Exploits
mousehack 22 16,353 Último mensaje 28 Agosto 2015, 21:46 pm
por MCKSys Argentina
Bucle infinito para petar linux en C ??
Hacking
LegolasArc 2 5,816 Último mensaje 5 Diciembre 2010, 12:12 pm
por toxeek
Utilizacion de un bucle infinito (script en escucha) « 1 2 »
PHP
mark182 18 12,340 Último mensaje 8 Junio 2011, 20:38 pm
por citosid
Implementacion de bucle infinito
Programación C/C++
mark182 3 4,786 Último mensaje 12 Marzo 2011, 11:33 am
por Akai
error, bucle infinito, alguien que me ayude a evitar el bucle infinito
Programación C/C++
marcos0204 4 2,865 Último mensaje 27 Marzo 2020, 22:44 pm
por fary
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines