ajuda em c++ ( funções e registros)

1. ajuda em c++ ( funções e registros)

matheus piscioneri
mxczpiscioneri

(usa Ubuntu)

Enviado em 26/03/2011 - 00:15h

Pessoal, uso o microsoft visual studio c++ express 2010.
quando rodo o programa ele dah erro em tres linhas (irei identifica-las), msm com o erro, se eu rodar o pragrama ele e ir em cadastrar, ele pede o nome mas depois aparece o peso, altura e sexo tudo junto....
alguem pode mi ajudar?

#include<iostream>

#include<string>

using namespace std;



const int QUANTIDADE = 3;

int quantidade_registros = 0;



struct pessoa{

char nome[100];

int idade;

float altura;

float peso;

char sexo[10];

};







int buscar (pessoa Cadastro[QUANTIDADE]);

int menu();

int cadastrar(pessoa Cadastro[QUANTIDADE]);

void mostrar();

int excluir(pessoa Cadastro[QUANTIDADE]);





void main(){

int escolha, i;

pessoa Cadastro[QUANTIDADE];



do{

escolha = menu();

if (escolha == 1)

{

cout<<"\nDigite o nome:";

fflush(stdin);

for (i=0; i<QUANTIDADE; i++)

gets_s(Cadastro[i].nome);

cadastrar(Cadastro);

break;

}

else if (escolha == 2)

{

cout<<"\nDigite o nome:";

fflush(stdin);

for (i=0; i<QUANTIDADE; i++)

gets_s(Cadastro[i].nome);

if(buscar(Cadastro))

cout<<"Registro encontrado\n";

else

cout<<"Registro nao encontrado\n";

break;

}

else if(escolha == 3)

{

cout<<"\nDigite o nome:";

fflush(stdin);

for (i=0; i<QUANTIDADE; i++)

gets_s(Cadastro[i].nome);

if(excluir(Cadastro))

cout<<"Exclusão com sucesso!\n";

break;

}

else if (escolha == 4)

{

mostrar();

break;

}

else

cout<<"Opção Invalida\n";



}while(escolha!=5);

}



int buscar (pessoa Cadastro[QUANTIDADE]){


//da erro nessa linha de baixo e nas outras iguais a ela nas outra funções
pessoa Cadastro[QUANTIDADE];

char nome[100];



fflush(stdin);

gets_s(nome);

for(int i=0; i<quantidade_registros; i++){

if(Cadastro[i].nome == nome){

return 1;

}

}

return 0;

}



int menu(){

pessoa Cadastro[QUANTIDADE];

int escolha;

cout<<"\n----Menu----\n";

cout<<"1 - Cadastrar\n";

cout<<"2 - Buscar\n";

cout<<"3 - Excluir\n";

cout<<"4 - Mostrar todos\n";

cout<<"5 - Sair\n";

cout<<"Digite opção:";

cin>>escolha;

return escolha;

}



int cadastrar(pessoa Cadastro[QUANTIDADE]){

//nesta tmb da erro
pessoa Cadastro[QUANTIDADE];



char nome[100];

int idade;

float peso;

float altura;

char sexo[10];

if(quantidade_registros == QUANTIDADE){

cout<<"Não existe registro disponivel para inserir\n";

return 0;

}

if (buscar(Cadastro)){

cout<<"Registro ja exite\n";

return 0;

}

cout<<"Digite idade:";

cin>>Cadastro[quantidade_registros].idade;

cout<<"Digite altura:";

cin>>Cadastro[quantidade_registros].altura;

cout<<"Digite peso:";

cin>>Cadastro[quantidade_registros].peso;

cout<<"Digite sexo:";

fflush(stdin);

gets_s(Cadastro[quantidade_registros].sexo);



quantidade_registros++;



return 1;

}



void mostrar(){

pessoa Cadastro[QUANTIDADE];

char nome[100];



cout<<"\n----Mostrando todos os registros----\n";

for(int i=0; i<quantidade_registros; i++){

cout<<"\nNome:"<<Cadastro[i].nome<<"\n";

cout<<"Sexo:"<<Cadastro[i].sexo<<"\n";

cout<<"Idade:"<<Cadastro[i].idade<<"\n";

cout<<"Altura"<<Cadastro[i].altura<<"\n";

cout<<"Peso"<<Cadastro[i].peso<<"\n\n";

}

cout<<"Fim dos registros\n";

}



int excluir(pessoa Cadastro[QUANTIDADE]){

// e nesta tmb
pessoa Cadastro[QUANTIDADE];

char nome[100];

int i;

if (quantidade_registros == 0){

cout<<"Nao ha registros\n";

return 0;

}

if(quantidade_registros == 1){

quantidade_registros--;

return 1;

}

for(i=0; i<quantidade_registros; i++){

if(Cadastro[i].nome == nome)

break;

}

for(int j=i+1; j<quantidade_registros; j++, i++){

Cadastro[i]=Cadastro[j];

}

quantidade_registros--;

return 1;

}


  


2. Re: ajuda em c++ ( funções e registros)

Mauricio Souza Klein
Hebang

(usa Arch Linux)

Enviado em 26/03/2011 - 00:22h

Cara, de boa, tu ta zoando o VOL!!!

Tu criou um tópico igual hoje a tarde, o pessoal reclamou que tu não disse nada a respeito do erro e pediu mais informacoes, e tu simplesmente ignorou os nossos pedidos e recriou o tópico NÃO DIZENDO NADA NOVAMENTE...

Eu sei qual o problema do teu código, mas por pura birra vou te deixar na mão, como outros também farão.


3. :P

Caio Marchi Gomes do Amaral
CaioMGA

(usa Linux Mint)

Enviado em 30/03/2011 - 00:51h

------------






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts