Exercicio 1
// ######### util.h #########
#ifndef UTIL_H
#define UTIL_H
#include <string>
using namespace std;
int lerNumero(string);
#endif
//######### util.cpp #########
#include <iostream>
#include <string>
#include "util.h"
using namespace std;
int lerNumero(string x){
int n;
cout << x;
cin >> n;
return n;
}
// ######### exercicio1.cpp #########
#include <iostream>
#include <string>
#include "util.h"
using namespace std;
int main(){
int x = lerNumero(string("bla bla :"));
return 0;
}
Exercicio 2
// ######## ContCirc.h ########
#ifndef CONTCIRC_H
#define CONTCIRC_H
namespace NS_ContCirc {
class ContCirc {
private :
int n_nums;
int current;
public :
ContCirc(int);
void conta();
int valor();
};
}
#endif
// ####### ContCirc.cpp #######
#include "ContCirc.h"
namespace NS_ContCirc {
ContCirc::ContCirc(int circ){
n_nums = circ;
current = 0;
}
void ContCirc::conta(){
current = (current + 1) % n_nums;
}
int ContCirc::valor(){
return current;
}
}
// ####### exercicio2.cpp ########
#include <iostream>
#include "ContCirc.h"
using namespace std;
using namespace NS_ContCirc;
int main() {
ContCirc c(5);
c.conta();
c.conta();
c.conta();
cout << c.valor() << endl;
for (int i=0;i!=4;i++)
c.conta();
cout << c.valor();
return 0;
}
Exercicio 3
// ######### Media.h ########
#ifndef MEDIA_H
#define MEDIA_H
namespace NS_Media{
class Media{
private:
int acumulador;
int contador;
public:
Media();
void limpa(void);
void junta(int);
float resultado();
};
#endif
}
// ######## Media.cpp #######
#include "media.h"
namespace NS_Media{
Media::Media(){
acumulador = 0;
contador = 0;
}
void Media::limpa(void){
acumulador = 0;
contador = 0;
}
void Media::junta(int x){
acumulador += x;
contador++;
}
float Media::resultado(){
return ((float)acumulador) / contador;
}
}
// ######## exercicio3.cpp ########
#include <iostream>
#include "media.h"
using namespace std;
int main() {
NS_Media::Media m;
m.junta(2);
m.junta(33);
m.junta(4);
m.junta(51);
m.junta(6);
cout << m.resultado();
return 0;
}