Ir ao conteúdo

Erros no compilador


Willian Antunes

Posts recomendados

Postado

Iae pessoal, beleza ??

Então, to com o seguinte exercício proposto, e abaixo dele segue o código que fiz:

/*Um cliente de um banco tem um saldo positivo de R$ 500,00. Fazer um algoritmo
que leia um cheque que entrou e calcule o saldo, mostrando(escrevendo) o saldo na tela.*/

#include <stdio.h>
#include <conio.h>

main()
{
float fSaldo, fChequeEntrada;
char resposta[3];

fSaldo = 500;
printf("O seu saldo atual esta em: %f",fSaldo);
printf("\nValor de entrada do cheque: ");
scanf("%f",&fChequeEntrada);
printf("\n\nO valor retirado foi: %f",fChequeEntrada);
printf("\nO valor retirado esta correto, sim ou nao? ");
scanf("%s",resposta);

if resposta = ("sim");
{
fSaldo = (fSaldo - fChequeEntrada);
printf("O seu saldo atual da conta esta em: %f",fSaldo);
}
else
{
printf("Favor, reinicie o sistema para o calculo correto.");
}


getch();




}

No compilador está dando os seguintes erros:

In function 'int main()'

expected '('before "resposta"

expected primary-expression before "else"

expected ';' before "else"

Aonde q estou errando ??

Postado

Está com erro na sintaxe do if. A sintaxe é:


if (condição){
comando;
comando;
comando;
}
else{
comando;
comando;
comando;
}

Não tem ; depois de um if.

E outra coisinha. C é uma linguagem bem chatinha na hora de se manipular e lidar com strings. Quando se quer fazer uma comparação entre duas strings, o operador padrão (==) não funciona. Para fazer isso tem que usar a função strcmp(). Você pode dar uma olhadinha arespeito dessa função no link abaixo:

http://www.cplusplus.com/reference/clibrary/cstring/strcmp/

Postado

Obrigado pela dica !! ..

Mas como to começando agora não to entendo direito como aplicar essa função ao meu algoritmo, embora eu já tenha terminado o exercício proposto (conforme no poste acima), tem como me mostrar um exemplo de como ficaria essa função ao meu algoritmo ??

Abraços!

Postado

Como a sintaxe da função está querendo dizer, ela faz a comparação de duas strings. Se as duas strings forem iguais, ele retorna 0. Quando eu falo igual, é exatamente igual (leva em conta maiúsculas e minúsculas).

Para o seu código a função poderia ser adicionada da seguinte maneira:


if(strcmp(resposta,"sim") == 0)

Postado
Como a sintaxe da função está querendo dizer, ela faz a comparação de duas strings. Se as duas strings forem iguais, ele retorna 0. Quando eu falo igual, é exatamente igual (leva em conta maiúsculas e minúsculas).

Para o seu código a função poderia ser adicionada da seguinte maneira:


if(strcmp(resposta,"sim") == 0)

Vlwww Los Santos !!! ... eu tinha até feito algo parecido, mas acredite, ficou muito promíscuo e diferente .. bom, vou deixar logo a baixo o código caso alguém necessite da mesma ajuda, segue:

/*Um cliente de um banco tem um saldo positivo de R$ 500,00. Fazer um algoritmo
que leia um cheque que entrou e calcule o saldo, mostrando(escrevendo)
o saldo na tela.*/

#include <stdio.h>
#include <conio.h>
#include <string.h>

main()
{
float fSaldo, fChequeEntrada;
char resposta[3];

fSaldo = 500;
printf("O seu saldo atual esta em: %f",fSaldo);
printf("\nValor de entrada do cheque: ");
scanf("%f",&fChequeEntrada);
printf("\n\nO valor retirado foi: %f",fChequeEntrada);
printf("\nO valor retirado esta correto, sim ou nao? ");
scanf("%s",resposta);

if (strcmp(resposta,"sim") == 0){
fSaldo = (fSaldo - fChequeEntrada);
printf("O seu saldo atual da conta esta em: %f",fSaldo);
}
else {
printf("Favor, reinicie o sistema para o calculo correto.");
}


getch();




}

Abração!

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...

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!