SlideShare una empresa de Scribd logo
1 de 7
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.

Más contenido relacionado

La actualidad más candente (20)

Estruturas
EstruturasEstruturas
Estruturas
 
Java recursos avançados - socket connection
Java   recursos avançados - socket connectionJava   recursos avançados - socket connection
Java recursos avançados - socket connection
 
Guia Rápido TI-NSpire
Guia Rápido TI-NSpireGuia Rápido TI-NSpire
Guia Rápido TI-NSpire
 
Guia Rápido TI-84
Guia Rápido TI-84Guia Rápido TI-84
Guia Rápido TI-84
 
Guia Rápido Voyage 200
Guia Rápido Voyage 200Guia Rápido Voyage 200
Guia Rápido Voyage 200
 
mod3-programação-estruturada
mod3-programação-estruturadamod3-programação-estruturada
mod3-programação-estruturada
 
Linguagem C - Controle de Programa
Linguagem C - Controle de ProgramaLinguagem C - Controle de Programa
Linguagem C - Controle de Programa
 
Programação em C
Programação em CProgramação em C
Programação em C
 
DOJO - TDD com C++
DOJO - TDD com C++DOJO - TDD com C++
DOJO - TDD com C++
 
TDD em C++
TDD em C++TDD em C++
TDD em C++
 
Exercícios PL/SQL
Exercícios PL/SQLExercícios PL/SQL
Exercícios PL/SQL
 
M5-Desenvolvimento-Paginas-Web
M5-Desenvolvimento-Paginas-WebM5-Desenvolvimento-Paginas-Web
M5-Desenvolvimento-Paginas-Web
 
Manual-de-php
Manual-de-phpManual-de-php
Manual-de-php
 
Aula de Algoritmos II - Turma 222
Aula de Algoritmos II - Turma 222Aula de Algoritmos II - Turma 222
Aula de Algoritmos II - Turma 222
 
Programação Concorrente - Aula 05
Programação Concorrente - Aula 05Programação Concorrente - Aula 05
Programação Concorrente - Aula 05
 
TDD
TDDTDD
TDD
 
Qualidade no desenvolvimento de software com PHPUnit
Qualidade no desenvolvimento de software com PHPUnitQualidade no desenvolvimento de software com PHPUnit
Qualidade no desenvolvimento de software com PHPUnit
 
Princípio DRY
Princípio DRYPrincípio DRY
Princípio DRY
 
Introdução ao PHP
Introdução ao PHPIntrodução ao PHP
Introdução ao PHP
 
Aula03 - JavaScript
Aula03 - JavaScriptAula03 - JavaScript
Aula03 - JavaScript
 

Destacado

LAB 03 - Programação Estruturada 2
LAB 03 - Programação Estruturada 2LAB 03 - Programação Estruturada 2
LAB 03 - Programação Estruturada 2thomasdacosta
 
Programação Estruturada 2 - Aula 04
Programação Estruturada 2 - Aula 04Programação Estruturada 2 - Aula 04
Programação Estruturada 2 - Aula 04thomasdacosta
 
Programação Estruturada 2 - Aula 03
Programação Estruturada 2 - Aula 03Programação Estruturada 2 - Aula 03
Programação Estruturada 2 - Aula 03thomasdacosta
 
Revisão - Funções
Revisão - FunçõesRevisão - Funções
Revisão - Funçõesthomasdacosta
 
Programação Estruturada 2 - Aula 02
Programação Estruturada 2 - Aula 02Programação Estruturada 2 - Aula 02
Programação Estruturada 2 - Aula 02thomasdacosta
 
Programação Estruturada 2 - Aula 01
Programação Estruturada 2 - Aula 01Programação Estruturada 2 - Aula 01
Programação Estruturada 2 - Aula 01thomasdacosta
 
LAB 02 - Programação Estruturada 2
LAB 02 - Programação Estruturada 2LAB 02 - Programação Estruturada 2
LAB 02 - Programação Estruturada 2thomasdacosta
 
