state-handler: counter: modify limits

This commit is contained in:
Vasily Davydov 2022-10-14 13:58:30 +03:00
parent acb1b73b9a
commit 1b4c37b9c5
2 changed files with 42 additions and 32 deletions

View File

@ -8,19 +8,19 @@
#ifndef COUNTER_H_
#define COUNTER_H_
class Counter {
class Counter
{
public:
Counter(int i, int up);
void inc();
void dec();
int getCurrent();
void setInit(int i);
~Counter() = default;
Counter (int i, int up);
void inc ();
void dec ();
int getCurrent ();
void setInit (int i);
~Counter () = default;
private:
int init;
int up_lim;
int init;
int up_lim;
};
#endif /* COUNTER_H_ */

View File

@ -7,39 +7,49 @@
#include "Counter.h"
void Counter::inc() {
if(init >= up_lim){
init = 0;
} else{
++init;
void
Counter::inc ()
{
if (init < up_lim)
{
++init;
}
}
void Counter::dec() {
if(init <= 0){
init = up_lim;
} else{
--init;
void
Counter::dec ()
{
if (init - 1 > 0)
{
--init;
}
}
int Counter::getCurrent(){
int
Counter::getCurrent ()
{
return this->init;
}
Counter::Counter(int i, int up) {
up_lim = up;
if(i > up){
init = up;
}else if(i < 0){
init = 0;
}else{
init = i;
Counter::Counter (int i, int up)
{
up_lim = up;
if (i > up)
{
init = up;
}
else if (i < 0)
{
init = 0;
}
else
{
init = i;
}
}
void Counter::setInit(int i){
void
Counter::setInit (int i)
{
init = i;
}