C++ problem - nybörjare
Hej
Är relativt ny inom C++ och har kört fast på ett program som jag tänkte göra.
Poängen är att man skall skriva in en rad text som sedan skall gås igenom och
räkna upp alla blank steg i den inmatade raden text.
Först skall man initiera en Raknare som sedan skall använda metoder för att räkna alla utvalda tecken genom en for sats.
Problemet är att jag har satt räknaren att starta på 0, och gå till max 10 (valfritt såklart)
men programmet räknar inte upp variabeln sv (start_value). Skulle gärna behöva hjälp för att jag förstår inte alls var felet ligger.
Main:
#include <iostream>
#include <string>
#include "raknare.h";
using namespace std;
int main(){
Raknare r(0, -3, 10);
string text_line;
cout << "Enter a line of text: ";
cin >> text_line;
for(int i = 0; i < text_line.size(); i++){
if(text_line[i] == ' ')
r.countUp();
}
cout << r.showCounter() << endl;
system("pause");
return 0;
}
Raknare.cpp
#include "raknare.h";
#include <iostream>
using namespace std;
void Raknare::countUp(){
if(sv < mv)
sv++;
else
cout << "The counter is already at the maximum number chosen!" << endl;
}
void Raknare::countDown(){
if(sv > lv)
sv--;
else
cout << "The counter is already at the smallest number chosen!" << endl;
}
int Raknare::showCounter(){
return sv;
}
Raknare.h
#ifndef RAKNARE_H
#define RAKNARE_H
using namespace std;
class Raknare{
public:
Raknare(int start_value, int least_value, int max_value)
: sv(start_value), lv(least_value), mv(max_value){};
void countUp();
void countDown();
int showCounter();
private:
int sv, lv, mv;
};
#endif
Tack för svar