10
Instituto Federal de Educação, Ciência e Tecnologia da Bahia Campus Irecê. Disciplina: Algoritmos II NOTA_____ EXERCÍCIOS - ESTRUTURA DE REPETIÇÃO (FOR e WHILE E DO-WHILE) 1. Faça um programa que calcule e escreva o valor de S: ------------------------------------------------------------------------------------------------------------------------------- 2. Faça um programa que exiba a sequencia completa abaixo: #include <stdio.h> #include <conio.c> #include <conio.h> #include <stdlib.h> #include <iostream> #include <windows.h> #include <time.h> using namespace std; main() { // declaração de variaveis int numerador=-2; int denominador=104; /* laço while será executado enquanto o valor da variavel DENOMINADOR for maior que ZERO. */ while (denominador > 0){ numerador=numerador+2; // variavel conta de 2 em 2 denominador = denominador-4; // variavel diminui de 4 em 4 cout << numerador << " " << denominador << endl; } getch(); } ------------------------------------------------------------------------------------------------------------------------------- 3. Faça um programa que solicite ao usuário 10 números inteiros e, ao final, informe a quantidade de números ímpares e pares lidos. Calcule também a soma dos números pares e a média dos números ímpares. #include <stdio.h> #include <conio.c> #include <conio.h> #include <stdlib.h> #include <iostream> #include <windows.h> #include <time.h> using namespace std; main() { int numeros=0,nImpares=0,nPares=0,somaPares=0,somaImpares=0;

EXERCÍCIOS - ESTRUTURA DE REPETIÇÃO (FOR e WHILE E DO-WHILE)

Embed Size (px)

Citation preview

Page 1: EXERCÍCIOS - ESTRUTURA DE REPETIÇÃO (FOR e WHILE E DO-WHILE)

Instituto Federal de Educação, Ciência e Tecnologia da Bahia – Campus Irecê.

Disciplina: Algoritmos II

NOTA_____

EXERCÍCIOS - ESTRUTURA DE REPETIÇÃO (FOR e WHILE E DO-WHILE)

1. Faça um programa que calcule e escreva o valor de S:

------------------------------------------------------------------------------------------------------------------------------- 2. Faça um programa que exiba a sequencia completa abaixo:

#include <stdio.h> #include <conio.c> #include <conio.h> #include <stdlib.h> #include <iostream> #include <windows.h> #include <time.h> using namespace std; main() { // declaração de variaveis int numerador=-2; int denominador=104; /* laço while será executado enquanto o valor da variavel DENOMINADOR for maior que ZERO. */ while (denominador > 0){ numerador=numerador+2; // variavel conta de 2 em 2 denominador = denominador-4; // variavel diminui de 4 em 4 cout << numerador << " " << denominador << endl; } getch(); }

------------------------------------------------------------------------------------------------------------------------------- 3. Faça um programa que solicite ao usuário 10 números inteiros e, ao final, informe a quantidade de

números ímpares e pares lidos. Calcule também a soma dos números pares e a média dos números ímpares.

#include <stdio.h> #include <conio.c> #include <conio.h> #include <stdlib.h> #include <iostream> #include <windows.h> #include <time.h> using namespace std; main() { int numeros=0,nImpares=0,nPares=0,somaPares=0,somaImpares=0;

Page 2: EXERCÍCIOS - ESTRUTURA DE REPETIÇÃO (FOR e WHILE E DO-WHILE)

float mediaImpares = 0.00; gotoxy(5,5);cout << "Digite abaixo 10 Numeros: " << endl << endl; for (int i=0; i<10; i++) //inicia a repetição “for” até 10 { cout << "Meu numero: "; cin >> numeros; // recebe a digitação if (numeros %2 == 0) //verifica se o resto da divisão por 2 é zero. { nPares++; // se o número é par, incrementa o contador somaPares=somaPares+numeros; // aqui, soma os números pares } else { nImpares++; // se não é par, é impar. Incrementa o contador somaImpares=somaImpares+numeros; //soma os impares } } if(nImpares >0) mediaImpares = (float)somaImpares/nImpares; //media dos impares gotoxy(10,18);cout << "RESULTADO" << endl; gotoxy(10,19);cout << "-----------------------------" << endl; gotoxy(10,20);cout << "Quant. Pares ......: " << nPares; gotoxy(10,21);cout << "Quant. Impares.....: " << nImpares; gotoxy(10,22);cout << "Soma dos Pares ....: " << somaPares; gotoxy(10,23);cout << "Media dos Impares..: " << mediaImpares; getch(); }

