Ir ao conteúdo

Posts recomendados

Postado

Do mesmo modo que você passaria qualquer outra variável, declara a struct no protótipo da função, e passa o nome da struct ao chamar a função.

  • Curtir 2
Postado
10 horas atrás, isrnick disse:

Do mesmo modo que você passaria qualquer outra variável, declara a struct no protótipo da função, e passa o nome da struct ao chamar a função.

#include <iostream>
#include <string.h>
#include <stdlib.h>
#include <string.h>
#include <stdio.h>
#include <vector>


using namespace std;

    

  struct DadosPessoais{
    
    vector <string> endereco; // #
    vector <string> dataNasc; // #
    vector <string> idadeAtu; // #
    vector <string> telefone; // #
    vector <string> email;    // #
    vector <string> nome;     // #
    vector <string> cpf;      // #
    vector <string> rg;       // #
    
}; 

char lyricsTemp[1];

DadosPessoais pessoas;

void cadastraPessoa(DadosPessoais pessoas);
void imprimiCadastro(DadosPessoais pessoas);

int main(int argc, char** argv){ 
       
    cadastraPessoa(pessoas);
    imprimiCadastro(pessoas);
    
    return 0;
}

void cadastraPessoa(DadosPessoais pessoas){
    

   cout << " Digite As Seguinte informações Da Pessoa a Ser Cadastrada : " << "\n\n";
    
    cout << " Nome Completo : ";
    gets(lyricsTemp);
    pessoas.nome.push_back(lyricsTemp);

    cout << " Data de Nascimento : ";
    gets(lyricsTemp);
    pessoas.dataNasc.push_back(lyricsTemp); 
    
   
    cout << " Idaade Atual : ";
    gets(lyricsTemp);
    pessoas.idadeAtu.push_back(lyricsTemp);
    
    cout << " Digite O Cpf da Pessoa : ";
    gets(lyricsTemp);
    pessoas.cpf.push_back(lyricsTemp);
    
    cout << " Digite O Rg da Pessoa : ";
    gets(lyricsTemp);
    pessoas.rg.push_back(lyricsTemp);
    
    cout << " Endereco : ";
    gets(lyricsTemp);
    pessoas.endereco.push_back(lyricsTemp);
    
    cout << " Email : "; 
    gets(lyricsTemp);
    pessoas.email.push_back(lyricsTemp);
    
    cout << " Telefone : ";
    gets(lyricsTemp);
    pessoas.telefone.push_back(lyricsTemp);
 
}

void imprimiCadastro(DadosPessoais pessoas){ 
    
    cout << " Nome : " << pessoas.nome[0]                    << endl;
    cout << " Data de Nascimento : " << pessoas.dataNasc[0]  << " / ";
    cout << " Idade Atual : " << pessoas.idadeAtu[0]         << endl;
    cout << " CPF : " << pessoas.cpf[0]                      << " / ";
    cout << " RG  : " << pessoas.rg[0]                       << endl;
    cout << " Endereço :" << pessoas.endereco[0]             << endl;
    cout << " Email :" << pessoas.email[0]                   << endl;
    cout << " Telefone : " << pessoas.telefone[0]            << endl;
     
}

 

Saberia Me Informa O Por que o Codigo Acima Nao Funciona...

Postado
#include <iostream>
#include <string.h>
#include <stdlib.h>
#include <string.h>
#include <stdio.h>
#include <vector>

using namespace std;
    
  struct DadosPessoais{
    
    vector <string> endereco; // #
    vector <string> dataNasc; // #
    vector <string> idadeAtu; // #
    vector <string> telefone; // #
    vector <string> email;    // #
    vector <string> nome;     // #
    vector <string> cpf;      // #
    vector <string> rg;       // #
    
}; 
char lyricsTemp[20];
DadosPessoais pessoas;
void cadastraPessoa();
void imprimiCadastro();
int main(int argc, char** argv){ 
       
    cadastraPessoa();
    imprimiCadastro();
    
    return 0;
}
void cadastraPessoa(){
    
   cout << " Digite As Seguinte informações Da Pessoa a Ser Cadastrada : " << "\n\n";
    
    cout << " Nome Completo : ";
    gets(lyricsTemp);
    pessoas.nome.push_back(lyricsTemp);
    cout << " Data de Nascimento : ";
    gets(lyricsTemp);
    pessoas.dataNasc.push_back(lyricsTemp); 
    
   
    cout << " Idaade Atual : ";
    gets(lyricsTemp);
    pessoas.idadeAtu.push_back(lyricsTemp);
    
    cout << " Digite O Cpf da Pessoa : ";
    gets(lyricsTemp);
    pessoas.cpf.push_back(lyricsTemp);
    
    cout << " Digite O Rg da Pessoa : ";
    gets(lyricsTemp);
    pessoas.rg.push_back(lyricsTemp);
    
    cout << " Endereco : ";
    gets(lyricsTemp);
    pessoas.endereco.push_back(lyricsTemp);
    
    cout << " Email : "; 
    gets(lyricsTemp);
    pessoas.email.push_back(lyricsTemp);
    
    cout << " Telefone : ";
    gets(lyricsTemp);
    pessoas.telefone.push_back(lyricsTemp);
 
}
void imprimiCadastro(){ 
    
    cout << " Nome : " << pessoas.nome[0]                    << endl;
    cout << " Data de Nascimento : " << pessoas.dataNasc[0]  << " / ";
    cout << " Idade Atual : " << pessoas.idadeAtu[0]         << endl;
    cout << " CPF : " << pessoas.cpf[0]                      << " / ";
    cout << " RG  : " << pessoas.rg[0]                       << endl;
    cout << " Endereço :" << pessoas.endereco[0]             << endl;
    cout << " Email :" << pessoas.email[0]                   << endl;
    cout << " Telefone : " << pessoas.telefone[0]            << endl;
     
}

Eu não li seu código inteiro, só fiz 2 mudanças, aumentar o tamanho do vetor e tirar os parâmetros das funções. Assim funcionou, mas não é muito legal usar variável global, é melhor usar ponteiro.

Visitante
Este tópico está impedido de receber novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!