quarta-feira, 6 de junho de 2012

Registros - Exercício Complementar 1

Resolução dos Problemas da Apostila de Registros

Repare que este problema é semelhante ao exercício 4 resolvido no post: Vetores - Aula de Programação de 15/05. A diferença está em como se armazena a tabela em uma estrutura do tipo registro.

Exercício Complementar 1



1.   Um armazém trabalha com 10 mercadorias diferentes identificadas pelos números inteiros de 1 a 10. O dono do armazém anota a quantidade vendida de cada mercadoria durante o mês. Ele tem uma tabela que indica para cada mercadoria o preço de vendida. Escrever o programa para ler e depois imprimir os dados de cada mercadoria em uma linha diferente e depois  o faturamento mensal do armazém. O preço de cada mercadoria é fornecido seguido pelos números das mercadorias e as quantidades vendidas. Quando uma mercadoria não tiver nenhuma vendida, é informado o valor zero no lugar de quantidade vendida.

Algoritmo


Programa Armazem
Tipo
      estoque = registro
            quantidade: inteiro
            preco: real
      Fim_registro
Var
      Declare mercadoria: vetor[1..10] de estoque
      Declare faturamento: real
      Declare i: inteiro
Inicio
      faturamento ß 0
      Para i ß 1 até 10 Faça
      Inicio_para
            Leia (mercadoria[i].quantidade)
            Leia (mercadoria[i].preco)
      Fim_para
      Para i ß 1 até 10 Faça
      Inicio_para
            Escreva (mercadoria[i].preco, “ - “ , i+1 , “ - “ , mercadoria[i].quantidade)
            faturamento ß faturamento + (mercadoria[i].quantidade * mercadoria[i].preco)
      Fim_para
      Escreva (“Faturamento: “, faturamento)
Fim

Código implementado no Dev-C++ 4.9.9.2


#include <iostream>
#include <stdio.h>

using namespace std;

struct estoque //declaração do tipo estoque
       {
       int quantidade;
       float preco;
       };

int main()
{
    estoque mercadoria[10]; //declaração do vetor mercadoria do tipo estoque
    float faturamento;
    int i;
    faturamento = 0;
    cout << " >>>>>>>>>> PROGRAMA ARMAZEM <<<<<<<<<< " << "\n\n";
    cout << "TABELA DE VENDAS" << "\n\n";
    for (i = 0; i < 10; i++) //leitura dos dados de entrada da tabela
        {
        cout << "MERCADORIA " << i + 1 << "\n";
        cout << "Digite a quantidade da vendida: ";
        cin >> mercadoria[i].quantidade;
        cout << "Digite o preco em R$: ";
        cin >> mercadoria[i].preco;
        cout << "\n";
        }
    system("cls");
    cout << " >>>>>>>>>> PROGRAMA ARMAZEM <<<<<<<<<< " << "\n\n";
    cout << "RELATORIO MENSAL DE VENDAS" << "\n\n";
    for (i = 0; i < 10; i++) //impressão dos dados da tabela
        {
        cout << "R$ " << mercadoria[i].preco << " - MERCADORIA " << i + 1;
        cout << " - " << mercadoria[i].quantidade << " UNIDADES VENDIDAS." << endl;
        faturamento = faturamento + (mercadoria[i].quantidade*mercadoria[i].preco);
        }
    cout << "\n\n" << "O faturamento mensal foi de R$ " << faturamento << "\n\n";   
    system("PAUSE");
}

Nenhum comentário:

Postar um comentário