------------------------------------------------------------------------------------------------------------------------------- 4. Foi realizada uma pesquisa com 200 pessoas que assistiram uma peça de teatro, em relação a sua

opinião sobre a mesma. Cada espectador respondeu a um questionário que solicitava os seguintes dados:

idade da pessoa;

o identificador da pessoa;

opinião em relação à peça(de 0 a 10).

Faça um programa que, a partir destes dados, calcule e imprima:

a. A quantidade de respostas 10.

b. A média de idade das pessoas que responderam o questionário.

c. A percentagem de pessoas que responderam 5 ou menos para a opinião da peça.

d. O identificador da pessoa mais velha.

* Considere que a maior idade não é repetida.

#include <stdio.h> #include <conio.c> #include <conio.h> #include <stdlib.h> #include <iostream> #include <windows.h> #include <time.h> using namespace std; main() { int idade=0,contador=0,conta10=0,contaIdade=0,somaIdade=0; int contaMenor5=0,nPesq=200,maisVelha=0; char sexo,sexoMaisVelha; float notaPeca=0.00,mediaIdades=0.00,porcentagem=0.00;

Page 3: EXERCÍCIOS - ESTRUTURA DE REPETIÇÃO (FOR e WHILE E DO-WHILE)

do { // começa a repetição gotoxy(15,2);cout << "Pesquisa Literaria - 200 OPINIOES " << endl << endl; gotoxy(15,4);cout << "Qual sua Idade? "; cin >> idade; gotoxy(15,5);cout << "Qual seu Sexo [f | m] ? "; cin >> sexo; gotoxy(15,6);cout << "Que nota voce da a peca: [0 a 10] "; cin >> notaPeca; clrscr(); contaIdade++; //conta as idade somaIdade = (somaIdade+idade); //soma as idades mediaIdades = (somaIdade/contaIdade); // calcula a media das idades if (idade > maisVelha) // compara a idade e aponta o sexo { maisVelha=idade; sexoMaisVelha=sexo; } if (notaPeca == 10){conta10++;} // conta as notas 10 if (notaPeca <= 5){contaMenor5++;} //conta as notas menores que 5 contador++; //incrementa o contador para encerrar a pesquisa }while (contador <= nPesq); //termina a repetição porcentagem = (contaMenor5 * 100)/contador; // calcula a porcentagem menor 5% gotoxy(15,17);cout << " ........ RESULTADOS ......: " << endl; gotoxy(15,18);cout << "Idade da pessoa mais Velha.: " << maisVelha; gotoxy(15,19);cout << "Sexo da pessoa mais Velha..: " << sexoMaisVelha; gotoxy(15,20);cout << "Deram notas baixas .......: " << contaMenor5; gotoxy(15,21);cout << "Deram nota 10 .............: " << conta10; gotoxy(15,22);cout << "Soma de todas as idades....: " << somaIdade; gotoxy(15,23);cout << "Media das idades ..........: " << mediaIdades; gotoxy(15,24);cout << "% das notas abaixo de 5 ...: " << porcentagem; getch(); }:

------------------------------------------------------------------------------------------------------------------------------- 5. Uma empresa realizou uma pesquisa com os seus fornecedores, na qual foram coletados os

seguintes dados referentes aos produtos fornecidos:

ID, Valor e Percentual de aumento

Obs. Se o produto não tiver sofrido alteração de preço, o percentual de aumento será igual a 0.

Faça um programa que determine e escreva:

O novo valor de cada um dos produtos.

A quantidade de produtos mais caros que R$ 100,00 (após aumento) e que tiveram aumento superior a 5%.

A média de valor dos produtos que não sofreram aumento.

O valor do produto mais caro (após aumento).

Obs.: o programa solicita dados até que o ID digitado seja zero.

#include <stdio.h> #include <conio.c> #include <conio.h> #include <stdlib.h> #include <iostream> #include <windows.h> #include <time.h> using namespace std; main()

Page 4: EXERCÍCIOS - ESTRUTURA DE REPETIÇÃO (FOR e WHILE E DO-WHILE)

{ int ID; float valor=0,pAumento=0.00,novoValor,mediaSemAumento,maisCaroPos=0.00,somaSemAumento=0.00; int pMaisQ100=0,aumMaisQ5=0,contaSemAumento=0; while (ID > 0 ) { clrscr(); gotoxy(15,2);cout << ":: PESQUISANDO FORNECEDORES - [0] para Sair ::" << endl; gotoxy(15,5);cout << "Qual o ID ..........: "; cin >> ID; gotoxy(15,6);cout << "Qual o valor .......: "; cin >> valor; gotoxy(15,7);cout << "Quantos % aumento...: "; cin >> pAumento; novoValor = valor + (valor*pAumento)/100; // verificar e contar valor acima de 100 depois do aumento if (novoValor > 100) {pMaisQ100++;} // verificar e contar valor que tiveram mais de 5% de aumento if (pAumento > 5) {aumMaisQ5++;} // verifica se teve Zero de aumento, conta os valores e soma os valores // calcula a média dos valores que não sofreram aumento if (pAumento == 0 ){ contaSemAumento++; somaSemAumento = (somaSemAumento+valor); mediaSemAumento = (somaSemAumento/contaSemAumento); } if (novoValor > maisCaroPos) { maisCaroPos = novoValor; } clrscr(); gotoxy(15, 9);cout << ":: VALORES ::" << endl; gotoxy(15,11);cout << "Produto ..........: " << ID << endl; gotoxy(15,12);cout << "Valor do Produto ...: " << valor << endl; gotoxy(15,13);cout << "Percentural aument..: " << pAumento << endl; gotoxy(15,14);cout << "Novo Valor ........: " << novoValor << endl; gotoxy(15,15);cout << "Qtd maiores que 100.: " << pMaisQ100 << endl; gotoxy(15,16);cout << "Qtd acima de +5% ...: " << aumMaisQ5 << endl; gotoxy(15,17);cout << "Qtd sem Aumento ....: " << contaSemAumento << endl; gotoxy(15,18);cout << "Soma sem Aumento ...: " << somaSemAumento << endl; gotoxy(15,19);cout << "Media sem Aumento ..: " << mediaSemAumento << endl; gotoxy(15,20);cout << "Valor mais caro.. ..: " << maisCaroPos << endl; gotoxy(20,22); cout << "APERTE UMA TECLA PARA CONTINUAR"; getch(); } }

------------------------------------------------------------------------------------------------------------------------------- 6. Imagine que o TSE contratou sua empresa para desenvolver o sistema das urnas eletrônicas que

serão utilizadas nas próximas eleições do país. O sistema deverá realizar as seguintes ações:

I. O sistema deverá conter pelo menos três candidatos validos para prefeito e mais três para vereadores (que não precisam ser exibidos ao eleitor no ato da votação).

II. O sistema deverá solicitar ao eleitor que vote primeiro para prefeito, informando o número do candidato.

III. A partir do número informado pelo eleitor, o sistema deverá informar o nome, número e partido do candidato e solicitar que o eleitor confirme ou corrija (‘C’-confirmar ou ‘D’ – corrigir).

IV. Após confirmar o voto o sistema deverá solicitar que o eleitor vote em vereador. Da mesma forma que para prefeito, o sistema irá exibir o número, nome, partido do candidato e as opções: confirmar ou corrigir.

Page 5: EXERCÍCIOS - ESTRUTURA DE REPETIÇÃO (FOR e WHILE E DO-WHILE)

V. Caso o eleitor deseje votar na opção nula deverá informar 000 com número do candidato tanto para prefeito como para vereador. Nesta situação o sistema irá exibir uma tela solicitando que o usuário confirme ou corrija seu voto.

VI. O sistema deverá encerrar a votação caso o usuário digite um valor negativo para o número do prefeito.

Ao final da votação o sistema deverá exibir: a) Número e o percentual de votos de todos os candidatos, tanto para prefeito, como para vereador. b) O nome, número de votos do candidato vencedor (prefeito e vereador). c) O percentual de votos nulos.

