I am trying to compare the word deposit with what the user will type, and if it is the same it will make the deposit

-1
#include <stdio.h>
#include <stdlib.h>
#include <math.h>

char nome[45], menu[45];
float saldo, valor;

main(){
    printf("Digite seu nome \n");
    scanf("%s", &nome);
    printf("Digite o saldo \n");
    scanf("%f", &saldo);
    printf("Digite o valor \n");
    scanf("%f", &valor);

    printf("Digite uma das opcoes (saldo/deposito/retirada) \n");
    scanf("%s", &menu);

    if(menu=='deposito'){
        saldo=saldo+valor;
        printf("O saldo mais o valor depositado e igual a: %.2f\n", saldo);
    }else if(menu=='retirada'){
        saldo=saldo-valor;
        printf("O saldo menos o valor depositado e igual a: %.2f\n", saldo);
    }else if(menu=='saldo'){
        printf("O saldo e igual a: %.2f\n", saldo);
    }else{
        printf("Erro");
    }

}
    
asked by anonymous 20.04.2018 / 06:18

1 answer

0

You can not compare a char string with an element enclosed in single quotes, that is

menu == 'deposito' // deveria ser:
menu == "deposito"

Here is your complete code, I changed the printf to elements of the iostream library since you said the code is c ++ and they are easier to use and understand.

#include <iostream>

std::string nome, menu;
float saldo, valor;

main()
{
    std::cout << "Digite seu nome: \n";
    std::cin >> nome;
    std::cout << "Digite o saldo: \n";
    std::cin >> saldo;
    std::cout << "Digite o valor: \n";
    std::cin >> valor;

    std::cout << "Digite uma das opcoes (saldo/deposito/retirada):\n";
    std::cin >> menu;

    if (menu == 'deposito') {
        saldo = saldo + valor;
        printf("O saldo mais o valor depositado e igual a: %.2f\n", saldo);
    }
    else if (menu == 'retirada') {
        saldo = saldo - valor;
        printf("O saldo menos o valor depositado e igual a: %.2f\n", saldo);
    }
    else if (menu == 'saldo') {
        printf("O saldo e igual a: %.2f\n", saldo);
    }
    else {
        printf("Erro");
    }
}
    
20.04.2018 / 13:26