Respostas
Ir para navegação
Ir para pesquisar
QUESTÕES 1 A 3
Foram implementadas no mesmo programa, no aplicativo Codeblocks, com saída para Console:
#include <iostream> #include <string> using namespace std;
//QUESTÃO 1 DA PROVA ***********************
class Item
{ public:
string NomeItem;
int Quantidade;
float ValorUnitario;
float TotalItem;
Item();
Item(string, int, float);
private:
float CalculaTotal();
};
//Construtor:
Item::Item()
{
cout<< "\nEntre com o nome do produto: ";
cin >> NomeItem;
cout<<"\nEntre com a quantidade de itens deste produto: ";
cin >> Quantidade;
cout<<"\nEntre com o preco do produto: ";
cin >> ValorUnitario;
cout<< "\nValor total do Item: R$" << CalculaTotal() ;
cout <<"\n\n\n"<< endl ;
}
//método privado:
float Item::CalculaTotal()
{
TotalItem = ValorUnitario * Quantidade;
return TotalItem;
} // FIM QUESTÃO 1 DA PROVA ***********************
// QUESTÃO 2 DA PROVA ***********************
Item::Item(string Nome, int x, float y)
{
NomeItem= Nome;
Quantidade=x;
ValorUnitario=y;
cout << "\nItem: " << NomeItem;
cout << "\nNumero de itens: "<< Quantidade;
cout << "\nValor unitario: "<< ValorUnitario;
cout<< "\nValor total do Item: R$" << CalculaTotal() ;
cout <<"\n\n\n"<< endl ;
} // FIM QUESTÃO 2 DA PROVA ***********************
// QUESTÃO 3 DA PROVA ***********************
class Estoque
{ public:
int NItens;
Estoque();
private:
float CalculaTotalEstoque(Item []);
};
//construtor:
Estoque::Estoque()
{
cout << "************************" << endl;
cout << " Cadastro de Produtos "<< endl;
cout<< "\nEntre com o numero de diferentes produtos no estoque (maximo 20): ";
cin >> NItens;
Item Itens[NItens];
cout<< "\nValor Total em Estoque: R$" << CalculaTotalEstoque(Itens) <<"\n\n\n"<< endl ;
}
//método privado:
float Estoque::CalculaTotalEstoque(Item TempItens[])
{ float ValorTotalEstoque=0;
int i;
for(i=0;i<NItens;i++)
ValorTotalEstoque += TempItens[i].TotalItem;
return ValorTotalEstoque;
} // FIM QUESTÃO 3 DA PROVA ***********************
//Código cliente:
int main()
{
cout << "************************" << endl;
cout << "** PROGRAMA DO ESTOQUE ***"<< endl;
cout << "************************\n" << endl;
Item TestaSobrecarga("Item teste sobrecarga", 10, 2.5);
Estoque Est1;
return 0;
}
QUESTÃO 4
Foi criado um formulário contendo, principalmente, um controle do tipo maskedTextBox para a entrada do valor n, um rótulo (label2) para a saída do valor do fatorial e um botão (button1), para disparar o evento de cálculo:
private: System::Void button1_Click(System::Object^ sender, System::EventArgs^ e) {
double fat = 1; //variavel para acumular o calculo do fatorial
int n = Convert::ToInt16(maskedTextBox1->Text); //valor a ser calculado o fatorial
//controle masketTextBox contem mascara "99", para limitar numeros inteiros de duas casas decimais
if(n<0)
label2->Text = "Apenas inteiros positivos!"; //label para saida
for(int i=2;i<=n;i++)
fat*=i;
label2->Text = Convert::ToString(fat);
maskedTextBox1->Focus();
}
QUESTÃO 5
Interface gráfica:
Classe Pessoa.h:
#pragma once
using namespace System;
ref class Pessoa
{
public:
String^ Nome;
int Idade;
int Dia;
int Mes;
int Ano;
String^ RG;
Pessoa(String^, int, int, int, int, String^);
};
Classe Pessoa.cpp:
#include "StdAfx.h"
#include "Pessoa.h"
#define ANOATUAL 2018
using namespace System;
using namespace System::Windows::Forms;
//construtor:
Pessoa::Pessoa(String^ nome, int i, int d, int m, int a, String^ rg)
{
if(d>0 && d<32&& a<=ANOATUAL && m>0 && m<13 &&((i==(ANOATUAL - a))||(i==(ANOATUAL - a -1))))
{ Nome = nome;
Idade = i;
Dia = d;
Mes = m;
Ano = a;
RG = rg;
MessageBox::Show("Cadastro efetuado com sucesso");
}
else
MessageBox::Show("Erro de preenchimento!");
}
Código-Cliente - form1.h:
private: System::Void button1_Click(System::Object^ sender, System::EventArgs^ e) {
String^ temp1;
String ^temp2;
int x, y, z, w;
temp1 = textBox1->Text;
temp2 = textBox2->Text;
x = Convert::ToInt16(maskedTextBox4->Text);
y = Convert::ToInt16(maskedTextBox1->Text);
z = Convert::ToInt16(maskedTextBox2->Text);
w = Convert::ToInt16(maskedTextBox3->Text);
Pessoa pessoa1(temp1, x, y, z, w, temp2);
}