#include <stdio.h> #include <conio.c> #include <conio.h> #include <stdlib.h> #include <iostream> #include <windows.h> #include <time.h> using namespace std; void titsup(){ // função que apresenta titulo na tela gotoxy(15,2);cout << "ELEICOES MUNICIPAIS: PREFEITO E VEREADORES" << endl; }; main() { // variaveis int eleicoes,prefeitos,vereadores,contaGeral=0,contaGVereador=0; int prefAdao=0,prefEddie=0,prefValeria=0,votoNuloPref=0; int vereadorMCarmo=0,vereadorFRodrigues=0,vereadorJRossie=0,votoNuloVereador=0; float perPrefAdao,perPrefEddie,perPrefValeria,perVotoNuloPref; float perVerMCarmo,perVerFRodrigues, perVerJRossie,perNuloVereador; do{ //inicio do laço clrscr(); //limpa a tela titsup(); // executa a função // primeiro menu de opções gotoxy(15, 9);cout << "1 - VOTAR PARA PREFEITO! "; gotoxy(15,10);cout << "2 - VOTAR PARA VEREADOR! "; gotoxy(15,11);cout << "0 - SAIR! "; gotoxy(15,14);cout << "Digite aqui sua opcao: "; cin >> eleicoes; //criação do menu dos PREFEITURÁVEIS switch(eleicoes){ case 0:break; // sair do sistema case 1: // para votar para prefeitos { clrscr(); titsup(); // MENU DE OPÇÕES gotoxy(20,7);cout << "CANDIDATOS A PREFEITO" << endl; gotoxy(15, 9);cout << "101 - ADAO BRAGA "; gotoxy(15,10);cout << "201 - EDDIE SANTANA"; gotoxy(15,11);cout << "301 - VALERIA DOURADO"; gotoxy(15,12);cout << "000 - Anula voto"; gotoxy(15,16);cout << "Digite aqui sua opcao: ";cin >> prefeitos; //processamento das opções para prefeitos switch(prefeitos){ case 101:prefAdao++;contaGeral++;break; case 201:prefEddie++;contaGeral++;break; case 301:prefValeria++;contaGeral++;break; case 000:votoNuloPref++;contaGeral++;break; default:gotoxy(15,20);cout << "OPCAO INVALIDA! ... APERTE UMA TECLA!";getch(); } };break; case 2: // para votar para vereadores { clrscr(); titsup(); // MENU DE OPÇÕES DE VEREADORES

