Os exercícios propõem programas em C++ para testar conceitos básicos como: entrada e saída de dados, uso de variáveis, funções, condicionais e laços de repetição. Os exercícios vão desde operações simples como troca de valores e verificação de paridade, até cadastro e listagem de produtos em vetor e cálculo de média e imposto de renda.
2. Exercícios BÁSICOS – 2015.1
1 – O programa abaixotroca os valores das variáveis.Colocar a entrada e saída do programa.
#include <iostream>
using namespace std;
void troca(int &a, int &b);
int main()
{
int a = 10;
int b = 20;
cout << "Valor de A e B original:" << a << "-" << b << endl;
troca(a, b);
cout << "Valor de A e B FOI alterado:" << a << "-" << b << endl;
}
void troca(int &a, int &b)
{
int temp;
temp = b;
b = a;
a = temp;
}
Entrada:
Saída:
3. 2 – O programa abaixorecebe um número e mostra se o mesmoé par ou ímpar. Colocar a entrada e saída do
programa.
#include <iostream>
using namespace std;
int pares_impares(int numero);
int main()
{
int numero;
int resultado;
for (;;)
{
cout << "Digite um numero ou digite zero para sair:" << endl;
cin >> numero;
resultado = pares_impares(numero);
if (resultado == 0)
cout << "Par" << endl;
else
cout << "Impar" << endl;
if (numero == 0)
break;
}
}
int pares_impares(int numero)
{
return numero % 2;
}
Entrada:
Saída:
4. 3 - O programa abaixo imprime a quantidade de vogais de uma palavra. Colocar a entrada e saída do programa.
#include <iostream>
#include <string.h>
using namespace std;
int total_vogais(char *palavra);
int main()
{
char palavra[100];
cout << "*** Quantidade de vogais de uma palavra ***" << endl;
cout << "Digite uma palavra: ";
cin >> palavra;
cout << "Total de vogais na palavra: " << total_vogais(palavra) << endl;
}
int total_vogais(char *palavra)
{
int vogais = 0;
for (int i=0;i<=strlen(palavra)-1;i++)
{
switch (palavra[i])
{
case 'A':
case 'E':
case 'I':
case 'O':
case 'U':
case 'a':
case 'e':
case 'i':
case 'o':
case 'u':
{
vogais++;
break;
}
}
}
return vogais;
}
Entrada:
Saída:
5. 4 – Este programa efetuao cadastro de um produto emuma lista e efetuaa consulta de todos os produtos
inseridos.Colocara entrada e saída do programa.
#include <iostream>
#include <limits>
#include <stdlib.h>
#include <conio.h>
using namespace std;
const char ARROZ = 'A';
const char FEIJAO = 'F';
const char REFRIGERANTE = 'R';
char lista_produtos[100];
void iniciar_produtos();
void imprimir_menu();
void incluir_produto(char produto);
void listar_produto();
int main()
{
int opcao;
char produto;
iniciar_produtos();
for (;;)
{
imprimir_menu();
cin >> opcao;
if (opcao == 1)
{
cout << "Digite o produto:" << endl;
cin >> produto;
incluir_produto(produto);
}
if (opcao == 2)
listar_produto();
if (opcao == 0)
break;
system("cls");
}
}
void iniciar_produtos()
{
for (int i=0;i<100;i++)
lista_produtos[i] = 'V';
}
void imprimir_menu()
{
cout << "** LOJA DE PRODUTOS **" << endl;
cout << "[1] - Incluir Produto" << endl;
cout << "[2] - Listar Produto" << endl;
cout << "[0] - Sair" << endl;
}
void incluir_produto(char produto)
6. {
for (int i=0;i<100;i++)
{
if (lista_produtos[i] == 'V')
{
lista_produtos[i] = produto;
cout << "Produto inserido com sucesso !!";
getch();
break;
}
}
}
void listar_produto()
{
for (int i=0;i<100;i++)
{
switch (lista_produtos[i])
{
case ARROZ:
cout << "Arroz" << endl;
break;
case FEIJAO:
cout << "Feijão" << endl;
break;
case REFRIGERANTE:
cout << "Refrigerante" << endl;
break;
}
}
getch();
}
Entrada:
Saída:
7. Exercícios NORMAL
1 – Os programas dos exercíciosanterioresrecebemuma informação do usuário.O que acontece quando é
digitadoum valor diferente dotipoda variável?
Resposta: _________________________________________________________________________________
2 – Como posso corrigir o problema propostona questãoanterior?
Resposta: _________________________________________________________________________________
3 – Modifique oexercício1 da seção anterior semo caractere “&” na função e mostre a saída do programa.
Resposta: _________________________________________________________________________________
4 – O programa abaixopossui um erro. Qual o problemado programa? Efetue a correção do programa
#include <iostream>
using namespace std;
double dividir(double valor1, double valor2);
int main()
{
int valor1;
int valor2;
int resultado;
cout << "Digite o valor A:" << endl;
cin >> valor1;
cout << "Digite o valor B:" << endl;
cin >> valor2;
resultado = dividir(valor1,valor2);
cout << "Resultado:" << resultado;
}
double dividir(double valor1, double valor2)
{
return valor1 / valor2;
}
Resposta: _________________________________________________________________________________
5 – O programa abaixoefetuao cálculoda médiado aluno. Modificaro programa criando funções,indicandoo
nome das funçõesna resposta.
#include <iostream>
using namespace std;
int main()
{
int opcao;
char aluno[100];
char ra[100];
double nota1;
double nota2;
cout << "Entre com o nome do aluno:" << endl;
cin >> aluno;
8. cout << "Entre com a RA do aluno:" << endl;
cin >> ra;
cout << "Digite a nota B1:" << endl;
cin >> nota1;
cout << "Digite a nota B2:" << endl;
cin >> nota2;
cout << "A média do aluno é:" << ((nota1 + nota2) / 2) << endl;
}
Resposta: _________________________________________________________________________________
6 – O programa abaixoutiliza de sobrecarga de função. Verificara execuçãodo programa e explicar o seu
funcionamento.
#include <iostream>
#include <string.h>
using namespace std;
void imprime_vetor(char *valores);
void imprime_vetor(int *valores);
void imprime_vetor(int *valores, int tamanho);
int main()
{
int valores[10] = {2, 3, 5, 7, 11, 13, 17, 19, 23, 29};
char nome[10] = {'a','n','h','a','n','g','u','e','r','a'};
imprime_vetor(nome);
imprime_vetor(valores);
imprime_vetor(valores, 10);
}
void imprime_vetor(char *valores)
{
cout << "void imprime_vetor(char *valores)" << endl;
for (int i=0;i<=9;i++)
{
cout << "valores[" << i << "] :" << valores[i] << endl;
}
}
void imprime_vetor(int *valores)
{
cout << "void imprime_vetor(int *valores)" << endl;
for (int i=0;i<=9;i++)
{
cout << "valores[" << i << "] :" << valores[i] << endl;
}
}
void imprime_vetor(int *valores, int tamanho)
{
cout << "void imprime_vetor(int *valores, int tamanho)" << endl;
for (int i=0;i<tamanho;i++)
{
cout << "valores[" << i << "] :" << valores[i] << endl;
}
}
Resposta: _________________________________________________________________________________
9. Exercícios AVANÇADOS
1 – Crie um programa que recebe uma letra e identifique se é uma vogal.
2 – Faça um programa para calcular o valor do impostode renda (IR: 27,5%), a partir do salário digitadopelo
usuário.
3 – Desenvolvaum programa que calcule a média de 3 números, o quadrado e imprimaa soma na tela.
4 – Crie um programa que entre com 2 números e imprimaa faixa de número entre eles,multiplique oanterior
com o próximo e liste os númerospares e impares
5 – Faça um programa que entre com dia, mêse ano e mostre no formato dd/mm/aaaa ou no formato aaaa-mm-
dd