Permalänk
Medlem

C++ nybörjare funderar.

Hej, är väldigt ny med programmering så har en fråga då jag läser kursen på distans som tidigare personer skrivit på forumet så tar det ett par dagar innan man får något svar från sin lärare.

Frågan är jag får oftast eller nästan alltid i mina koder lov att använda mig utav

cin.get(); och cin.ignore();

i slutet av mina program.
Har ett exempel här på någon simpel övning jag gjorde.

#include <iostream> #include "Addera.h" //// Skapade denna i en egen .h fil så jag sedan i main kan kalla på den genom (#include "Addera") using namespace std; //// Detta kan vara bra att göra när man kodar större och längre koder att dela in i mindre delar. int main() { int nr1, nr2; cout << "Ange tal: "; cin >> nr1; cout << "Ange tal: "; cin >> nr2; int nr3 = Addera(nr1, nr2); cout << nr3; cin.ignore(); cin.get(); return 0; }

För om jag inte har både

cin.ignore(); och cin.get();

så stänger consolen ner direkt.
Jag använder mig av Microsoft Visual Studio 2017.

Permalänk
Medlem

Ja, det bör vara OK.

Men det är bättre att du lär dig använda debuggern. Sätt en breakpoint på första kodraden, starta debuggern, stega igenom programmet. Konsollen kommer att vara öppen under tiden.

Permalänk
Medlem

Ibland töms inte tecken streamen. T.ex kan newline ligga kvar från föregående läsning och då läser din sista cin det tecknet och sen avslutar programmet. En ignore innan garanterar att streamen är tom och cin väntar på data.

(Ps, 20 år sen jag använde c++ så ta det som en grovhuggen förklaring)

Skickades från m.sweclockers.com

Visa signatur

Processor: Motorola 68000 | Klockfrekvens: 7,09 Mhz (PAL) | Minne: 256 kB ROM / 512 kB RAM | Bussbredd: 24 bit | Joystick: Tac2 | Operativsystem: Amiga OS 1.3

Permalänk
Medlem

@KAD: Okej tack, det är något jag måste kolla mer på har inte kommit in på något sånt än i kursen.

Permalänk
Medlem
Skrivet av blewz:

@KAD: Okej tack, det är något jag måste kolla mer på har inte kommit in på något sånt än i kursen.

Risken är att kursen helt kommer hoppa över den biten, när det i själva verket är bland det första man borde lära sig. Se t.ex. denna snabbguide från Microsoft, det är inte alls komplicerat. De få minuter det tar att lära sig grunderna i debugging kommer spara dig mycket tid under kursens gång.