Page 6: EXERCÍCIOS - ESTRUTURA DE REPETIÇÃO (FOR e WHILE E DO-WHILE)

gotoxy(20, 7);cout << "CANDIDATOS A VEREADOR" << endl; gotoxy(15, 9);cout << "102 - MARIA DO CARMO! "; gotoxy(15,10);cout << "202 - FIRMINO RODRIGUES"; gotoxy(15,11);cout << "302 - JULIE ROSSIE"; gotoxy(15,12);cout << "000 - Anula voto"; gotoxy(15,16);cout << "Digite aqui sua opcao: "; cin >> vereadores; //processamento das opções para vereadores switch(vereadores){ case 102:vereadorMCarmo++;contaGVereador++;break; case 202:vereadorFRodrigues++;contaGVereador++;break; case 302:vereadorJRossie++;contaGVereador++;break; case 000:votoNuloVereador++;contaGVereador++;break; default:gotoxy(15,20);cout << "OPCAO INVALIDA! ... APERTE UMA TECLA!";getch(); } };break; //Resposta Padrão Menu ELEIÇÕES default:gotoxy(15,20);cout << "OPCAO INVALIDA! ... APERTE UMA TECLA!";getch(); } }while(eleicoes != 0); // fim do Laço Do... while clrscr(); titsup(); // processando percentuais PREFEITO perPrefAdao = (prefAdao*100)/contaGeral; perPrefEddie = (prefEddie*100)/contaGeral; perPrefValeria = (prefValeria*100)/contaGeral; perVotoNuloPref = (votoNuloPref*100)/contaGeral; //Processando Percentuais VEREADORES. perVerMCarmo = (vereadorMCarmo*100)/contaGVereador; perVerFRodrigues = (vereadorFRodrigues*100)/contaGVereador; perVerJRossie = (vereadorJRossie*100)/contaGVereador; perNuloVereador = (votoNuloVereador*100)/contaGVereador; // resultados apresentados em TELA PREFEITOS. gotoxy(10,9); cout << "RESULTADOS DAS ELEICOES PARA PREFEITOS"; gotoxy(10,11); cout << "Total de Votos .............: " << contaGeral << endl; gotoxy(10,12); cout << "Prefeito Adao Braga ........: " << prefAdao << " Votos. Sao " << perPrefAdao << " % " << endl; gotoxy(10,13); cout << "Prefeito Eddie Santana......: " << prefEddie << " Votos. Sao " << perPrefEddie << " % " << endl; gotoxy(10,14); cout << "Prefeita Valeria Dourado....: " << prefValeria << " Votos. Sao " << perPrefValeria << " % " << endl; gotoxy(10,15); cout << "Votos Nulos para Prefeito...: " << votoNuloPref << " Votos. Sao " << perVotoNuloPref << " % " << endl; // resultados apresentados em TELA VEREADORES. gotoxy(10,18); cout << "RESULTADOS DAS ELEICOES PARA VEREADORES"; gotoxy(10,19); cout << "Total de Votos Vereadores........: " << contaGVereador << endl; gotoxy(10,20); cout << "Vereadora Maria do Carmo ........: " << vereadorMCarmo << " Votos. Sao " << perVerMCarmo << "%" << endl; gotoxy(10,21); cout << "Vereador Firmino Rodrigues ......: " << vereadorFRodrigues << " Votos. Sao " << perVerFRodrigues << "%" << endl; gotoxy(10,22); cout << "Vereadora Julie Rossie ..........: " << vereadorJRossie << " Votos. Sao " << perVerJRossie << "%" << endl; gotoxy(10,23); cout << "Votos Nulos para Vereador .......: " << votoNuloVereador << " Votos. Sao " << perNuloVereador << "%" << endl; getch(); }

