Estou com problema nesse código, mais abaixo explicarei o problema:
//---------------------------------------------------------------------------
#pragma hdrstop
//---------------------------------------------------------------------------
#pragma argsused
#include <cstdlib>
#include <iostream>
#define maxtam 50
using namespace std;
int main(int argc, char* argv[])
{
char nome[maxtam+1], *c1, *c2, *final;
int contnomes = 0;
cout << "Entre com seu nome:\n";
gets(nome);
c1 = &nome[0];
final = &nome[0];
cout << c1 << ", " << final << "\n";
while (*final != ' ') {
final++;
}
do {
while ((*c1 == ' ') && (c1 < final)) {
c1++;
}
c2 = c1;
while ((*c1 != ' ') && (c1 < final)) {
c1++;
}
if (c1 < final) {
c1 = '';
cout << "\nO " << contnomes << ".o nome e : " << c2;
contnomes++;
}
else {
if (c1 > c2) {
cout << "\nO " << contnomes << ".o nome e : " << c2;
contnomes++;
}
}
c1++;
} while (c1 < final);
cout << "\n\nForam encontrados " << contnomes << " nomes.";
getchar();
return 0;
}
//---------------------------------------------------------------------------
Uso o compilador DEVC++ e essa parte do código, especificamente, está me dando dor de cabeça:
c1 = &nome[0];
final = &nome[0];
Teoricamente, ela deveria pegar o endereço da primeira letra do nome, porém, ele pega o nome completo digitado no programa acima e faz o que deve de fazer usando o noime completo que ele pegou....
Pergunta
ccgpirado
Estou com problema nesse código, mais abaixo explicarei o problema:
Uso o compilador DEVC++ e essa parte do código, especificamente, está me dando dor de cabeça:Teoricamente, ela deveria pegar o endereço da primeira letra do nome, porém, ele pega o nome completo digitado no programa acima e faz o que deve de fazer usando o noime completo que ele pegou....
Como posso corrigir esse erro??
Link para o comentário
Compartilhar em outros sites
1 resposta a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.