Jump to content
Fórum Script Brasil
  • 0

If Else


marrom

Question

Pessoal não estou conseguindo criar um programinha com if else...

Fazer um programa que mostre 3 valores A,BeC e após apresente os valores em ordem crescente usando a condicao if else

alguém poderia me ajudar ou dar um exemplo pois já tentei quebrar a cabeca e não consegui criar este programinha

Link to comment
Share on other sites

7 answers to this question

Recommended Posts

  • 0

Se eu não me perdi nesse emaranhado de ifs ( wacko.gif ), seria isso:

    if (A>B & A>C) {
        if (B>C) {
            printf("%i, %i, %i", C, B, A);
        }
        else {
            printf("%i, %i, %i", B, C, A);
        }
    }
    else {
        if (B>A & B>C) {
            if (A>C) {
                printf("%i, %i, %i", C, A, B);
            }
            else {
                printf("%i, %i, %i", A, C, B);
            }
        }
        else {
            if (B>A) {
                printf("%i, %i, %i", A, B, C);
            }
            else {
                printf("%i, %i, %i", B, A, C);
            }
        }
    }

É claro que se pode usar três variáveis (primeiro, segundo e terceiro) a fim de fazer o printf apenas uma vez.

Abraços,

Graymalkin

Link to comment
Share on other sites

  • 0

Opa! Beleza? wink.gif

Observe esse código (considere duas variáveis char: c1 e c2):

if ( tolower( c1 ) >= tolower( c2 ) )
   printf( "%c %c\n", c2, c1 );
else
   printf( "%c %c\n", c1, c2 );

Na tabela ASCII, vemos que, à medida que avançamos no alfabeto, os números decimais correspondentes aos caracteres vão aumentando (se um decimal é maior que outro, o caracter que ele representa estará mais à frente na tabela). É isso que o "if" testa.

Usei a função "tolower" (da biblioteca "ctype.h") para converter os caracteres em questão para minúsculo, mas só durante a comparação, porque os caracteres maiúsculos são diferentes dos minúsculos ("a" é diferente de "A", por exemplo) e se o usuário entrar com "a" e "B", por exemplo, o teste não produzirá o resultado desejado.

Até mais! tongue.gif

Link to comment
Share on other sites

  • 0
Car agora to tentando fazer um programa que compare 2 letras digitados pelo usuario e apresente as letras em ordem alfabetica

você poderia me ajudar com um exemplo usando a tabela ascii wink.gif

Comparar dois chars dá no mesmo de comparar dois inteiros com os respectivos códigos ASCII (só repare na observação feita pelo Wicker, em relação a maiúsculas e minúsculas). Dessa forma, não há diferença entre o primeiro caso (dos valores) e este segundo.

Abraços,

Graymalkin

Link to comment
Share on other sites

  • 0

Valeu pessoal

Eu fiz de um outro jeito e funciona tanto em letras maiusculo como minusculo

Não sei se é o certo mas funciona, gostari de saber a opnião de voces tongue.gif

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

void main(){

char A, B;
clrscr();

scanf("%c %c",&A, &B);

if (A < B)
{
printf("%c %c", A, B);
}
else
{
printf("%c %c", B, A);
}

getch();


}

Link to comment
Share on other sites

  • 0

Funcionar, funciona se forem fornecidos chars minúsculos. Pois como disseram antes, d é menor que C, pois os maiúsculos ficam mais "pra cima" na tabela ASCII. Então é melhor fazer como disseram antes, transformando todas em maiúsculas.

Link to comment
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.



  • Forum Statistics

    • Total Topics
      152.2k
    • Total Posts
      651.8k
×
×
  • Create New...