Programação Estruturada 2 - Curso Completo
Programação Estruturada 2 - Curso CompletoProgramação Estruturada 2 - Curso Completo
Programação Estruturada 2 - Curso Completothomasdacosta
 
LAB 01 - Programação Estruturada 2
LAB 01 - Programação Estruturada 2LAB 01 - Programação Estruturada 2
LAB 01 - Programação Estruturada 2thomasdacosta
 
Programação Estruturada 2 - Aula 05
Programação Estruturada 2 - Aula 05Programação Estruturada 2 - Aula 05
Programação Estruturada 2 - Aula 05thomasdacosta
 
Programação Estruturada 2 - Aula 06
Programação Estruturada 2 - Aula 06Programação Estruturada 2 - Aula 06
Programação Estruturada 2 - Aula 06thomasdacosta
 

Destacado (11)

LAB 03 - Programação Estruturada 2
LAB 03 - Programação Estruturada 2LAB 03 - Programação Estruturada 2
LAB 03 - Programação Estruturada 2
 
Programação Estruturada 2 - Aula 04
Programação Estruturada 2 - Aula 04Programação Estruturada 2 - Aula 04
Programação Estruturada 2 - Aula 04
 
Programação Estruturada 2 - Aula 03
Programação Estruturada 2 - Aula 03Programação Estruturada 2 - Aula 03
Programação Estruturada 2 - Aula 03
 
Revisão - Funções
Revisão - FunçõesRevisão - Funções
Revisão - Funções
 
Programação Estruturada 2 - Aula 02
Programação Estruturada 2 - Aula 02Programação Estruturada 2 - Aula 02
Programação Estruturada 2 - Aula 02
 
Programação Estruturada 2 - Aula 01
Programação Estruturada 2 - Aula 01Programação Estruturada 2 - Aula 01
Programação Estruturada 2 - Aula 01
 
LAB 02 - Programação Estruturada 2
LAB 02 - Programação Estruturada 2LAB 02 - Programação Estruturada 2
LAB 02 - Programação Estruturada 2
 
Programação Estruturada 2 - Curso Completo
Programação Estruturada 2 - Curso CompletoProgramação Estruturada 2 - Curso Completo
Programação Estruturada 2 - Curso Completo
 
LAB 01 - Programação Estruturada 2
LAB 01 - Programação Estruturada 2LAB 01 - Programação Estruturada 2
LAB 01 - Programação Estruturada 2
 
Programação Estruturada 2 - Aula 05
Programação Estruturada 2 - Aula 05Programação Estruturada 2 - Aula 05
Programação Estruturada 2 - Aula 05
 
Programação Estruturada 2 - Aula 06
Programação Estruturada 2 - Aula 06Programação Estruturada 2 - Aula 06
Programação Estruturada 2 - Aula 06
 

Similar a Exercícios da Aula de LAB 02

Estruturas em C++ (struct)
Estruturas em C++ (struct)Estruturas em C++ (struct)
Estruturas em C++ (struct)Márcio Rizzatto
 
Algoritmos e Estrutura de Dados - Aula 03
Algoritmos e Estrutura de Dados - Aula 03Algoritmos e Estrutura de Dados - Aula 03
Algoritmos e Estrutura de Dados - Aula 03thomasdacosta
 
Desligar pc
Desligar pcDesligar pc
Desligar pcferbsi
 
Aula02_Vars_Ident_Ent_Saida_Algoritmos.pptx
Aula02_Vars_Ident_Ent_Saida_Algoritmos.pptxAula02_Vars_Ident_Ent_Saida_Algoritmos.pptx
Aula02_Vars_Ident_Ent_Saida_Algoritmos.pptxaronoliveira3
 
Projeto Integrador 2
Projeto Integrador 2Projeto Integrador 2
Projeto Integrador 2r7c4rd0
 
Programando para programadores: Desafios na evolução de um Framework
Programando para programadores: Desafios na evolução de um FrameworkProgramando para programadores: Desafios na evolução de um Framework
Programando para programadores: Desafios na evolução de um FrameworkPablo Dall'Oglio
 
