Sakatsu 0 Denunciar post Postado Janeiro 29, 2013 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
GBecker 51 Denunciar post Postado Janeiro 29, 2013 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
Sakatsu 0 Denunciar post Postado Janeiro 29, 2013 era mesmo esse o erro ja tinha corrigido , vlw ;) Compartilhar este post Link para o post Compartilhar em outros sites