Forum: Loop

Forum huvudsida -> Programmering -> Loop

Sidor: 1

Till botten

webbhelp 17:59 - 9:e Mars 2009 | Post #1
Medlem
Inlägg: 12


Skicka PM
[C++]

Hej!

Denna loopen fungerar inte, inte ens ett fönster öppnas, vet ni varför?

  1. #include <iostream>
  2.  
  3. using namespace std;
  4.  
  5. int main()
  6. {
  7. int i;
  8.  
  9. i = 0;
  10.  
  11. while(i<10)
  12. {
  13. cout << i << "\n";
  14.  
  15. i++;
  16. }
  17.  
  18. cin.get();
  19.  
  20. }


Tack på förhand //WebbHelp

[C++]


Senast redigerad 18:00 - 9:e Mars 2009


achnorr 18:38 - 9:e Mars 2009 | Post #2
Medlem
Inlägg: 82


Skicka PM
du har glömt return 0; efter cin.get();

-------------------------
Ohhoo*



webbhelp 18:40 - 9:e Mars 2009 | Post #3
Medlem
Inlägg: 12


Skicka PM
Nej, det hjälpte tyvärr inte

TackSmiley




Nissebosselasse 19:02 - 9:e Mars 2009 | Post #4
Medlem
Inlägg: 490


Skicka PM
Går kompileringen igenom? Vilken kompilator använder du? Kör du Windows/Linux/något annat?
Det kompilerar och kör felfritt med Visual C++ 2008.

-------------------------
http://pushingcows.se
Gula Nallen



webbhelp 19:25 - 9:e Mars 2009 | Post #5
Medlem
Inlägg: 12


Skicka PM
Jag kör dev c++ i windows




Nissebosselasse 20:06 - 9:e Mars 2009 | Post #6
Medlem
Inlägg: 490


Skicka PM
Testa att köra programmet från en kommandotolk, för att se om det överhuvudtaget skriver ut något.

-------------------------
http://pushingcows.se
Gula Nallen



webbhelp 20:29 - 9:e Mars 2009 | Post #7
Medlem
Inlägg: 12


Skicka PM
Hur gör jag det?

Ni förstår jag började med C++ idag




webbhelp 21:32 - 9:e Mars 2009 | Post #8
Medlem
Inlägg: 12


Skicka PM





spatman 10:51 - 10:e Mars 2009 | Post #9
Medlem
Inlägg: 11


Skicka PM
Testa detta det borde funka.

  1. #include <iostream>
  2.  
  3. using namespace std;
  4.  
  5. int main()
  6. {
  7.  
  8. int i;
  9.  
  10. i = 0;
  11.  
  12. while (i<10)
  13. {
  14. cout << i << endl;
  15.  
  16. i++;
  17. }
  18.  
  19. system("PAUSE");
  20. return 0;
  21. }


Orsaken till att du inte ser något är för att den utför programmet så snabbt. sätt en "system("PAUSE");" så kommer du få se den.




webbhelp 12:54 - 10:e Mars 2009 | Post #10
Medlem
Inlägg: 12


Skicka PM
Det lät som en väldigt smart orsakSmiley

Ska testa med det så fort jag har tillgång till det.

Tack så mycket!

Bara några frågor:

vad gör system
och vd gör system("pause"); exakt?

Vad gör endl?

Tack på förhand //WebbHelp

Som ni förstår så är jag nybörjare med detta.




FrozenSnake 13:51 - 10:e Mars 2009 | Post #11
Medlem
Inlägg: 26


Skicka PM
cin.get() skulle funka lika bra som system("pause");
eftersom han inte tryckt på retur någon gång.

system() är platformsberoende så inget man ska använda, bättre att lära sig koda platformsfritt. Tror den bara funkar på windows. System() kör ett program på datorn (pause i det här fallet). Går du till startmenyn och väljer kör, skriver in cmd, klickar på OK och sedan skriver "pause" i rutan som kommer upp kommer du få samma resultat som system("pause");

cin.get() väntar på en retur (användaren trycker på enter). Har man redan tryckt retur en gång kan man skriva

  1. cin.get();
  2. cin.get();


eller

  1. cin.ignore();
  2. cin.get();


