Witam! Uczę się języka C++ z kursu pana Zelenta oraz książki ,,C++. Przewodnik dla początkujących" Alexa Allaina, i właśnie w trzecim rozdziale jego książki (oparty jest na zmiennych, te podstawy) mam na zadanie napisać program który wykonuje dzielenie na dwóch liczbach podanych przez użytkownika a zaraz po tym pokazuje dokładny wynik dzielenia. Program ma działać jak i dla liczb całkowitych, jak i dziesiętnych. Oto mój kod:
#include <iostream>
using namespace std;
double x, y;
int main()
{
cout << "Podaj pierwsza liczbe: " << endl;
cin >> x;
cout << "Podaj druga liczbe: " << endl;
cin >> y;
cout << "Ilorazem jest " << x / y << "." << endl;
return 0;
}
Program działa wzorowo dla liczb całkowitych, lecz gdy wprowadzam liczbę z przecinkiem dzieje się to:
Lecz gdy wprowadzam liczbę z kropką program działa normalnie. Co ja zrobiłem źle? Pan Alex coś tam w rozdziale opowiadał o czymś takim jak getline, rozumiem do czego to jest ale ni co ni owo nie potrafię tego użyć.
Aby skorzystać z funkcji getline , należy przekazać jej źródło danych wejściowych (w tym przy-
padku cin ), łańcuch, do którego nastąpi wczytanie, oraz znak, na którym należy zakończyć
wczytywanie łańcucha. Na przykład poniższy kod pobierze imię użytkownika:
getline( cin, user_first_name, '\n' );
W moim przypadku do jakiego znaku ma kończyć się wczytywanie łańcucha? Nie korzystam z '/n' tylko z endline.
Liczę na pomoc, nie na użalanie się jak bardzo w amatorski sposób ja to ujmuję. Z góry dzięki!