Baixe o app para aproveitar ainda mais
Prévia do material em texto
Instituto Federal de Santa Catarina – Jaraguá do Sul - RAU Rua dos Imigrantes, 445 | Rau | Jaraguá do Sul /SC | CEP: 89254-430 Fone: (47) 3276-9600 | www.gw.ifsc.edu.br | CNPJ 11.402.887/0005-94 Programação de Computadores | 3ª Fase - Engenharia Elétrica | Matheus Willian Sprotte Atividade 3 - Estrutura de Seleção Switch-Case 1. Um clube de futebol pretende classificar seus atletas em categorias e para isso ele contratou você para resolver este problema usando um programa de computador. a partir da leitura do nome e da idade, classifique-o de acordo com a tabela. Código fonte da resolução: #include<stdio.h> #include<math.h> #include<stdlib.h> #include<locale.h> int main () { setlocale(LC_ALL,"portuguese"); printf("\n\t\t**********************************\n"); printf("\t\t* Classificador de Atletas *\n"); printf("\t\t**********************************\n\n"); printf("\tQual a idade? -> "); int i; scanf("%d", &i); fflush(stdin); switch(i) { case 5 ... 10: printf("\n\tCategoria Infantil.\n\n"); break; case 11 ... 15: printf("\n\tCategoria Juvenil.\n\n"); break; case 16 ... 20: printf("\n\tCategoria Júnior.\n\n"); break; case 21 ... 25: printf("\n\tCategoria Profissional.\n\n"); break; default: printf("\n\tIdade inválida.\n\n"); } system("PAUSE"); return 0; } 2. Faça um algoritmo que leia dois números e uma operação (A)dição, (S)ubtração, (M)ultiplicação, (D)ivisão, (Q)uociente Inteiro, (R)esto. A seguir execute a operação desejada, e informe uma mensagem caso a operação seja inválida. Código fonte da resolução: #include<stdio.h> #include<math.h> #include<stdlib.h> Instituto Federal de Santa Catarina – Jaraguá do Sul - RAU Rua dos Imigrantes, 445 | Rau | Jaraguá do Sul /SC | CEP: 89254-430 Fone: (47) 3276-9600 | www.gw.ifsc.edu.br | CNPJ 11.402.887/0005-94 #include<locale.h> int main () { setlocale(LC_ALL,""); printf("\n\t****************************************\n"); printf("\t* Cálculo de Múltiplas Operações *\n"); printf("\t****************************************\n\n"); printf("\tDigite um número -> "); int x; scanf("%d", &x); fflush(stdin); printf("\tDigite outro número -> "); int y; scanf("%d", &y); fflush(stdin); int a = x + y; int s = x - y; int m = x * y; float xc = (float)x; float yc = (float)y; float d = (xc / yc); int r = x % y; printf("\n\tDigite a inicial da operação desejada (ex.: a para adição) -> "); char var; scanf("%s", &var); fflush(stdin); switch(var) { case 'a': case 'A': printf("\n\tAdição.\n"); printf("\tO resultado da operação é: -> %d.\n\n", a); break; case 's': case 'S': printf("\n\tSubtração.\n"); printf("\tO resultado da operação é: -> %d.\n\n", s); break; case 'm': case 'M': printf("\n\tMultiplicação.\n"); printf("\tO resultado da operação é: -> %d.\n\n", m); break; case 'd': case 'D': printf("\n\tDivisão.\n"); printf("\tO resultado da operação é: -> %f.\n\n", d); break; case 'r': case 'R': printf("\n\tResto.\n"); printf("\tO resultado da operação é: -> %d.\n\n", r); break; default: printf("\n\tOperação inválida!\n\n"); Instituto Federal de Santa Catarina – Jaraguá do Sul - RAU Rua dos Imigrantes, 445 | Rau | Jaraguá do Sul /SC | CEP: 89254-430 Fone: (47) 3276-9600 | www.gw.ifsc.edu.br | CNPJ 11.402.887/0005-94 system("PAUSE"); return 0; } } 3. Suponha que você comprou um novo smartphone e você deseja conhecer as várias condições de pagamento. Construa um algoritmo que receba o valor da venda, escolha a condição de pagamento no menu e mostre o total da venda final conforme condições mostradas na tabela. Código fonte da resolução: #include<stdio.h> #include<math.h> #include<stdlib.h> #include<locale.h> int main () { setlocale(LC_ALL,"portuguese"); printf("\n\t\t********************************\n"); printf("\t\t* Cálculo do Valor Final *\n"); printf("\t\t********************************\n\n"); printf("\tQual o preço do smartphone? -> "); float p; scanf("%f", &p); fflush(stdin); float vv = p*0.90; float vpt = p*0.95; float vps = p; float vpn = p*1.05; float vpd = p*0.92; float vpc = p*0.93; printf("\tQual é a condição de pagamento? \n\tNigite: \n\t'A' Para venda a vista.\n\t'B' Para venda a prazo 30 dias.\n\t'C' Para venda a prazo 60 dias.\n\t'D' Para venda a prazo 90 dias.\n\t'E' Para venda com cartão de débito.\n\t'F' Para venda com cartão de crédito.\n\t-> "); char op; scanf("%s", &op); fflush(stdin); switch(op) { case 'A': case 'a': printf("\n\tO valor final fica: R$%.2f.\n\n", vv); break; case 'B': case 'b': printf("\n\tO valor final fica: R$%.2f.\n\n", vpt); break; case 'C': case 'c': printf("\n\tO valor final fica: R$%.2f.\n\n", vps); break; case 'D': case 'd': printf("\n\tO valor final fica: R$%.2f.\n\n", vpn); break; Instituto Federal de Santa Catarina – Jaraguá do Sul - RAU Rua dos Imigrantes, 445 | Rau | Jaraguá do Sul /SC | CEP: 89254-430 Fone: (47) 3276-9600 | www.gw.ifsc.edu.br | CNPJ 11.402.887/0005-94 case 'E': case 'e': printf("\n\tO valor final fica: R$%.2f.\n\n", vpd); break; case 'F': case 'f': printf("\n\tO valor final fica: R$%.2f.\n\n", vpc); break; default: printf("\n\tOpção inválida.\n\n"); } system("PAUSE"); return 0; } 4. Elabore um algoritmo que leia a primeira letra do estado civil de uma pessoa e mostre uma mensagem com a sua descrição (Solteiro, Casado, Viúvo, Divorciado). Mostre uma mensagem de erro, se necessário. Código fonte da resolução: #include<stdio.h> #include<math.h> #include<stdlib.h> #include<locale.h> int main () { setlocale(LC_ALL,"portuguese"); printf("\n\t\t***********************************\n"); printf("\t\t* Definidor do Estado Civil *\n"); printf("\t\t***********************************\n\n"); printf("\tQual é a inicial do seu estado civil? -> "); char ec; scanf("%s", &ec); fflush(stdin); switch(ec) { case 'S': case 's': printf("\n\tO estado civil é solteiro.\n\n"); break; case 'C': case 'c': printf("\n\tO estado civil é casado.\n\n"); break; case 'V': case 'v': printf("\n\tO estado civil é viúvo.\n\n"); break; case 'D': case 'd': printf("\n\tO estado civil é divorciado.\n\n"); break; default: Instituto Federal de Santa Catarina – Jaraguá do Sul - RAU Rua dos Imigrantes, 445 | Rau | Jaraguá do Sul /SC | CEP: 89254-430 Fone: (47) 3276-9600 | www.gw.ifsc.edu.br | CNPJ 11.402.887/0005-94 printf("\n\tInválido.\n\n"); system("PAUSE"); return 0; } } 5. Considerando os números de 1 a 7 como dias da semana (1=Domingo), crie um algoritmo que contenha uma função que receba um número inteiro como parâmetro e mostre o dia da semana por extenso. Exiba mensagem de erro caso necessário. Código fonte da resolução: #include<stdio.h> #include<math.h> #include<stdlib.h> #include<locale.h> intmain () { setlocale(LC_ALL,"portuguese"); printf("\n\t\t*********************************\n"); printf("\t\t* Definidor Dia da Semana *\n"); printf("\t\t*********************************\n\n"); printf("\tQual é o número do dia da semana desejado?\n\t-> "); int d; scanf("%s", &d); fflush(stdin); switch(d) { case '1': printf("\n\tO dia é domingo.\n\n"); break; case '2': printf("\n\tO dia é segunda.\n\n"); break; case '3': printf("\n\tO dia é terça.\n\n"); break; case '4': printf("\n\tO dia é quarta.\n\n"); break; case '5': printf("\n\tO dia é quinta.\n\n"); break; case '6': printf("\n\tO dia é sexta.\n\n"); break; case '7': printf("\n\tO dia é sábado.\n\n"); break; default: printf("\n\tInválido.\n\n"); system("PAUSE"); return 0; } } Instituto Federal de Santa Catarina – Jaraguá do Sul - RAU Rua dos Imigrantes, 445 | Rau | Jaraguá do Sul /SC | CEP: 89254-430 Fone: (47) 3276-9600 | www.gw.ifsc.edu.br | CNPJ 11.402.887/0005-94 6. Crie um algoritmo que leia um caracter e determine se este caracter é uma vogal ou uma consoante. Caso o caracter não esteja na lista das 26 letras, exiba uma mensagem de erro. Código fonte da resolução: #include<stdio.h> #include<math.h> #include<stdlib.h> #include<locale.h> int main () { setlocale(LC_ALL,"portuguese"); printf("\n\t\t****************************************\n"); printf("\t\t* Definidor de Vogais/Consoantes *\n"); printf("\t\t****************************************\n\n"); printf("\tDigite uma letra:\n\t-> "); char lt; scanf("%s", <); fflush(stdin); switch(lt) { case 'A': case 'a': printf("\n\tÉ uma vogal.\n\n"); break; case 'E': case 'e': printf("\n\tÉ uma vogal.\n\n"); break; case 'I': case 'i': printf("\n\tÉ uma vogal.\n\n"); break; case 'O': case 'o': printf("\n\tÉ uma vogal.\n\n"); break; case 'U': case 'u': printf("\n\tÉ uma vogal.\n\n"); break; case '!'...'9': printf("\n\tNão alfabético.\n\n"); break; default: printf("\n\tÉ uma consoante.\n\n"); system("PAUSE"); return 0; } } 7. Usando números aleatórios, construa o jogo "Pedra-Papel-Tesoura", considerando 1=Pedra, 2=Papel, 3=Tesoura, e determine o vencedor. Instituto Federal de Santa Catarina – Jaraguá do Sul - RAU Rua dos Imigrantes, 445 | Rau | Jaraguá do Sul /SC | CEP: 89254-430 Fone: (47) 3276-9600 | www.gw.ifsc.edu.br | CNPJ 11.402.887/0005-94 Código fonte da resolução: #include<stdio.h> #include<math.h> #include<stdlib.h> #include<locale.h> int main () { setlocale(LC_ALL,"portuguese"); printf("\n\t\t*****************************\n"); printf("\t\t* Pedra Papel Tesoura *\n"); printf("\t\t*****************************\n\n"); printf ("\n\tDigite:\n\t'0' para pedra\n\t'1' para Papel\n\t'2' para tesoura\n\t-> "); int pl, pc; scanf ("%d", &pl); if (pl < 0 || pl >=3) { printf("\n\tVocê deu um comando inválido.\n\n"); } srand(time(NULL)); pc = rand() % 3; switch(pc) { case 0: printf ("\n\tPC jogou pedra...\n"); break; case 1: printf ("\n\tPC jogou papel...\n"); break; case 2: printf ("\n\tPC jogou tesoura...\n"); break; } if ((pl == 0 && pc == 2) || (pl == 1 && pc == 0) || (pl == 2 && pc == 1)) { printf("\tVocê venceu!\n\n"); } else if (pl == pc) { printf ("\tEmpate!\n\n"); } else { printf ("\tVocê perdeu!\n\n"); } system("PAUSE"); return 0; } 8. Construa um algoritmo que mostre um número de 0 a 9 lido pelo teclado, e mostre seu correspondente por extenso. Código fonte da resolução: #include<stdio.h> Instituto Federal de Santa Catarina – Jaraguá do Sul - RAU Rua dos Imigrantes, 445 | Rau | Jaraguá do Sul /SC | CEP: 89254-430 Fone: (47) 3276-9600 | www.gw.ifsc.edu.br | CNPJ 11.402.887/0005-94 #include<math.h> #include<stdlib.h> #include<locale.h> int main () { setlocale(LC_ALL,"portuguese"); printf("\n\t\t***************************\n"); printf("\t\t* Leitor de Números *\n"); printf("\t\t***************************\n\n"); printf("\tDigite algum número:\n\t-> "); int n; scanf("%s", &n); fflush(stdin); switch(n) { case '0': printf("\n\tO número é zero.\n\n"); break; case '1': printf("\n\tO número é um.\n\n"); break; case '2': printf("\n\tO número é dois.\n\n"); break; case '3': printf("\n\tO número é três.\n\n"); break; case '4': printf("\n\tO número é quatro.\n\n"); break; case '5': printf("\n\tO número é cinco.\n\n"); break; case '6': printf("\n\tO número é seis.\n\n"); break; case '7': printf("\n\tO número é sete.\n\n"); break; case '8': printf("\n\tO número é oito.\n\n"); break; case '9': printf("\n\tO número é nove.\n\n"); break; default: printf("\n\tComando inválido.\n\n"); system("PAUSE"); return 0; } }
Compartilhar