Olá estou gostando muito do site. NO meu caso eu uso o sublime text, mas esse termo system("cls||clear"); não é reconhcido por nenhum dos meus compiladores... Será que tenho que usar uma IDE, mas completa ao invés de editores de texto? Como o eclipse por exemplo?
23 de novembro de 2014 às 19:04
Anônimo disse...
Tente adicionar a biblioteca stdlib.h ao seu programa.
12 de janeiro de 2015 às 06:56
Anônimo disse...
é cls ou clean depende do seu sistema operacional
31 de janeiro de 2015 às 08:02
Anônimo disse...
cls || clear São comando limpar tela. descrição abaixo: cls usado S.O windows clear usado S.O Linux
16 de março de 2015 às 20:18
Anônimo disse...
Esse codigo da bug quando uma opção invalida é citada. Porque? (uso o codeblocks)
excelente curso, estou muito feliz por ter encontrado este site.
1 de maio de 2015 às 01:23
Anônimo disse...
Atmos Maciel, eu também estou usando o Sublime Text. Basta adicionar a biblioteca stdlib.h
9 de maio de 2015 às 08:48
Anônimo disse...
vlw ajudo eu :D
23 de outubro de 2015 às 12:09
Anônimo disse...
"do while" do C progressivo achei mais claro e didático que o"do while"do Luis Damas. por outro lado, achei interessante scanf("%d",&(espaço0)opcao); ao inves de: scanf("%d, &opcao); substitui o fflush(stdin) e o "system("cls || clear"); que, o Luis Damas mostra (pg 40) Linguagem C.
25 de fevereiro de 2016 às 14:17
Yan Fernandes disse...
Cara muito bacana esse comando system, é exatamente a mesma coisa que estar na propria shell do s.o, todos comandos rodam de boa
Você está usando a função system de uma maneira estranha, com a função system você pode para o programa executar o comando cls||clear (cls ou clear) no sistema. Vai retornar uma saída de comando não encontrado de alguns dos comandos dois comandos. O ideial serial usar estruturas de controle de fluxo para verificar se saída é falsa ou verdadeira.
Eu não consigo entender a função system,já olhei sua referência no site do cpluplus mas mesmo assim não esclareceu nada.Alguém pode me explicar como a função system funciona?
por que a opção invalida buga o programa? como eu arrumo?
3 de abril de 2017 às 16:52
Rayller disse...
Cara, custei entender o código. Não tinha percebido que quando o case 0, ele retorna falso e já encerra o laço. Mas no caso, isso funciona só no Switch? Alguem poderia me tirar essa dúvida?
26 de maio de 2017 às 05:04
Vamos apresentar o último, e não menos importante, laço de nosso curso C Progressivo: o laço do ... while.
Como o nome pode sugerir, ele tem muito a ver com o laço WHILE, que já estudamos e treinamos seu uso em tutoriais passados de nossa apostila de C.
Clique aqui e saiba como obter seu certificado de programação C! Entre já no Mercado de Trabalho!
Baixar nossa apostila: Apostila de C
Para que serve o laço DO WHILE em C
Como declarar e usar o laço DO WHILE em C
Lembrando que DO, em inglês e nesse contexto, significa "faça" e WHILE significa "enquanto".
Ou seja, esse laço quer dizer "faça isso" -> código -> "enquanto essa condição for verdadeira, repita" (note como os nomes dos comandos não são escolhidos de forma aleatória, tudo em programação C faz sentido e foi criado com propósitos de facilidade a vida do programador e aumentar sua eficiência).
Resumindo, ele sempre executa seu código ao menos uma vez, o que é uma mão na roda em certas ocasiões.
E qual a diferença do laço DO WHILE para o WHILE ?
Bom, para o WHILE rodar é necessário que a condição seja sempre verdadeira.
Logo, se ela for inicialmente FALSE, o looping while nunca irá rodar.
Já o DO WHILE vai rodar sempre, ao menos uma vez, mesmo que a condição existente no WHILE seja falsa (se for falsa, vai rodar só uma vez e termina).
A sintaxe desse comando é a seguinte
do
{
//código que
//será repetido
//aqui
} while (condição);
Vale realçar aqui que esse laço, diferente dos outros, POSSUI PONTO E VÍRGULA no final! Não se esqueçam!
No mais, não há segredos, é igual ao WHILE, a lógica é a mesma. Sabendo bem o WHILE, saberá bem o laço DO WHILE.
Vamos mostrar um exemplo em que o DO WHILE é bem usado em programação C: exibição de menu.
Exemplo de uso do laço DO WHILE: Criando um MENUCrie um menu que apresente algumas opções ao usuário, usando o laço DO WHILE e o teste condicional SWITCH em C, para selecionar as opções. Uma dessas condições é o término da exibição do menu.
Vamos usar apenas uma variável, o inteiro 'opcao' que irá selecionar a opção que o usuário quiser.
Dentro do escopo do do {}, mostramos o menu de opções e pedimos pro usuário digitar algo.
A condição do while é a própria variável.
Se o usuário digitar 0, o WHILE irá receber FALSE como condição e irá encerrar.
Caso o WHILE receba qualquer outra coisa diferente de 0, receberá valor lógico TRUE e irá continuar o laço DO WHILE.
Pois bem, já sabemos o que ocorre quando 0 é digitado.
Então, dentro do SWITCH, quando a opção 0 é selecionada, apenas limpamos a tela e damos um aviso de saída.
Caso 1 ou 2 seja digitado, idem: limpamos a tela e mostramos uma mensagem.
Caso 3 ou 4 seja escolhido, limpamos a tela e não acontece nada, simplesmente o menu é exibido novamente.
Se o usuário não digitar nenhuma dessas opções, é porque ele digitou algo errado e vai cair no case DEFAULT do SWITCH, e informamos que ele errou na escolha da opção.
Assim, nosso código de menu fica:
#include <stdio.h>
int main(void)
{
int opcao;
do
{
printf("\t\t\nMenu do curso C Progressivo\n");
printf("0. Sair\n");
printf("1. Dar Boas vindas\n");
printf("2. Dar Oi\n");
printf("3. Repetir o menu\n");
printf("4. Ler mais uma vez o menu\n");
printf("Opcao: ");
scanf("%d", &opcao);
switch( opcao )
{
case 0:
system("cls || clear");
printf("Saindo do menu...\n");
break;
case 1:
system("cls || clear");
printf(" Bem-vindo ao menu do portal C Progressivo! \n");
break;
case 2:
system("cls || clear");
printf(" Oi! \n");
break;
case 3:
case 4:
system("cls || clear");
break;
default:
system("cls || clear");
printf("Opcao invalida! Tente novamente.\n");
}
} while(opcao);
}
Obviamente esse é um exemplo simples, que não faz nada, mas mostra bem o funcionamento do DO WHILE.
E menus são, obviamente, muito usados em programação.
Em nossa apostila online de C, vamos usar menus em aplicativos de simulação de um sistema bancário, em jogos e vários outros aplicativos. Portanto, é essencial que tenha entendio bem o funcionamento do DO WHILE com SWITCH.
Exercício de C:No artigo sobre o teste condicional SWITCH em C, mostramos como usar ele para fazer uma calculadora. Refaça essa calculadora, com o mesmo SWITCH, mas agora mostrando as operações matemáticas como opções de um menu, dentro de um laço DO WHILE.
postado por Programação Progressiva às 06:45 em 26 de fev. de 2013
16 Comentários
Fechar esta janela Ir para formulário de comentárioOlá estou gostando muito do site. NO meu caso eu uso o sublime text, mas esse termo system("cls||clear");
não é reconhcido por nenhum dos meus compiladores... Será que tenho que usar uma IDE, mas completa ao invés de editores de texto? Como o eclipse por exemplo?
23 de novembro de 2014 às 19:04
Tente adicionar a biblioteca stdlib.h ao seu programa.
12 de janeiro de 2015 às 06:56
é cls ou clean depende do seu sistema operacional
31 de janeiro de 2015 às 08:02
cls || clear
São comando limpar tela.
descrição abaixo:
cls usado S.O windows
clear usado S.O Linux
16 de março de 2015 às 20:18
Esse codigo da bug quando uma opção invalida é citada. Porque? (uso o codeblocks)
27 de março de 2015 às 08:49
excelente curso, estou muito feliz por ter encontrado este site.
1 de maio de 2015 às 01:23
Atmos Maciel, eu também estou usando o Sublime Text. Basta adicionar a biblioteca stdlib.h
9 de maio de 2015 às 08:48
vlw ajudo eu :D
23 de outubro de 2015 às 12:09
"do while" do C progressivo achei mais claro e didático que o"do while"do Luis Damas. por outro lado, achei interessante scanf("%d",&(espaço0)opcao); ao inves de: scanf("%d, &opcao); substitui o fflush(stdin) e o
"system("cls || clear"); que, o Luis Damas mostra (pg 40) Linguagem C.
25 de fevereiro de 2016 às 14:17
Cara muito bacana esse comando system, é exatamente a mesma coisa que estar na propria shell do s.o, todos comandos rodam de boa
11 de março de 2016 às 01:31
Atmos Maciel
Você está usando a função system de uma maneira estranha, com a função system você pode para o programa executar o comando cls||clear (cls ou clear) no sistema.
Vai retornar uma saída de comando não encontrado de alguns dos comandos dois comandos. O ideial serial usar estruturas de controle de fluxo para verificar se saída é falsa ou verdadeira.
24 de abril de 2016 às 08:47
system("cls || clear"); qual e a funçao pra que serve?
22 de maio de 2016 às 17:52
system("cls || clear");pra que serve
22 de maio de 2016 às 17:52
Eu não consigo entender a função system,já olhei sua referência no site do cpluplus mas mesmo assim não esclareceu nada.Alguém pode me explicar como a função system funciona?
29 de maio de 2016 às 05:41
por que a opção invalida buga o programa? como eu arrumo?
3 de abril de 2017 às 16:52
Cara, custei entender o código. Não tinha percebido que quando o case 0, ele retorna falso e já encerra o laço. Mas no caso, isso funciona só no Switch? Alguem poderia me tirar essa dúvida?
26 de maio de 2017 às 05:04