Visualg primeira interação
Visualg   primeira interaçãoVisualg   primeira interação
Visualg primeira interaçãoHumberto Cepep
 
Apostila ms-project-2000
Apostila ms-project-2000Apostila ms-project-2000
Apostila ms-project-2000Luiz Alencar
 
Introdução ao gpm(soft) clp metaltex
Introdução ao gpm(soft) clp metaltexIntrodução ao gpm(soft) clp metaltex
Introdução ao gpm(soft) clp metaltexIsraelsidepar
 
Play Framework - FLISOL
Play Framework - FLISOLPlay Framework - FLISOL
Play Framework - FLISOLgrupoweblovers
 
Mini Curso PHP Twig - PHP Conference 2017
Mini Curso PHP Twig - PHP Conference 2017 Mini Curso PHP Twig - PHP Conference 2017
Mini Curso PHP Twig - PHP Conference 2017 Luis Gustavo Almeida
 
Block disp-entrada e saida
Block disp-entrada e saidaBlock disp-entrada e saida
Block disp-entrada e saidaCassio Ramos
 
PROJETO MODELO editado.docx
PROJETO MODELO editado.docxPROJETO MODELO editado.docx
PROJETO MODELO editado.docxDiedisonRamos1
 

Similar a Exercícios da Aula de LAB 02 (20)

Estruturas em C++ (struct)
Estruturas em C++ (struct)Estruturas em C++ (struct)
Estruturas em C++ (struct)
 
Algoritmos e Estrutura de Dados - Aula 03
Algoritmos e Estrutura de Dados - Aula 03Algoritmos e Estrutura de Dados - Aula 03
Algoritmos e Estrutura de Dados - Aula 03
 
Google apps script - Parte - 1
Google apps script - Parte - 1Google apps script - Parte - 1
Google apps script - Parte - 1
 
Desligar pc
Desligar pcDesligar pc
Desligar pc
 
Aula02_Vars_Ident_Ent_Saida_Algoritmos.pptx
Aula02_Vars_Ident_Ent_Saida_Algoritmos.pptxAula02_Vars_Ident_Ent_Saida_Algoritmos.pptx
Aula02_Vars_Ident_Ent_Saida_Algoritmos.pptx
 
Series lab
Series labSeries lab
Series lab
 
Projeto Integrador 2
Projeto Integrador 2Projeto Integrador 2
Projeto Integrador 2
 
Programando para programadores: Desafios na evolução de um Framework
Programando para programadores: Desafios na evolução de um FrameworkProgramando para programadores: Desafios na evolução de um Framework
Programando para programadores: Desafios na evolução de um Framework
 
Visualg primeira interação
Visualg   primeira interaçãoVisualg   primeira interação
Visualg primeira interação
 
Apostila ms-project-2000
Apostila ms-project-2000Apostila ms-project-2000
Apostila ms-project-2000
 
Introdução ao gpm(soft) clp metaltex
Introdução ao gpm(soft) clp metaltexIntrodução ao gpm(soft) clp metaltex
Introdução ao gpm(soft) clp metaltex
 
ava facul uva unijorge (146).pdf
ava facul uva unijorge (146).pdfava facul uva unijorge (146).pdf
ava facul uva unijorge (146).pdf
 
Linguagem c parte 2
Linguagem c parte 2Linguagem c parte 2
Linguagem c parte 2
 
Play Framework - FLISOL
Play Framework - FLISOLPlay Framework - FLISOL
Play Framework - FLISOL
 
Mini Curso PHP Twig - PHP Conference 2017
Mini Curso PHP Twig - PHP Conference 2017 Mini Curso PHP Twig - PHP Conference 2017
Mini Curso PHP Twig - PHP Conference 2017
 
Google apps script - Parte 2
Google apps script - Parte 2Google apps script - Parte 2
Google apps script - Parte 2
 
Apostila Visualg
Apostila VisualgApostila Visualg
Apostila Visualg
 
Block disp-entrada e saida
Block disp-entrada e saidaBlock disp-entrada e saida
Block disp-entrada e saida
 
