- Turbo c Help!!
+ Responder ao Tópico
-
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
-
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">
-
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 ]
-
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
-
Turbo c Help!!
switch(varialvel)
{
case 1: comandos;
case 2: comandos;
case 3: comandos;
.
.
.
case n: comandos;
}