------------------------------------------------------------------------------------------------------------------------------- 7. Um programa para gerenciar os saques de um caixa eletrônico deve possuir um mecanismo para

decidir o número de notas de cada valor que deve ser disponibilizado para o cliente que realizou o saque. Faça um programa que:

leia a quantia a ser sacada e gerencie os saques e tenha como critério da “distribuição ótima” no sentido que as notas de menor valor sejam distribuídas em menor numero possível, por exemplo, se o a quantia solicitada fosse R$ 87,00, o programa deve indicar 1 nota de R$ 50,00, 3 notas de R$ 10,00 uma nota de R$ 5,00 e 2 notas de R$ 1,00.

Page 7: EXERCÍCIOS - ESTRUTURA DE REPETIÇÃO (FOR e WHILE E DO-WHILE)

Assuma que o maior valor que pode ser sacado no caixa é igual a R$ 1000,00 e que o caixa possui notas de R$ 50,00, R$ 10,00, R$ 5,00 e R$ 1,00.

#include <stdio.h> #include <conio.c> #include <conio.h> #include <stdlib.h> #include <iostream> #include <windows.h> #include <time.h> using namespace std; void tela(){ gotoxy(10,2); cout << "|-------------------------------------------------|" << endl; gotoxy(10,3); cout << "| CAIXA ELETRONICO | ADAO BRAGA | 0 = SAIR |" << endl; gotoxy(10,4); cout << "|-------------------------------------------------|" << endl; }; main() { int valor, qtd50,qtd10,qtd5,qtd1=0,resto50,resto10=0,resto5=0; while (valor > 0 ) { tela(); gotoxy(12,6); cout << "Digite o valor do Saque: "; cin >> valor; //O Processamento. // O resto da divisão é separado na variável resto50; // O resto50 é dividido por 10 e o resultado guardado em resto10 // Faz o mesmo para 5, e 1 qtd50 = (valor / 50); // O valor é dividido por 50. resto50 = (valor-(qtd50*50)); qtd10 = (resto50 / 10); resto10 = (valor-(qtd10*10)-(qtd50*50)); qtd5 = (resto10 / 5); resto5 = (valor-(qtd10*10)-(qtd50*50)-(qtd5*5)); qtd1 = (resto5 /1); // Apresentação na tela gotoxy(12, 8);cout << " NOTAS de 50,00 " << qtd50; gotoxy(12, 9);cout << " NOTAS de 10,00 " << qtd10; gotoxy(12,10);cout << " NOTAS de 5,00 " << qtd5; gotoxy(12,11);cout << " NOTAS de 1,00 " << qtd1; gotoxy(15,23); cout << "TECLE ALGO PARA CONTINUAR"; getch(); clrscr(); } }

