Dzień dobry,
przychodzę tu z pewnym problemem ktory nie daje mi od dluzszego czasu spokoju. Otóż, musze uzyskac w programie format "a+b" (bez zadnych spacji i innych znakow). Dodatkowo zmienna a oraz b sa stringami. Aby to uzyskac wprowadzam jedna zmienna ab, wyszukuje znaku (+,-,*,/) a nastepnie rozdzielam na dwie liczby. Wszystko dziala poprawnie, jednak na samym starcie programu musze zapytac uzytkownika o liczbe powtorzen calego programu, gdy uzytkownik ja podaje funkcja find_first_of nie wiedziec czemu szuka tych znakow w tej liczbie powtorzen, a nie w liczbie ab. Ponizej zamieszczam kod, bylbym wdzieczny za pomoc.
P.S. probowalem juz to rozbic na dwie funkcje pobierajace odpowiednie argumenty, w obu przypadkach efekt ten sam :/
#include <iostream>
#include <string>
using namespace std;
void liczbaPowtorzen(void);
int main()
{
string a;
string b;
string ab;
int znak;
liczbaPowtorzen();
getline(cin,ab);
cout << endl;
cout << ab;
znak = ab.find_first_of("+");
if(znak < 0)
{
cout << "ab: " << ab;
znak = ab.find_first_of("-");
if(znak < 0)
{
znak = ab.find_first_of("*");
if(znak < 0)
{
znak = ab.find_first_of("/");
}
}
}
cout << " miejsce znaku: " <<znak << endl;
return 0;
}
void liczbaPowtorzen(void)
{
int liczbaPowtorzen;
cout << "Wprowadz liczbe potworzen: \n";
cin >> liczbaPowtorzen;
if(liczbaPowtorzen <0 || liczbaPowtorzen >200)
{
cout << "Bledna liczba powtorzen.\n";
do
{
cout << "Wprowadz odpowiednia liczbe powtorzen, przedzial 0-200\n";
cin >> liczbaPowtorzen;
}while(liczbaPowtorzen > 200 || liczbaPowtorzen < 0);
}
}