Ir ao conteúdo
  • Cadastre-se

C++ strings


Sakatsu

Posts recomendados

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;
}

Link para o comentário
Compartilhar em outros sites

não utilizo c++, mas strcmp compara strings, caracteres se comparam na "lata" mesmo usando o operador == em C++ não utilizas as funções do cabeçalho string.h porque ela tem um tipo de dados string orientado a objetos onde se usa operadores que facilitam sua vida, não use vetores de char em C++.

Torque a função pelo operador, assim:


int contar(char s[20], char ca)
{
int cont=0;

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


return cont;

Link para o comentário
Compartilhar em outros sites

Arquivado

Este tópico foi arquivado e está fechado para 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...

 

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!