Rádio – Abordagem em C++ segundo o paradigma ADT

Dezembro 12, 2008

Desde Terça-Feira, dia 9 de Dezembo, que temos investido neste novo paradigma de programação. Foi então proposta a realização de um programa em que utilizá-se-mos o que aprendemos. Pusemos mãos à obra, e as cabeças a funcionar. Surgiram então ideias inovadoras como uma Slot Machine e uma Calculadora.

Eu optei por um rádio com uma lâmpada, um botão para o volume (entre 1 e 10) e outro botão para a emissora (entre 1 e 10) como mostra a imagem seguinte.

Rádio

Como podem ver, o meu forte não é desenhar, mas para tal trabalho adapta-se perfeitamente.

Aqui está o código do programa:

main.cpp

#include <iostream>
#include"Radio.h"
using namespace std;
int main(){
    Radio radio;

    //comandos
    radio.Luz();

    radio.VolumeMais();
    radio.VolumeMais();
    radio.VolumeMenos();

    radio.EmissoraMais();
    radio.EmissoraMenos();

    //status
    cout<<"Status"<<endl;
    cout<<"Emissora: "<<radio.ObterEmissora()<<endl;
    cout<<"Volume: "<<radio.ObterVolume()<<endl;
    cout<<"Lâmpada: "<<radio.ObterLampada()<<endl;

}

Radio.h

#ifndef RADIO_H
#define RADIO_H
#include <string>
using namespace std;
class Radio{
public:
	Radio();
	void Luz();
	void VolumeMais();
	void VolumeMenos();
	void EmissoraMais();
	void EmissoraMenos();
	int ObterVolume();
	int ObterEmissora();
	string ObterLampada();

private:
	string MensagemLigado;
	string MensagemDesligado;
	int Volume;
	int Emissora;
	bool Lampada;
};
#endif

Radio.cpp

#include <iostream>
#include <string>
#include "Radio.h"
using namespace std;
Radio::Radio(){
	Volume=1;
	Emissora=1;
	Lampada=false;
}
void Radio::Luz(){
	if(Lampada==true){
		Lampada=false;
		cout<<"Lâmpada desligada"<<endl;
	}
	else{
		Lampada=true;
		cout<<"Lâmpada ligada"<<endl;
	}
}
void Radio::VolumeMais(){
	if(Volume<10){
		Volume++;
		cout << "Volume Aumentado: " <<Volume<< endl;
	}
}
void Radio::VolumeMenos(){
	if(Volume>1){
		Volume--;
		cout << "Volume Aumentado: " <<Volume<< endl;
	}
}
void Radio::EmissoraMais(){
	if(Emissora<10){
		Emissora++;
		cout << "Emissora Aumentado: " <<Emissora<< endl;
	}
}
void Radio::EmissoraMenos(){
	if(Emissora>1){
		Emissora--;
		cout << "Emissora Aumentado: " <<Emissora<< endl;
	}
}
int Radio::ObterVolume(){
	return Volume;
}
int Radio::ObterEmissora(){
	return Emissora;
}
string Radio::ObterLampada(){
	if(Lampada==true)
		return "Ligada";
	else
		return "Desligada";
}


Paradigma ADT

Dezembro 12, 2008

No paradigma ADT o programa é construído mediante a utilização de tipos de dados definidos pelo utilizador designadas por classes, que quando instanciadas originam objectos, cada um dos quais podendo conter conjuntos de dados e funções, que são manipulados de forma a resolverem o problema proposto.

Na base deste tipo de programação encontra-se o conceito de classe, em torno do qual se pode dizer que tudo funciona.

Um bom exemplo deste tipo de programação é o programa The Tinking Cap, ou Capacete Pensante.



Seguir

Get every new post delivered to your Inbox.