+ Responder ao Tópico



  1. #1

    Padrão Turbo c Help!!

    Ola Linuxers <IMG SRC="images/forum/icons/icon_biggrin.gif">

    entao , gostaria de saber se alguem pode me explicar como usar o comando

    case : e o swith

    nao peguei a logica da coisa ainda , fico pensando pq nao usar o if , so que tenho prova final , e nao sei usar esse comando , deem um help , por favor , apostila , links etc... sao todos bem vindos!

    valewww



    []os MAJOR


  2. #2

    Padrão Turbo c Help!!

    Amigo o if eh mais indicado para duas, tres quando muito quatro validacoes...acima disso soh em casos especiais...
    Um exemplo muito pratico e simples do case eh:
    **enquanto ** B
    caso B = \n
    caso B = eof
    caso B = Shift
    Acima traduzido e sem formatacao o uso basico do case para tratar a variavel B (no caso um caracter) , isto eh muito usado para funcoes de leituras de consolo por exemplo ...substituindo a funcao getchar ou scanf que possuem limitacoes e bugs....
    Vc encontrarah muito facil na net tutoriais e manuais...inclusive o TurboC 3.0 que eh muito facil de usar e possui um help muito bom.

    Espero que tenha ajudado..qq coisa me escreve... <IMG SRC="images/forum/icons/icon_smile.gif">

  3. #3

    Padrão Turbo c Help!!

    Para complementar a resposta, nada melhor que um exemplo pratico:
    Segue abaixo um fonte em C DOS (compila em TurboC 3.0)
    Coisa bem basica..e justamente por isso eh um bom exemplo.

    #include <conio.h>
    #include <stdio.h>
    #include <stdlib.h>
    #include <mem.h>
    #include <string.h>
    #include <inkey.h>
    #include <graphics.h>

    /*Funcao de Escrita*/
    void pput (int x,int y,int cor,char *text,int tamanho)
    {
    int i=0;
    gotoxy(x,y);
    textcolor(cor+1);
    textbackground(cor);

    do
    {
    cprintf("%c",text[i]);
    i++;
    }while(i!=tamanho);
    }


    /*Le qualquer caracter e analisa backspace*/
    void gget (char *texto,int tamanho,int x,int y)
    {
    char c=0;
    int i=0;
    memset(texto,0,tamanho);
    do
    {
    c=getch();
    switch (c) {
    case K_RETURN | K_ENTER : break; /*13= return*/
    case K_BS : c=0;i-=2; /*8= tecla backspace*/
    case K_UP : gotoxy(x,y+1);
    case K_DOWN : gotoxy(x,y-1);
    case K_LEFT : gotoxy(x-1,y);
    case K_RIGHT : gotoxy(x+1,y);
    default: if(c!=13 && c>96 && c<123) texto[i]=c;
    break;
    }
    cprintf("%s",texto);
    i++;
    }while(texto[i]!=tamanho);
    texto[tamanho+1]=0;
    }



    /*Funcao de Leitura somente de letras Caixa alta e baixa*/
    void ggetl (char *texto,int tamanho)
    {
    char c;
    int i=0;
    memset(texto,0,tamanho);
    do
    {
    c=getch();
    if(c==13)break;
    if(c!=13 && c>96 && c<123) texto[i]=c;
    cprintf("%c",c);
    i++;
    }while(texto[i]!=tamanho);
    texto[i]=NULL;
    }


    void main (void)
    {
    char nome[40+1];
    //nome[0]=0;
    clrscr();
    gotoxy(5,10);
    cprintf("Digite um texto:\n\r"-);
    gget(nome,40);
    pput(10,10,5,nome,35);
    getchar();
    exit(0);
    }

    [ Esta mensagem foi editada por: RoninDarkTemplar em 27-11-2002 02:57 ]

  4. #4

    Padrão Turbo c Help!!

    Thanks Ronin!

    <IMG SRC="images/forum/icons/icon_biggrin.gif"> <IMG SRC="images/forum/icons/icon_biggrin.gif"> <IMG SRC="images/forum/icons/icon_biggrin.gif"> <IMG SRC="images/forum/icons/icon_biggrin.gif"> <IMG SRC="images/forum/icons/icon_biggrin.gif"> <IMG SRC="images/forum/icons/icon_biggrin.gif"> <IMG SRC="images/forum/icons/icon_biggrin.gif"> <IMG SRC="images/forum/icons/icon_biggrin.gif"> <IMG SRC="images/forum/icons/icon_biggrin.gif"> <IMG SRC="images/forum/icons/icon_biggrin.gif"> <IMG SRC="images/forum/icons/icon_biggrin.gif"> <IMG SRC="images/forum/icons/icon_biggrin.gif"> <IMG SRC="images/forum/icons/icon_biggrin.gif"> <IMG SRC="images/forum/icons/icon_biggrin.gif"> <IMG SRC="images/forum/icons/icon_biggrin.gif"> <IMG SRC="images/forum/icons/icon_biggrin.gif">


    []OS

    MAJOR

  5. #5
    modesto
    Visitante

    Padrão Turbo c Help!!

    switch(varialvel)
    {
    case 1: comandos;
    case 2: comandos;
    case 3: comandos;
    .
    .
    .
    case n: comandos;
    }