Ir ao conteúdo
  • Cadastre-se
Mauro Del Gaudio

problema com string

Recommended Posts

boa tarde fiz esse codigo porém quando vou criar o arquivo exe dele,aparece "warning: value computed is not used [-Wunused-value]"
 
Fazer um programa que receba uma string e dois caracteres e troque todas as ocorrências do primeiro caractere pelo segundo.
Exemplo: Seja a string "banana" e os caracteres 'a' e 'o', então a string ficará "bonono".
 
#include<iostream>
#include<string>
using namespace std;
int main()
{
    string palavra;
    int i;
    char letra1,letra2;
    getline(cin,palavra);
    cin>>letra1>>letra2;
    for(i=0;palavra!='\0';i++)
    {
        if(palavra==letra1)
            palavra==letra2;
    }
    cout<<palavra<<endl;
}
 

Compartilhar este post


Link para o post
Compartilhar em outros sites

noo pode cre hahaha valeu cara!


esse codigo pede a palavra e a letra, ai ele mostra em qual posiçao da string esta a letra digitada,

porque que quando executo esse codigo, nao aparece em qual posiçao esta a letra que procuro da palavra, se eu tirar a condiçao return -1, ai da certo,

mas preciso que retorne -1 caso nao haja a letra na palavra

 

#include<iostream>
#include<string>
using namespace std;
int main()
{
    string palavra;
    char letra;
    int i;
    getline(cin,palavra);
    cin>>letra;
    for(i=0;palavra!='\0';i++)
    {
        if(palavra==letra)
            cout<<i<<" ";
        else
            return -1;
    }
    
    return 0;
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não faz sentido usar return nesse else.

O return é usado para encerrar a função e retornar um valor. Logo, basta uma condição de "palavra != letra",

para terminar o programa. Já que esse return está associado a função main.

O ideal é você criar outra função e colocar return -1 no final, caso ele não encontre nenhuma letra na string.

Compartilhar este post


Link para o post
Compartilhar em outros sites

tipo isso

 

#include<iostream>
#include<string>
using namespace std;
string troca(string palavra);
int main()
 
{
string palavra;
char letra;
int i;
getline(cin,palavra);
cin>>letra;
troca(palavra);
return 0;
}
string troca(string palavra)
{
int i;
for(i=0;palavra!='\0';i++)
    {
        if(palavra==letra)
            cout<<i<<" ";
        else
            return '-1';
    }
 
 
só q ta dando erro, falando q nao dá pra retornar int

Compartilhar este post


Link para o post
Compartilhar em outros sites

Deu erro pois o valor de retorno não é do mesmo tipo da função.

Mas se você quer apenas exibir -1, hão há necessidade de criar uma função, você pode fazer assim:

#include <iostream>#include <string>using namespace std;int main(){    string palavra;    bool existe = false;    int i;    char letra1, letra2;    getline(cin, palavra);    cin >> letra1 >> letra2;    for(i = 0; i < palavra.length(); i++)        if(palavra[i] == letra1){            palavra[i] = letra2;            existe = true;        }        if(existe == false)        cout << -1 << endl;    else        cout << palavra << endl;    return 0;}

Compartilhar este post


Link para o post
Compartilhar em outros sites

acho q c junto os exercicios hahahaha

é esse aqui:

 

#include<iostream>
#include<string>
#include<cstdlib>
using namespace std;
string troca(string palavra,char letra);
int main()
 
{
    string palavra;
    char letra;
    int i;
    bool existe=false;
    getline(cin,palavra);
    cin>>letra;
    for(i=0;palavra!='\0';i++)
    {
        if(palavra==letra)
        {
            cout<<i<<" ";
            existe=true;
         }
         else if(existe==false)
             cout<<"-1"<<endl;
         }
    system("pause");
    return 0;
}
 
 
esse ai você digita a palavra e uma letra, dai imprime em qual posiçao da string esta a letra,se nao tiver a letra que você digitou então retorna -1

Compartilhar este post


Link para o post
Compartilhar em outros sites

Basta fazer uma pequena alteração no código

int main(){    string  palavra;    bool    existe = false;    int     i;    char    letra1;    getline(cin, palavra);    cin >> letra1;    for(i = 0; i < palavra.length(); i++)        if(palavra[i] == letra1){            cout << i + 1 << endl;            existe = true;        }        if(existe == false) cout << -1 << endl;    return 0;}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora





Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações 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

×