• 0
Sign in to follow this  
lb_guilherme

Variavel

Question

7 answers to this question

Recommended Posts

  • 0

Você pode colocar qualquer caracter em um char, o que inclui símbolos como "+", "-", "*" e "/".

Abraços,

Graymalkin

Share this post


Link to post
Share on other sites
  • 0

A variável do tipo char pode compreender todo tipo de caracter contido na

tabela "ASCII" então vide a tabela "ASCII" e então saberá quais caracteres

ou simbolos possíveis o tipo char pode assumir.

Fallow

Share this post


Link to post
Share on other sites
  • 0

Então ai vai o codigo... Desculpa pela demora pra responder.

#include "ostream.h"
#include "iostream.h"
int numcont;
int num1;
int num2;
char sinal;
int resultado;
int v;
int main()
{
    for (int a=1;a>=0;a++){
    printf("Digite a conta (digite o primeiro valor e aperte Enter. dapois digite o sinal\n(+,-,*,/) e Enter.Agora aperte o segundo valor. Enter.):\n");
    scanf("%i",&num1);
    scanf("%c",&sinal);
    scanf("%i",&num2);

    switch(sinal)

    {case '+':
            {system("cls");
            printf("%i+%i=",num1,num2);
            scanf("%i",&resultado);
            v = num1 + num2;
            if (resultado == v)
                printf("\n\nCorreto!!!\n");
            else
                printf("\n\nErrado\n");
            break;}
        case '-':
            {system("cls");
            printf("%i-%i=",num1,num2);
            scanf("%i",&resultado);
            v = num1 - num2;
            if (resultado == v)
                printf("\n\nCorreto!!!\n");
            else
                printf("\n\nErrado\n");
            break;}
        case '*':
            {system("cls");
            printf("%ix%i=",num1,num2);
            scanf("%i",&resultado);
            v = num1 * num2;
            if (resultado == v)
                printf("\n\nCorreto!!!\n");
            else
                printf("\n\nErrado\n");
            break;}
        case '/':
            {system("cls");
            printf("%i:%i=",num1,num2);
            scanf("%i",&resultado);
            v = num1 / num2;
            if (resultado == v)
                printf("\n\nCorreto!!!\n");
            else
                printf("\n\nErrado\n");
            break;}
        defalt:
            {printf("Erro, sinal não encontrado\n");break;}}

    printf("Deseja continuar? (s/n):");
    scanf("%i",&numcont);
    if (numcont=='s')
    {}
    if (numcont=='n')
        break;}
    return 0;
}

Share this post


Link to post
Share on other sites
  • 0

Ao ler o valor e pressionar ENTER você vai estar preenchendo o sinal justamente com o valor do ENTER. Deve ser este o problema.

Abraços,

Graymalkin

Share this post


Link to post
Share on other sites
  • 0
Guest - PePeLeGaL -

tai colega,

pelo que percebi, seu codigo é em C++. E tambem, notei que voce fez no Windows.

o codigo abaixo eu fiz em C e utilizando Slackware. Compare com o seu :D

#include<stdio.h>

int
main()
{
    char opcao[2],
     cont[2];
    int n1, 
    n2,
    n3,
    v;
    
    for(;;)
    {
    printf("Digite o primeiro numero: ");
    scanf("%d",&n1);
    
        printf("Sinal: ");
    scanf("%s",opcao);

    printf("Digite o segundo numero: ");
    scanf("%d",&n2);
    
        switch(opcao[0])
    {
        case '+':
        printf("%d + %d = ", n1, n2);
        scanf("%d",&n3);
        v = n1 + n2;
        if(n3 == v)    
            printf("\nCorreto!!!\n");
        else
            printf("\nErrado!!!\n");
            break;
        
            case '-':
        printf("%d - %d = ", n1, n2);
        scanf("%d",&n3);
        v = n1 - n2;
        if(n3 == v)    
            printf("\nCorreto!!!\n");
        else
            printf("\nErrado!!!\n");
        
            break;
        
            case '*':
        printf("%d * %d = ", n1, n2);
        scanf("%d",&n3);
        v = n1 * n2;
        if(n3 == v)    
            printf("\nCorreto!!!\n");
        else
            printf("\nErrado!!!\n");
        
            break;

            case '/':
        printf("%d / %d = ", n1, n2);
        scanf("%d",&n3);
        v = n1 / n2;
        if(n3 == v)    
            printf("\nCorreto!!!\n");
        else
            printf("\nErrado!!!\n");
        
            break;
        
        default:
        printf("Erro! Sinal não encontrado!!!");
    
    }
    
    printf("Continuar(s/n)? ");
    scanf("%s",cont);
    
    if(cont[0]=='s')
       ;
    else
        break;
    }
    
    return 0;
}



Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this