Programação Estruturada II
EXERCÍCIOS DA AULA DE LAB 02 – 2015.1
Prof. Thomás da Costa
thomasdacosta@gmail.com
Exercícios BÁSICOS – 2015.1
1 – O programa abaixoentra com as informaçõesdo aluno e imprime na tela. Colocar a entrada e saída do
programa.
#include <iostream>
void imprimir_aluno(struct aluno alu);
using namespace std;
struct aluno
{
char nome[255];
int ra;
};
int main()
{
aluno alu;
cout << "Digite o nome:" << endl;
gets(alu.nome);
cout << "Digite o RA" << endl;
cin >> alu.ra;
imprimir_aluno(alu);
}
void imprimir_aluno(struct aluno alu)
{
cout << alu.nome << endl;
cout << alu.ra << endl;
}
Entrada:
Saída:
2 – O programa abaixomostra o tamanho de uma estrutura e de uma união. Colocar a entrada e saída do
programa.
#include <iostream>
using namespace std;
struct aluno_est
{
char nome[255];
double mensalidade;
};
union aluno_uni
{
char nome[255];
double mensalidade;
};
int main()
{
cout << "Tamanho da estrutura:" << sizeof(aluno_est) << endl;
cout << "Tamanho da união:" << sizeof(aluno_uni) << endl;
}
Entrada:
Saída:
3 – 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];
enum opcoes
{
INCLUIR = 1,
LISTAR = 2,
SAIR = 0
};
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 == INCLUIR)
{
cout << "Digite o produto:" << endl;
cin >> produto;
incluir_produto(produto);
}
if (opcao == LISTAR)
listar_produto();
if (opcao == SAIR)
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)
{
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();
}
Exercícios NORMAIS
1 – O exercícionúmero3 do nível Básico, utilizade enumeraçãopara efetuara escolhado menu. Podemosutilizar
enumeração emoutra parte do programa? Qual a seria a parte do programa?
2 – É possível criar enumeraçãode outros tipos de dados além de inteiros?
3 – O programa abaixopossui uma enumeração chamada despesas.O valor do campo AGUAé igual a 100. Qual o
valor do campo LUZ?
#include <iostream>
using namespace std;
enum despesas
{
ALUGUEL,
FACULDADE,
AGUA = 100,
LUZ
};
int main()
{
int valor;
cout << "Digite o tipo da despesa:" << endl;
cin >> valor;
switch (valor) {
case ALUGUEL: {
cout << "Aluguel";
break;
}
case FACULDADE: {
cout << "Faculdade";
break;
}
default: {
cout << "Não encontrado";
break;
}
}
}
Exercícios AVANÇADOS
1 – Alterar o exercício número 3 do nível Normal e incluir as seguintes funcionalidades:
A) O programa deve receber o nome do usuário e o salário dentro de uma estrutura.
B) Deve existir um menu no programa para incluir uma despesa.
C) Ao incluir uma despesa, o sistema deve perguntar o tipo e o valor da despesa
D) Quando a soma das despesas for maior que o salário do usuário, emitir a mensagem “Sua conta está
negativa. Vamos reduzir os gastos mensais”
2 – Criar um programa que receba uma estrutura e uma união como parâmetros de uma função e altere os seus
valores. Utilizar passagem de parâmetros por referência.

Exercícios da Aula de LAB 02

  • 1.
    Programação Estruturada II EXERCÍCIOSDA AULA DE LAB 02 – 2015.1 Prof. Thomás da Costa thomasdacosta@gmail.com
  • 2.
    Exercícios BÁSICOS –2015.1 1 – O programa abaixoentra com as informaçõesdo aluno e imprime na tela. Colocar a entrada e saída do programa. #include <iostream> void imprimir_aluno(struct aluno alu); using namespace std; struct aluno { char nome[255]; int ra; }; int main() { aluno alu; cout << "Digite o nome:" << endl; gets(alu.nome); cout << "Digite o RA" << endl; cin >> alu.ra; imprimir_aluno(alu); } void imprimir_aluno(struct aluno alu) { cout << alu.nome << endl; cout << alu.ra << endl; } Entrada: Saída:
  • 3.
    2 – Oprograma abaixomostra o tamanho de uma estrutura e de uma união. Colocar a entrada e saída do programa. #include <iostream> using namespace std; struct aluno_est { char nome[255]; double mensalidade; }; union aluno_uni { char nome[255]; double mensalidade; }; int main() { cout << "Tamanho da estrutura:" << sizeof(aluno_est) << endl; cout << "Tamanho da união:" << sizeof(aluno_uni) << endl; } Entrada: Saída:
  • 4.
    3 – Esteprograma 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]; enum opcoes { INCLUIR = 1, LISTAR = 2, SAIR = 0 }; 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 == INCLUIR) { cout << "Digite o produto:" << endl; cin >> produto; incluir_produto(produto); } if (opcao == LISTAR) listar_produto(); if (opcao == SAIR) break; system("cls"); } } void iniciar_produtos() { for (int i=0;i<100;i++) lista_produtos[i] = 'V'; }
  • 5.
    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) { 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(); }
  • 6.
    Exercícios NORMAIS 1 –O exercícionúmero3 do nível Básico, utilizade enumeraçãopara efetuara escolhado menu. Podemosutilizar enumeração emoutra parte do programa? Qual a seria a parte do programa? 2 – É possível criar enumeraçãode outros tipos de dados além de inteiros? 3 – O programa abaixopossui uma enumeração chamada despesas.O valor do campo AGUAé igual a 100. Qual o valor do campo LUZ? #include <iostream> using namespace std; enum despesas { ALUGUEL, FACULDADE, AGUA = 100, LUZ }; int main() { int valor; cout << "Digite o tipo da despesa:" << endl; cin >> valor; switch (valor) { case ALUGUEL: { cout << "Aluguel"; break; } case FACULDADE: { cout << "Faculdade"; break; } default: { cout << "Não encontrado"; break; } } }
  • 7.
    Exercícios AVANÇADOS 1 –Alterar o exercício número 3 do nível Normal e incluir as seguintes funcionalidades: A) O programa deve receber o nome do usuário e o salário dentro de uma estrutura. B) Deve existir um menu no programa para incluir uma despesa. C) Ao incluir uma despesa, o sistema deve perguntar o tipo e o valor da despesa D) Quando a soma das despesas for maior que o salário do usuário, emitir a mensagem “Sua conta está negativa. Vamos reduzir os gastos mensais” 2 – Criar um programa que receba uma estrutura e uma união como parâmetros de uma função e altere os seus valores. Utilizar passagem de parâmetros por referência.