Finns säkerligen andra kombinationer som funkar också. Jag personligen tycker man ska hålla sig borta från platformsberoende funktioner eller i alla fall veta vilka som inte funkar överallt om man kanske en dag byter OS och inte fattar varför ett simpelt

  1. #include <iostream>
  2. int main()
  3. {
  4. std::cout << "Hello World!\n";
  5. system("PAUSE");
  6. return 0; // inte obligatorisk! Men brukar skriva med den ändå.
  7. }


inte kompilerar.

Om du inte hängde med så tar jag det lite kort.

system("pause"); kör programmet pause.exe
system("notepad"); skulle också funka, detta startar dock notepad (anteckningar och pausar inte ditt program).

endl; står för end line. Alltså man skickas ner en rad. \\n skulle också funka om du skriver det innanför "". T.ex:

  1. cout << "Hej\nhejdå!\n";



Senast redigerad 13:59 - 10:e Mars 2009


webbhelp 15:27 - 10:e Mars 2009 | Post #12
Medlem
Inlägg: 12


Skicka PM
Hej och tusen tack för förklaringen!Smiley

Jo nu förstår jag, alltså ska jag undvika system()Smiley

Men du, en grej fattar inte jag, om vi säger ett spel, hur körs det för att "programmet" inte ska stängas ner, jag måste ju t.ex. köra med cin.get();

Hur gör dom?

Och du cin.get(); så den kollar om ett enterslag har blivit tryckt? vad är det egentligen kollar?

Programmet stängs ju aldrig ner förrän all kod körs, är det det som händer att koden stängs inte
ner förrän get.cin(); har körts?




webbhelp 17:44 - 10:e Mars 2009 | Post #13
Medlem
Inlägg: 12


Skicka PM
Någon?




webbhelp 23:07 - 10:e Mars 2009 | Post #14
Medlem
Inlägg: 12


Skicka PM
..................




FrozenSnake 03:48 - 11:a Mars 2009 | Post #15
Medlem
Inlägg: 26


Skicka PM
Läs denna från toppen till botten
http://www.cplusplus.com/doc/tutorial/




webbhelp 16:18 - 11:a Mars 2009 | Post #16
Medlem
Inlägg: 12


Skicka PM





kode 01:02 - 12:a Mars 2009 | Post #17
Medlem
Inlägg: 45


Skicka PM
Får man fråga vad 17 du håller på med, webbhelp? Tror du till exempel på allvar att folk blir mer benägna att hjälpa dig om du bumpar tråden utan att skriva något vettigt?

Vad sägs om att sluta med det och istället försöka formulera dina frågor så att man faktiskt förstår vad sjutton det är du undrar?




FrozenSnake 04:38 - 12:a Mars 2009 | Post #18
Medlem
Inlägg: 26


Skicka PM
Bästa sättet att lära sig programmering är inte att be om hjälp 24/7 då kan du lika gärna betala någon att koda åt dig.

Lär dig programmera själv och lägg ner tid på det. Väldigt få blir duktig på programmering snabbt. Ingen som inte lär sig själv blir duktig på programmering.

Vill du inte läsa själv beställ en ljudbok. Vill du inte koda själv lägg ner helt eller hyr en kodare.

En väldigt irriterande sak för programmerare är personer som vägrar lyssna på de råd de får och bara ber om hjälp hela tiden. Man lär sig inget som nybörjare om man bara ber om hjälp. Visst koden funkar. Men varför? Kan man förklara det?

Visst även vi mer erfarna ber om hjälp ibland men med en stor skillnad. Vi har försökt lösa problemet kan vi inte de ber vi om tips eller om någon kan visa vad man gjort fel och hur man kan få det rätt. Dessa brukar även kunna förstå lösningen när de väl ser den. Jag är inte aktiv här speciellt mycket eftersom forumet inte är speciellt aktivt. På det forum jag är aktiv ser jag dagligen folk som skriver saker i stil med.

"Ge mig kod för detta"
"Programmera detta åt mig"

I reglerna på sidan står det klart och tydligt att man måste visa vad man själv försökt med och visa upp det om man vill ha hjälp. Folk ignorerar detta vilket är respektlöst. I stor utsträckning gäller det överallt. Vill man ha hjälp med något måste man försöka själv först. Ingen vill koda åt dig och du lär dig null, zip, nada, noll.