PROJETO MODELO editado.docx
PROJETO MODELO editado.docxPROJETO MODELO editado.docx
PROJETO MODELO editado.docx
 
Robotium_Sikuli
Robotium_SikuliRobotium_Sikuli
Robotium_Sikuli
 

Más de thomasdacosta

Azure Functions e Java: Do Desenvolvimento a Produção
Azure Functions e Java: Do Desenvolvimento a ProduçãoAzure Functions e Java: Do Desenvolvimento a Produção
Azure Functions e Java: Do Desenvolvimento a Produçãothomasdacosta
 
Programação de Sistemas Distribuídos - Aula 03
Programação de Sistemas Distribuídos - Aula 03Programação de Sistemas Distribuídos - Aula 03
Programação de Sistemas Distribuídos - Aula 03thomasdacosta
 
Programação de Sistemas Distribuídos - Aula 02
Programação de Sistemas Distribuídos - Aula 02Programação de Sistemas Distribuídos - Aula 02
Programação de Sistemas Distribuídos - Aula 02thomasdacosta
 
Programação de Sistemas Distribuídos - Aula 01
Programação de Sistemas Distribuídos - Aula 01Programação de Sistemas Distribuídos - Aula 01
Programação de Sistemas Distribuídos - Aula 01thomasdacosta
 
Organização de Computadores - Aula 02
Organização de Computadores - Aula 02Organização de Computadores - Aula 02
Organização de Computadores - Aula 02thomasdacosta
 
Organização de Computadores - Aula 03
Organização de Computadores - Aula 03Organização de Computadores - Aula 03
Organização de Computadores - Aula 03thomasdacosta
 
Organização de Computadores - Aula 01
Organização de Computadores - Aula 01Organização de Computadores - Aula 01
Organização de Computadores - Aula 01thomasdacosta
 
Redes de Computadores - Exercícios 06
Redes de Computadores - Exercícios 06Redes de Computadores - Exercícios 06
Redes de Computadores - Exercícios 06thomasdacosta
 
Redes de Computadores - Exercícios 05
Redes de Computadores - Exercícios 05Redes de Computadores - Exercícios 05
Redes de Computadores - Exercícios 05thomasdacosta
 
Programação Concorrente - Curso Completo
Programação Concorrente - Curso CompletoProgramação Concorrente - Curso Completo
Programação Concorrente - Curso Completothomasdacosta
 
Programação Concorrente - Aula 07
Programação Concorrente - Aula 07Programação Concorrente - Aula 07
Programação Concorrente - Aula 07thomasdacosta
 
Programação Concorrente - Aula 06
Programação Concorrente - Aula 06Programação Concorrente - Aula 06
Programação Concorrente - Aula 06thomasdacosta
 
Redes de Computadores - Exercícios 04
Redes de Computadores - Exercícios 04Redes de Computadores - Exercícios 04
Redes de Computadores - Exercícios 04thomasdacosta
 
Redes de Computadores - Aula 05
Redes de Computadores - Aula 05Redes de Computadores - Aula 05
Redes de Computadores - Aula 05thomasdacosta
 
Linguagem de Programação Java
Linguagem de Programação JavaLinguagem de Programação Java
Linguagem de Programação Javathomasdacosta
 
Programação Concorrente - Aula 04
Programação Concorrente - Aula 04Programação Concorrente - Aula 04
Programação Concorrente - Aula 04thomasdacosta
 
Redes de Computadores - Exercícios 03
Redes de Computadores - Exercícios 03Redes de Computadores - Exercícios 03
Redes de Computadores - Exercícios 03thomasdacosta
 
Redes de Computadores - Aula 04
Redes de Computadores - Aula 04Redes de Computadores - Aula 04
Redes de Computadores - Aula 04thomasdacosta
 
Algoritmos e Estrutura de Dados - Aula 05
Algoritmos e Estrutura de Dados - Aula 05Algoritmos e Estrutura de Dados - Aula 05
Algoritmos e Estrutura de Dados - Aula 05thomasdacosta
 