------------------------------------------------------------------------------------------------------------------------------- 8. Faça um programa que após o usuário ter efetuado o login exiba o seguinte menu:

MENU DE JOGOS --------------------------------------- 1. Jogo de dados 2. Adivinhação 3. Sair ----------------------------------------

1. Jogo de dados: neste jogo o usuário irá informar um numero entre 1 e 6. Seu programa irá gerar um número aleatório. Caso o usuário tenha acertado o valor o sistema irá dar os parabéns. Caso tenha errado, o sistema irá informar que o usuário perdeu, o valor correto e perguntar se o ele deseja continuar (S-sim ou N – não) Caso o usuário deseje sair o sistema retornará para o menu de jogos. 2. Jogo de adivinhação: neste jogo o usuário irá tentar acertar o número gerado pelo sistema de 1 a 100. Caso o usuário digite um valor menor que o gerado o sistema deverá informar que o número é muito baixo. Caso contrario que o número é muito alto. Este processo deve se repetir até que o usuário acerte o numero

Page 8: EXERCÍCIOS - ESTRUTURA DE REPETIÇÃO (FOR e WHILE E DO-WHILE)

gerado. Quando o usuário acertar o valor o sistema deverá dar-lhe os parabéns e perguntar se o mesmo deseja continuar (S-sim ou N – não). Caso não deseje continuar o sistema deverá retornar para o menu de jogos. 3. Sair: esta opção irá retornar a tela de login.

OBS: A tela de login deverá solicitar a senha ao usuário. Você pode definir uma senha padrão. Caso o usuário não acerte informa que a senha está incorreta e solicite a entrada novamente. Dica: Parte do código para geração de valores aleatórios:

#include <stdio.h> #include <conio.c> #include <conio.h> #include <stdlib.h> #include <iostream> #include <windows.h> #include <time.h> using namespace std; main() { int escolheJogo=0; char usuario[]={"abb"}; int senha=0; do{ clrscr(); gotoxy(20,8);cout << "Digite Usuario e Senha para entrar: "; gotoxy(20,11);cout << "Usuario...: "; gotoxy(32,11); cin >> usuario; gotoxy(20,12);cout << "Senha ....: "; gotoxy(32,12); cin >> senha; gotoxy(23,12);cout << "usuario ou senha nao confere. Tente de novo!"; }while (usuario != "abb" && senha != 123); do{ clrscr(); gotoxy(25,11);cout << "---------------------------------------" << endl; gotoxy(25,12);cout << "[1] - JOGO DE DADOS"; gotoxy(25,13);cout << "Voce digita um numero entre 1 e 6." <<endl; gotoxy(25,14);cout << "O sistema gerara um número aleatorio" << endl; gotoxy(25,15);cout << "O sistema vai comparar se voce acertou" << endl; gotoxy(25,16);cout << "---------------------------------------" << endl; gotoxy(25,18);cout << "---------------------------------------" << endl; gotoxy(25,19);cout << "[2] - JOGO DE ADIVINHACAO "; gotoxy(25,20);cout << "Voce digita um numero entre 1 e 100." <<endl; gotoxy(25,21);cout << "O sistema gerara um número aleatorio" << endl; gotoxy(25,22);cout << "O sistema vai comparar se voce acertou" << endl; gotoxy(25,23);cout << "---------------------------------------" << endl; gotoxy(35,1);cout << "MENU DE JOGOS" << endl; gotoxy(25,2);cout << "--------------------------------------" << endl; gotoxy(35,3);cout << "1. Jogo de dados" << endl; gotoxy(35,4);cout << "2. Adivinhacao" << endl; gotoxy(35,5);cout << "3. Sair" << endl; gotoxy(25,6);cout << "--------------------------------------" << endl;

