Puntatori e strutture

di il
3 risposte

Puntatori e strutture

Salve, ho da poco cominciato a studiare i puntatori e mi ritrovo in difficoltà nel realizzare un programma con puntatori a strutture. La cosa che non mi è ben chiara è che: dopo aver definito un puntatore (in questo caso p), quest'ultimo non dovrebbe puntare alle informazioni che riceve? O sbaglio?
#include <iostream>
using namespace std;
//Dichiarazione struct
struct informazioni
{
	char nome[20];
	int eta;
	float altezza;
	float peso;
}persona;
//PROTOTIPI
void input_informazioni(informazioni* p);
void visualizza_informazioni(informazioni* p);
//PROGRAMMA
void input_informazioni(informazioni* p)
{
	p = &persona;
	cout << "Inserisci il tuo nome:"; cin >> p->nome;
	cout << "Inserisci la tua eta:"; cin >> p->eta;
	cout << "Inserisci la tua altezza:"; cin >> p->altezza;
	cout << "Inserisci il tuo peso:"; cin >> p->peso;		
}

void visualizza_informazioni(informazioni* p)
{
	cout << "Nome:" << p->nome << endl;	
	cout << "Eta:" << p->eta << endl;
	cout << "Altezza:" << p->altezza << endl;
	cout << "Peso:" << p->peso << endl;
}


int main(void)
{	
	void input_informazioni(informazioni* p);
	void visualizza_informazioni(informazioni* p);
}
Il programma non parte, ovvero spunta la scritta "Premere un tasto per continuare". Sapete dirmi cosa sbaglio? Grazie in anticipo

3 Risposte

  • Re: Puntatori e strutture

    Il codice nel main è sbagliato. Semmai

    input_informazioni(p);
    visualizza_informazioni(p);
  • Re: Puntatori e strutture

    oregon ha scritto:


    Il codice nel main è sbagliato. Semmai

    input_informazioni(p);
    visualizza_informazioni(p);
    Grazie mille sono riuscito a risolvere.
    int main(void)
    {	
    	informazioni *p;
    	p = &persona;
    	input_informazioni(persona);
    	visualizza_informazioni(p);
    }
  • Re: Puntatori e strutture

    Non

    input_informazioni(persona);

    ma

    input_informazioni(p);
Devi accedere o registrarti per scrivere nel forum
3 risposte