Szybkie podstawowe pytanko:)

0
 #include <iostream>

using namespace std;

int main()
{

double l1, l2;

cout<<"Podaj pierwszą liczbę";
cin>>l1;			//wchodzi liczba i zapisuje na l1
cout<<"Podaj drugą liczbę";
cin>>l2;
cout<<"\n";

cout<<"Suma Twoich liczb wynosi "<<l1+l2<<endl;
cout<<"Różnica Twoich liczb wynosi "<<l1-l2<<endl;
cout<<"Iloczyn Twoich liczb wynosi "<<l1*l2<<endl;
cout<<"Iloraz Twoich liczb wynosi "<<l1/l2<<endl;

cin.get();
cin.get();
return 0;

}

Dlaczego pod koniec to "cin.get();" jest dwa razy? Nie może być raz? Może to ktoś logicznie mi wytłumaczyć? Byłbym wdzięczny ;)

1

W ogóle nie powinno go tam być - każde rozsądne IDE samo podtrzymuje konsolę.

1

Ale odpowiadając na pytanie: dlatego że po wpisaniu wartości przez cin>> w buforze zostaje znak nowej linii (bo wciskasz enter) więc pierwsze cin.get() zje tego entera a dopiero drugie będzie czekać na wejście.

1

a kontynuując odpowiedź na pytanie:
żeby

cin.get()

był tylko raz można zastosować coś takiego:

 std::cin.ignore(std::numeric_limits<std::streamsize>::max(), '\n');

chyba trzeba dołączyć

#include <limits>
1

Tak jak inni juz napisali. Mieszanie 2 sposobów pobierania danych z bufora wymaga dodatkowych operacji: http://kaczus.ppa.pl/art/Skrzynia_porad,18.html#getline

1 użytkowników online, w tym zalogowanych: 0, gości: 1