Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Sakatsu

c++ Strings

Recommended Posts

boas, preciso fazer um programa que lê uma string, e um caracter posteriormente e analisa quantas vezes o carater digitado aparece na string, nao estou a conseguir finalizar alguem pode ajudar?


#include <iostream>
#include <cstdlib>
#include <string.h>

using namespace std;

char string1[20];
char carater;


//------------------
void resultados(int contador)
{
cout<<"\nNumero de Ocorrencias: "<<contador;
}
//------------------
int contar(char s[20], char ca)
{
int cont=0;

for(int i=0;i<20;i++)
{
if(strcmp(s[i],ca)==0)
cont++;
}


return cont;
}

//------------------
void analisar()
{
cout<<"\nQual o caracter que quer analisar: ";
cin>>carater;

}

//------------------
void obter_dados()
{
cout<<"\nDigite uma string: ";
cin.getline(string1,20);
}

//------------------

int main()
{
int c=0;

obter_dados();
analisar();
c=contar(string1,carater);
resultados(c);

system("pause");
return 0;
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sakatsu,

 

Tem certeza que esse código compila?

 

Tentei compilar, e de cara deu erro nesta linha:

if(strcmp(s[i],ca)==0)


strcmp é utilizado para comparar duas strings, não pode usá-la para comparar string com um caractere.

Substitu-a a linha acima por:

if(s[i] == ca)

Que não haverá erros.

 

Mais informações sobre a strcmp:

http://www.cplusplus.com/reference/cstring/strcmp/?kw=strcmp

 

OBS.: Você está utilizando string em C, para utilizar em C++, deve fazer uso da classe string.

http://www.cplusplus.com/reference/string/string/?kw=string

 

Espero ter ajudado, FLW!

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.