Så kort och gott... Koda själv, kommer ett fel L,,S vad det står, kolla koden, ser du inte vad som är fel googla på felmeddelandet eller ännu bättre läs kompilatorns manual. Du lär dig bäst genom att lösa problemen själv i början. När du kan grunderna kommer du kunna lösa många problem själv också. Fastnar du kommer du kunna försöka olika saker innan du kastar upp en tråd du bumpar. Vilket jag vet inte uppskattas. Svarar ingen är det för att

1. Ingen kan hjälpa dig
2. Ingen vill hjälpa dig

Finns säkert fler anledningar men dessa är nog de som är mest "använda".

Bra böcker är:
C++ Primer (ISBN: 0-201-72148-1)
C++ Primer Plus (ISBN: 0-672-32223-4)

Vill du inte köpa, låna dem på biblioteket. Många bibliotek har programmeringsböcker annars kan du fråga om de kan köpa in den.




kode 10:20 - 12:a Mars 2009 | Post #19
Medlem
Inlägg: 45


Skicka PM
Nåväl.

Du tycks ha frågat om vad cin.get() gör, så jag ska göra ett försök att svara även om jag är bättre på C än C++, i och med att jag faktiskt på senare tid knackat en del C, medan det var åratal jag gjorde något i C++. Jag har således använt en sökmotor och söktermen "cin.get" för att hitta svaret bland en av de första träffarna.

get är en metod på indataströmmar, något som cin är. get, i sin enklaste form utan några anropsparametrar, tar ett tecken från strömmen och returnerar värdet på detta castat till integer.




webbhelp 18:50 - 12:a Mars 2009 | Post #20
Medlem
Inlägg: 12


Skicka PM
Kode: Tack för hjälpen, så alltså, om jag trycker skickar den med en integer t.ex. en kod för just knappen enter, så fattar jag det som i alla fall:)

Jag tycker inte det är schysst av er att hålla på och trycka ner mig så.

Jag har sökt väldigt mycket på det, jag har ingen kod som inte fungerar, jag vet bara att koden stannar upp tills man har tryckt enter, men det säger inte mig så mycket, därför har jag sökt på det, men har inte förstått det resultat jag fick, så därför frågade jag här, men det verkade inte uppskattas. Jag skrev någon och sen ..... i 2 inlägg sen kom ett tredje som var tomt, som jag inte vet hur det komSmiley

Det hade varit många aktiva i tråden innan som verkade kunna det, och ibland kanske man missar en tråd, och det är väldigt många som brukar göra så, så jag tyckte inte att det var något dumt




FrozenSnake 01:05 - 13:e Mars 2009 | Post #21
Medlem
Inlägg: 26


Skicka PM
"Jag har sökt väldigt mycket på det" skriver du men om du sökt hade du på andra raden sett länken:

http://www.cplusplus.com/reference/iostream/istream/get.html <-- Se till att läsa den där nu du ger intrycket av att inte vilja söka svaren själv.

Vet inte vad du sökt på men vill du veta vad t.ex. cin.get() gör så söker man givetvis på ... just det. 'cin.get()' eller 'cin.get'

Bara för att allt kompilerar betyder det inte att det funkar. Det kommer du nog märka förr eller senare. Så bara för allt fungerar betyder de inte att det inte finns något att läsa. Länken jag gav dig är en mycket bra sida, använd den. Finns ett sökformulär högst upp. ,,r det en funktion du inte fattar sök på den. Alternativt söker du med google.

Känner du dig ner tryckt är det inte för att vi är elaka utan för att du ger ett intryck av att du inte vill försöka lära dig själv. Det intrycket får i alla fall jag. Finns ingen som vill göra jobbet åt dig och du lär dig inget om du inte lär dig nyttja ett av de bästa redskapet inom programmering. Det redskapet är internet i form av sidor som:

http://www.cplusplus.com/
eller
http://www.google.com/

Har du någon bok föresten? Antar att du går programmering i skolan? Sitter du bara hemma för att lära dig programmera av någon anledning borde du investera i en bok.

Dessa två är bra
http://www.adlibris.com/se/product.aspx?isbn=0672326973

Denna kan vara svår men den förklarar nog det mesta du vill veta i detalj.
http://www.adlibris.com/se/product.aspx?isbn=0201700735




Sidor: 1

Forum huvudsida -> Programmering -> Loop
Atom feed

Du får inte posta i den här tråden | Till toppen