Algoritmos e Estrutura de Dados - Aula 04
Algoritmos e Estrutura de Dados - Aula 04Algoritmos e Estrutura de Dados - Aula 04
Algoritmos e Estrutura de Dados - Aula 04thomasdacosta
 

Más de thomasdacosta (20)

Azure Functions e Java: Do Desenvolvimento a Produção
Azure Functions e Java: Do Desenvolvimento a ProduçãoAzure Functions e Java: Do Desenvolvimento a Produção
Azure Functions e Java: Do Desenvolvimento a Produção
 
Programação de Sistemas Distribuídos - Aula 03
Programação de Sistemas Distribuídos - Aula 03Programação de Sistemas Distribuídos - Aula 03
Programação de Sistemas Distribuídos - Aula 03
 
Programação de Sistemas Distribuídos - Aula 02
Programação de Sistemas Distribuídos - Aula 02Programação de Sistemas Distribuídos - Aula 02
Programação de Sistemas Distribuídos - Aula 02
 
Programação de Sistemas Distribuídos - Aula 01
Programação de Sistemas Distribuídos - Aula 01Programação de Sistemas Distribuídos - Aula 01
Programação de Sistemas Distribuídos - Aula 01
 
Organização de Computadores - Aula 02
Organização de Computadores - Aula 02Organização de Computadores - Aula 02
Organização de Computadores - Aula 02
 
Organização de Computadores - Aula 03
Organização de Computadores - Aula 03Organização de Computadores - Aula 03
Organização de Computadores - Aula 03
 
Organização de Computadores - Aula 01
Organização de Computadores - Aula 01Organização de Computadores - Aula 01
Organização de Computadores - Aula 01
 
Redes de Computadores - Exercícios 06
Redes de Computadores - Exercícios 06Redes de Computadores - Exercícios 06
Redes de Computadores - Exercícios 06
 
Redes de Computadores - Exercícios 05
Redes de Computadores - Exercícios 05Redes de Computadores - Exercícios 05
Redes de Computadores - Exercícios 05
 
Programação Concorrente - Curso Completo
Programação Concorrente - Curso CompletoProgramação Concorrente - Curso Completo
Programação Concorrente - Curso Completo
 
Programação Concorrente - Aula 07
Programação Concorrente - Aula 07Programação Concorrente - Aula 07
Programação Concorrente - Aula 07
 
Programação Concorrente - Aula 06
Programação Concorrente - Aula 06Programação Concorrente - Aula 06
Programação Concorrente - Aula 06
 
Redes de Computadores - Exercícios 04
Redes de Computadores - Exercícios 04Redes de Computadores - Exercícios 04
Redes de Computadores - Exercícios 04
 
Redes de Computadores - Aula 05
Redes de Computadores - Aula 05Redes de Computadores - Aula 05
Redes de Computadores - Aula 05
 
Linguagem de Programação Java
Linguagem de Programação JavaLinguagem de Programação Java
Linguagem de Programação Java
 
Programação Concorrente - Aula 04
Programação Concorrente - Aula 04Programação Concorrente - Aula 04
Programação Concorrente - Aula 04
 
Redes de Computadores - Exercícios 03
Redes de Computadores - Exercícios 03Redes de Computadores - Exercícios 03
Redes de Computadores - Exercícios 03
 
Redes de Computadores - Aula 04
Redes de Computadores - Aula 04Redes de Computadores - Aula 04
Redes de Computadores - Aula 04
 
Algoritmos e Estrutura de Dados - Aula 05
Algoritmos e Estrutura de Dados - Aula 05Algoritmos e Estrutura de Dados - Aula 05
Algoritmos e Estrutura de Dados - Aula 05
 
Algoritmos e Estrutura de Dados - Aula 04
Algoritmos e Estrutura de Dados - Aula 04Algoritmos e Estrutura de Dados - Aula 04
Algoritmos e Estrutura de Dados - Aula 04
 

Exercícios da Aula de LAB 02

  • 1. Programação Estruturada II EXERCÍCIOS DA 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 – 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:
  • 4. 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'; }
  • 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.