#include<time.h> /*biblioteca que contém protótipos e tipos de funções para manipular horários e datas.*/

srand ( time(NULL) ); /* initializar randomização pelo relógio do pc: */

<sua_variável> = rand() % 6 + 1; /* gerar numero aleatório de 1 a 6: */

Page 9: EXERCÍCIOS - ESTRUTURA DE REPETIÇÃO (FOR e WHILE E DO-WHILE)

gotoxy(25,8);cout << "O que quer fazer? [ ]"; gotoxy(44,8);cin >> escolheJogo; switch(escolheJogo) { case 1: { do{ int minhaSorte=0,sorteio=0; clrscr(); gotoxy(25,2);cout << "JOGO DOS DADOS" << endl; gotoxy(25,4);cout << "Digite um numero entre 1 e 6 [ ]"; gotoxy(55,4);cin >> minhaSorte; sorteio = 1+(int)(6.0 * rand()/(RAND_MAX-1)); if(sorteio == minhaSorte){ clrscr(); gotoxy(25,10);cout << "Parabens! Voce Acertou" << endl; }else{ clrscr(); gotoxy(25,10);cout << "Nao foi desta vez! Voce Errou!" << endl; } gotoxy(15,23);cout << "Tentar de novo? [s] = SIM | Qualquer outra <TECLA> para sair"; }while(getch() == 's'); };break; case 2: { do{ int sorteio=0,meuNumero=0; clrscr(); gotoxy(25,2);cout << "JOGO DOS DADOS" << endl; sorteio = 1+(int)(100 * rand()/(RAND_MAX-1)); while (meuNumero != sorteio){ clrscr(); gotoxy(25,4);cout << "Digite um numero entre 1 e 100 [ ]"; gotoxy(57,4);cin >> meuNumero; if(meuNumero > sorteio ) { clrscr(); gotoxy(25,10);cout << "Voce digitou um numero maior" << endl; gotoxy(25,23);cout << "Aperte um tecla"; getch(); } if (meuNumero < sorteio) { clrscr(); gotoxy(25,10);cout << "Voce Digitou um numero Menor " << endl; gotoxy(25,23);cout << "Aperte um tecla"; getch(); } if (meuNumero == sorteio) { clrscr(); gotoxy(25,10);cout << "Voce Acertou " << endl; gotoxy(25,23);cout << "Aperte um tecla"; getch(); } }; gotoxy(15,23);cout << "Tentar de novo? [s] = SIM | Qualquer outra <TECLA> para sair"; }while(getch() == 's'); };break;

Page 10: EXERCÍCIOS - ESTRUTURA DE REPETIÇÃO (FOR e WHILE E DO-WHILE)

case 3: { clrscr(); gotoxy(25,20);cout << "F.I.M! Espere um pouco!" << endl; Sleep(1000); };break; default: { clrscr(); gotoxy(25,20);cout << "OPCAO INVALIDA" << endl; getch(); };break; } }while(escolheJogo != 3); }

------------------------------------------------------------------------------------------------------------------------------- OBSERVAÇÃO:

• A lista é INDIVIDUAL. • A lista deverá ser entregue através do ambiente! • NÃO será aceita lista fora do prazo! • Caso seja entregue programas iguais ou copiados da internet a questão será anulada. • Lembre, você poderá ser um dos convidados a descrever seu código durante a primeira aula após a entrega da lista.

DATA LIMITE DE ENTREGA:03/11/12 23h55min