Forum: C++ Nybörjarguide

Forum huvudsida -> Kommentarer -> Paket -> C++ Nybörjarguide

Sidor: 1 2 3 4 5

Till botten

Independence 20:53 - 24:e Mars 2005 | Post #1
Administratör
Inlägg: 1799


Skicka PM
Detta är en guide i C++ som jag skrev precis när jag själv lärde mig C++, detta medför att många saker är förklarade så att även en person som inte kan programmera borde hänga med ganska bra.

-------------------------

Vi är riddarna som säger fiskbulle!





Burglar 22:42 - 19:e Juli 2005 | Post #2
Medlem
Inlägg: 59


Skicka PM
Jag tycker att det är en strålande guide som säkert många kommer ha nytta av (däribland mig själv Smiley )

-------------------------
,,hh signatur! jag är skeptisk!



Burglar 22:46 - 19:e Juli 2005 | Post #3
Medlem
Inlägg: 59


Skicka PM
:/ finns det inget sätt att tabort en kommentar?

-------------------------
,,hh signatur! jag är skeptisk!

Senast redigerad 22:47 - 19:e Juli 2005


ehall007 01:42 - 21:a Juli 2005 | Post #4
Medlem
Inlägg: 4


Skicka PM
mycket bra nybörjar guide! Smiley
men rekomendera MinGW kompilatorn istället. Försökte bra många timmar med att få borland att fungera utan resultat Smiley

-------------------------
Ingen signatur!



simonklinga 21:54 - 12:a September 2005 | Post #5
Medlem
Inlägg: 3


Skicka PM
Jag har läst och följt din guide till punkt och prickar men jag får inte spelet att fungera. Om jag bara kopierar din kod rätt in får jag 18 olika fel. Jag lyckades få ner felen till 1 men det gick inte att komma längre än "Välkommen till bana ett, [H]itta ett monster osv..."

Jag är nybörjare på det här området men, lär mig väldigt fort, vad gör jag för fel?

-------------------------





Celeron 06:19 - 13:e September 2005 | Post #6
Medlem
Inlägg: 418


Skicka PM
Du har kanske missat ett fel? Ett semikolon någonstans kanske?

-------------------------
Det viktigaste är att ha roligt! Har ny hemsida: http://www.freewebs.com/cpperik/



simonklinga 15:49 - 13:e September 2005 | Post #7
Medlem
Inlägg: 3


Skicka PM
Så här ganska exakt står det i min "project1.cpp" just nu och om jag komplimerar den så får jag ett fel som ser ut så här: "E2040 project1.cpp 19: decleration terminated incorrectly" OBS detta är första gången jag skriver in kod i ett forum så allt blir nog helt fel... ni kanske ser felen ändå Smiley

Förresten om ni har några boktips får ni gärna säga till. skulle vilja ha "lär dig c++ på 3 veckor" men den kostar ju 350 spänn och så rik har jag inte blivit än:P

  1.  
  2. #include <iostream>
  3. #include <time>
  4.  
  5. using std::cout;
  6. using std::cin;
  7. using std::string;
  8. using std::system;
  9. using std::srand;
  10. using std::rand;
  11.  
  12.  
  13.  
  14. string NyttSpel();
  15.  
  16.  
  17. int Level1 (string *sEName, int *iHp, int *iDmg_min, int *iDmg_max);
  18.  
  19. {
  20. srand (time(0));
  21.  
  22. bool bGoLevel1=true;
  23. string sCmd;
  24. int iCurrentHp == *iHp;
  25. int iEType;
  26. int iEHp;
  27. int iEDmg_min;
  28. int iEDmg_max;
  29. string sEName;
  30.  
  31. while (bGoLevel1);
  32. {
  33. system ("cls");
  34.  
  35. cout << "Vaelkommen till bana 1!, Meny:, -----, [H]itta fiende att slaoss med, [A]vsluta spelet, Val:";
  36. cin >> sCmd;
  37.  
  38. if (sCmd == "h" || sCmd == "H" )
  39. {
  40. iEType == srand() / (RAND_MAX / 3 + 1) + 1;
  41.  
  42. if (iEType == 1);
  43. {
  44. sEName == "Giftfluga";
  45. iEHp == 4;
  46. iEDmg_min == 2;
  47. iEDmg_max == 3;
  48. }
  49. else if (iEType == 2)
  50. {
  51. sEName == "Huggorm";
  52. iEHp == 5;
  53. iEDmg_min == 2;
  54. iEDmg_max == 5;
  55. }
  56. else if (iEType == 3)
  57. {
  58. sEName == "Raotta";
  59. iEHp == 3;
  60. iEDmg_min == 1;
  61. iEDmg_max == 2;
  62. }
  63.  
  64. while (true);
  65. {
  66. cout
  67. << "Slaoss mot fiende:------------------Du moeter en " << sEName << "!"
  68. << "Fiendens liv: " << iEHp << ""
  69. << "Dina liv: " << iCurrentHp << ""
  70. << "Meny:-----Slao i [m]agenSlao i [f]otenSlao i [h]uvudetVal:";
  71.  
  72. cin >> sCmd;
  73.  
  74. if (sCmd == "m" || sCmd == "M" )
  75. {
  76. if (iEType == 3)
  77. iEHp+=2;
  78. else if (iEType == 2)
  79. iEHp-=2;
  80. }
  81. else if (sCmd == "f" || sCmd == "F" )
  82. {
  83. if (iEType == 1)
  84. iEHp+=1;
  85. else if (iEType == 3)
  86. iEHp-=1;
  87. }
  88. else if (sCmd == "h" || sCmd == "H" )
  89. {
  90. if (iEType == 2)
  91. iEHp+=1;
  92. else if (iEType == 1)
  93. iEHp-=1;
  94. }
  95.  
  96. iEHp -= rand() / (RAND_MAX / *iDmg_max + 1) + *iDmg_min;
  97.  
  98. if (iEHp <= 0)
  99. {
  100. cout << "Du dödade din fiende, bra gjort!";
  101. break;
  102. }
  103. else
  104. {
  105. iCurrentHp -= rand() / (RAND_MAX / iEDmg_max + 1) + iEDmg_min;
  106.  
  107. if (iCurrentHp <= 0)
  108. {
  109. bGoLevel1 = false;
  110. iCurrentHp = *iHp;
  111. break;
  112. }
  113. }
  114. }
  115. }
  116. else if (sCmd == "a" || sCmd == "A" )
  117. {
  118. return 3;
  119. }
  120. }
  121.  
  122. return 2;
  123. }
  124.  
  125.  
  126. string NyttSpel()
  127. {
  128. string sTmpName;
  129. system("cls" );
  130.  
  131. cout << "Vaelkommen till Skogen med de elaka monstrena spelet!Skriv in ditt namn sao vi kan börja: ";
  132.  
  133. cin >> sTmpName;
  134.  
  135. return sTmpName;
  136. }
  137.  
  138. int main()
  139. {
  140. string sCmd;
  141. string sName;
  142. bool bGo=true;
  143. int iTmp;
  144. int iHp = 10;
  145. int iDmg_min = 2;
  146. int iDmg_max = 5;
  147.  
  148. while (bGo);
  149. {
  150.  
  151. cout
  152. << "#################################################"
  153. << "# #"
  154. << "# Skogen med de elaka monstrena spelet v1.0 #"
  155. << "# #"
  156. << "#################################################"
  157. << "Huvud meny:-----------, [N]ytt spel, [A]vslutaVal:";
  158.  
  159. cin >> sCmd;
  160.  
  161. if (sCmd == "n" || sCmd == "N" )
  162. {
  163. sEName == NyttSpel();
  164. iTmp = Level1(&sName, &iHp, &iDmg_min, &iDmg_max);
  165.  
  166. if (iTmp == 3)
  167. bGo = false;
  168. if (iTmp == 2)
  169. cout << "Du dog!";
  170. }
  171. else if (sCmd == "a" || sCmd == "A" )
  172. {
  173. break;
  174. }
  175.  
  176. }
  177.  
  178. return 0;
  179. }


-------------------------



Senast redigerad 15:53 - 13:e September 2005


Independence 19:05 - 13:e September 2005 | Post #8
Administratör
Inlägg: 1799


Skicka PM
Jag kompilerade spelet i skolan idag, enda problemet var att alla \n hade blivit utbytta mot radbrytningar så jag var tvungen att ändra tillbaka innan det gick att kompilera. Var tvungen att ändra time till ctime överst i programmet också, då jag körde GCC istället för Borlands.

-------------------------

Vi är riddarna som säger fiskbulle!





brainlessbob 16:41 - 29:e September 2005 | Post #9
Medlem
Inlägg: 69


Skicka PM
Väldigt bra guide Smiley

Har lärt mig väldigt mycket med hjälp av den.
Har dock lite problem med loopar då jag aldrig tycks fatta dem.
Framför allt For loopar.
Men det är säkert bara jag Smiley
Bra sida förövrigt också.
Håller på med att komma igång med SDL nu Smiley
Gissa vilken guide jag börjat läsa Smiley

-------------------------
Idioter kan göra underverk!



joppe 18:17 - 29:e September 2005 | Post #10
Medlem
Inlägg: 5


Skicka PM
Jäkligt bra Nybörjar guide , håller på att läsa igenom den vid detta läge och jag måste säga att det är verkligen verkligen bra!

-------------------------
Ingen signatur!



SaNz 12:18 - 29:e Oktober 2005 | Post #11
Medlem
Inlägg: 77


Skicka PM
Det enda felet är med
string sCmd;
eftersom att det inte fungerar...

-------------------------
Det är helheten som räknas... Så skit inte i hälften!



Celeron 13:56 - 29:e Oktober 2005 | Post #12
Medlem
Inlägg: 418


Skicka PM
Japp, du måste inkludera string, men det står väl i guiden på den avdelningen som handlar om string:
  1.  
  2. #include <string>


-------------------------
Det viktigaste är att ha roligt! Har ny hemsida: http://www.freewebs.com/cpperik/



Independence 16:40 - 29:e Oktober 2005 | Post #13
Administratör
Inlägg: 1799


Skicka PM
Det står i första delen att om man inte använder borland så ska man komma ihåg att skriva i det där när man kommer till delen med strängar, tror dock att det är många som hinner glömma bort det om det är lång tid mellan att man läser de olika delarna.

-------------------------

Vi är riddarna som säger fiskbulle!





Celeron 17:14 - 29:e Oktober 2005 | Post #14
Medlem
Inlägg: 418


Skicka PM
Mitt hat mot Borland har förstärkts Smiley

-------------------------
Det viktigaste är att ha roligt! Har ny hemsida: http://www.freewebs.com/cpperik/



SaNz 20:45 - 29:e Oktober 2005 | Post #15
Medlem
Inlägg: 77


Skicka PM
MM, jag vet att man måste göra det, men jag trodde att man bara behövde trycka på knappen... Men sen när jag provade runt lite så kom jag på att man skulle trycka enter!
Men jag har fösökt göra ett litet spel som det där, fast med lite andra grejor hade jag tänkt, typ att man kan köpa nya grejer och sånt, men varför finns det en level1 loop och sen kommer man till skogen?

Men jag skulle också vilja veta vad det är för fel på den här koden:

#include <iostream>
#include <ctime>

using std::cout; using std::cin;
using std::string; using std::rand;
using std::system; using std::srand;


string NyttSpel();
int level1(string *sNamn, int *Hp, int *Min_dmg, int *Max_dmg);

int level1(string *sNamn, int *Hp, int *Min_dmg, int *Max_dmg)
{
srand(time(0));

bool bGoLevel1=true;
string sCmd;
int CurrentHp = *Hp;
int EType;
int EHp;
int EMin_dmg;
int EMax_dmg;
string eNamn;

while (bGoLevel1)
{
system("cls");

cout <<"Hej ock välkommen till detta fighting spel... Välj något i menyn nedan!"
"Meny"
"-----------------"
"[A]renan på bana 1"
"[O]m spelet...";

cin >> sCmd;
if (sCmd == "a" || sCmd == "A" )
{
cout <<"Välkommen till arenan! Här kan du slåss mot fiender! Om du dödar 3 så får du tillgång till bana 2!"
"Skriv in [Hitta] för att hitta en fiende att slåss med!";
if (sCmd == "hitta" || sCmd == "HITTA" || sCmd == "Hitta" )
{
EType = rand() / (RAND_MAX / 3 + 1) + 1;
if (EType == 1)
{
eNamn = "Trollslända";
EHp = 2;
EMin_dmg = 1;
EMax_dmg = 3;
}
else if (EType == 2)
{
eNamn = "Orm";
EHp = 4;
EMin_dmg = 0;
EMax_dmg = 2;
}
else if (EType == 3)
{
eNamn = "Råtta";
EHp = 3;
EMin_dmg = 2;
EMax_dmg = 4;
}

while (true)
{
cout <<
"Oops, det var en som ville möta dig!"
"Det var en "<< eNamn <<"!"
"Fiendens liv "<< EHp <<"!"
"Dina liv "<< CurrentHp <<"!"
"Han kan skada "<< EMax_dmg <<"som mest!"
"Och "<< EMin_dmg <<"som minst!"
"Striden kan börja!"
"Meny"
"----------"
"[M]Slå mot magen."
"[F]Slå mot fötterna."
"[H]Slå mot huvudet.";

cin >> sCmd;

if (sCmd == "m" || sCmd == "M" )
{
if (EType == 1)
EHp+=2;
else if (EType == 3)
EHp-=3;
}
else if (sCmd == "f" || "F")
{
if (EType == 2)
EHp+2;
else if (EType == 1)
EHp-=3;
}
else if (sCmd == "h" || "H")
{
if (EType == 3)
EHp+3;
else if (EType == 2)
EHp-=4;
}

EHp -= rand() / (RAND_MAX / EMax_dmg +1) + EMin_dmg;

if (CurrentHp <= 0)
{
bGoLevel1 = false;
CurrentHp = *Hp;
break;
}
}
}
}
else if(sCmd == "a" || sCmd =="A")
{
return 3;
}
}

return 2;
}
Det blir build error och linker problem med WinMain@16 och Id returned 1 exit status. Varför?

-------------------------
Det är helheten som räknas... Så skit inte i hälften!



Celeron 07:30 - 30:e Oktober 2005 | Post #16
Medlem
Inlägg: 418


Skicka PM
1. Inkludera string! ,,ven om man använder Borland så tycker jag att man ska skriva sina program så att dom funkar i så många kompilatorer som möjligt!

2. Du måste ha main()! Det är ju där programmet börjar och slutar! Du kan inte göra ett program i C++ som inte har main() (eller WinMain())!

-------------------------
Det viktigaste är att ha roligt! Har ny hemsida: http://www.freewebs.com/cpperik/



brainlessbob 10:09 - 30:e Oktober 2005 | Post #17
Medlem
Inlägg: 69


Skicka PM
Vad är det som är så bra med Borland egentligen?
Fick aldrig igång det och tack var väl det för att Dev-C++ äger Smiley

-------------------------
Idioter kan göra underverk!



SaNz 10:09 - 30:e Oktober 2005 | Post #18
Medlem
Inlägg: 77


Skicka PM
Tackar, Celeron... Min IDOL 2005! Smiley

-------------------------
Det är helheten som räknas... Så skit inte i hälften!



SaNz 10:11 - 30:e Oktober 2005 | Post #19
Medlem
Inlägg: 77


Skicka PM
Hmm, jia. Borland verkar inte vara någonting ijämfört med Dev-C++, eftersom att jag använder Dev

-------------------------
Det är helheten som räknas... Så skit inte i hälften!



SaNz 10:23 - 30:e Oktober 2005 | Post #20
Medlem
Inlägg: 77


Skicka PM
Hmm, celeron jag har lagt till du har sagt men när man väljer i menyn och väljer arenan så blinkar texten till som ska vara när man har tryckt och sen bara kommer man tillbaka till huvudmenyn... Vet du varför? Här är koden(igen..)
  1.  
  2. #include <iostream>
  3. #include <ctime>
  4. #include <string>
  5.  
  6. using std::cout; using std::cin;
  7. using std::string; using std::rand;
  8. using std::system; using std::srand;
  9.  
  10.  
  11. string NyttSpel();
  12. int level1(string *sNamn, int *Hp, int *Min_dmg, int *Max_dmg);
  13. int main(string *sNamn, int *Hp, int *Min_dmg, int *Max_dmg)
  14. {
  15. srand(time(0));
  16. bool bGoLevel1=true;
  17. string sCmd;
  18. int CurrentHp = *Hp;
  19. int EType;
  20. int EHp;
  21. int EMin_dmg;
  22. int EMax_dmg;
  23. string eNamn;
  24. while (bGoLevel1)
  25. {
  26. system("cls");
  27. cout <<"Hej ock välkommen till detta fighting spel... Välj något i menyn nedan!"
  28. "Meny"
  29. "-----------------"
  30. "[A]renan på bana 1"
  31. "-----------------"
  32. "[O]m spelet...";
  33. cin >> sCmd;
  34. if (sCmd == "a" || sCmd == "A" )
  35. {
  36. cout <<"Välkommen till arenan! Här kan du slåss mot fiender! Om du dödar 3 så får du tillgång till bana 2!"
  37. "Skriv in [Hitta] för att hitta en fiende att slåss med!";
  38. if (sCmd == "hitta" || sCmd == "HITTA" || sCmd == "Hitta" )
  39. {
  40. EType = rand() / (RAND_MAX / 3 + 1) + 1;
  41. if (EType == 1)
  42. {
  43. eNamn = "Trollslända";
  44. EHp = 2;
  45. EMin_dmg = 1;
  46. EMax_dmg = 3;
  47. }
  48. else if (EType == 2)
  49. {
  50. eNamn = "Orm";
  51. EHp = 4;
  52. EMin_dmg = 0;
  53. EMax_dmg = 2;
  54. }
  55. else if (EType == 3)
  56. {
  57. eNamn = "Råtta";
  58. EHp = 3;
  59. EMin_dmg = 2;
  60. EMax_dmg = 4;
  61. }
  62. while (true)
  63. {
  64. cout <<
  65. "Oops, det var en som ville möta dig!"
  66. "Det var en "<< eNamn <<"!"
  67. "Fiendens liv "<< EHp <<"!"
  68. "Dina liv "<< CurrentHp <<"!"
  69. "Han kan skada "<< EMax_dmg <<"som mest!"
  70. "Och "<< EMin_dmg <<"som minst!"
  71. "Striden kan börja!"
  72. "Meny"
  73. "----------"
  74. "[M]Slå mot magen."
  75. "[F]Slå mot fötterna."
  76. "[H]Slå mot huvudet.";
  77. cin >> sCmd;
  78. if (sCmd == "m" || sCmd == "M" )
  79. {
  80. if (EType == 1)
  81. EHp+=2;
  82. else if (EType == 3)
  83. EHp-=3;
  84. }
  85. else if (sCmd == "f" || "F")
  86. {
  87. if (EType == 2)
  88. EHp+2;
  89. else if (EType == 1)
  90. EHp-=3;
  91. }
  92. else if (sCmd == "h" || "H")
  93. {
  94. if (EType == 3)
  95. EHp+3;
  96. else if (EType == 2)
  97. EHp-=4;
  98. }
  99. EHp -= rand() / (RAND_MAX / EMax_dmg +1) + EMin_dmg;
  100. if (CurrentHp <= 0)
  101. {
  102. bGoLevel1 = false;
  103. CurrentHp = *Hp;
  104. break;
  105. }
  106. }
  107. }
  108. }
  109. else if(sCmd == "a" || sCmd =="A")
  110. {
  111. return 3;
  112. }
  113. }
  114. return 2;
  115. }


-------------------------
Det är helheten som räknas... Så skit inte i hälften!

Senast redigerad 10:27 - 30:e Oktober 2005


Celeron 16:20 - 30:e Oktober 2005 | Post #21
Medlem
Inlägg: 418


Skicka PM
Jag ska kolla på koden nu. Men main ska inte ha några parametrar, om man inte vill ha alla parametrar till programmet som man eventuellt skriver in efter program filen när man startar programmet i cmd.

Indy: När man kopierar koden så blir det ett # mellan varje rad vilket är lite störande. Jag vet inte om det beror på sidan eller Firefox, men om det beror på sidan så vore det bra om det fixades!

Edit: Det här borde stå i en egen tråd va? Smiley

-------------------------
Det viktigaste är att ha roligt! Har ny hemsida: http://www.freewebs.com/cpperik/

Senast redigerad 16:21 - 30:e Oktober 2005


brainlessbob 21:32 - 30:e Oktober 2005 | Post #22
Medlem
Inlägg: 69


Skicka PM
Håller med celeron, det är störande.
Hoppas det är lätt att fixa Smiley
Om det är sidan som orsakar det och inte tex. Eldräven.
Gör man så i IE så kommer det inga # men och andra sidan så blir det total rappakalja av det man kopierade.

-------------------------
Idioter kan göra underverk!

Senast redigerad 21:33 - 30:e Oktober 2005


tobbez 08:37 - 31:a Oktober 2005 | Post #23
Medlem
Inlägg: 364


Skicka PM
Det beror nog på att olika webläsare renderar olika, för i opera fungerar det utmärkt




simonklinga 19:41 - 15:e November 2005 | Post #24
Medlem
Inlägg: 3


Skicka PM
Ska det inte vara så här:

cout <<"Välkommen till arenan! Här kan du slåss mot fiender! Om du dödar 3 så får du tillgång till bana 2!" "Skriv in [Hitta] för att hitta en fiende att slåss med!";
cin >> sCmd;
if (sCmd == "hitta" || sCmd == "HITTA" || sCmd == "Hitta" )

-------------------------





brainlessbob 20:55 - 15:e November 2005 | Post #25
Medlem
Inlägg: 69


Skicka PM
    Citat av simonklinga:
Ska det inte vara så här:

cout <<"Välkommen till arenan! Här kan du slåss mot fiender! Om du dödar 3 så får du tillgång till bana 2!" "Skriv in [Hitta] för att hitta en fiende att slåss med!";
cin >> sCmd;
if (sCmd == "hitta" || sCmd == "HITTA" || sCmd == "Hitta" )


Det stämmer Smiley

Annars kan du göra så här:


  1. cout <<"Välkommen till arenan! Här kan du slåss mot fiender! Om du dödar 3 så får du tillgång till bana 2!n Skriv in [Hitta] för att hitta en fiende att slåss med!n";
  2. cin >> sCmd;
  3. if (sCmd[0] == "h" || sCmd[0] == "H" && sCmd[1] == "i" || sCmd[1] == "I" && sCmd[2] == "t" || sCmd[2] == "T" && sCmd[3] == "t" || sCmd[3] == "T" && sCmd[4] == "a" || sCmd[4] == "A")
  4. cin >> detta är bara nonsens :) för utan denna rad är rutan för liten :P;


Gjorde det Idiot säkert samt så är texten om formaterad.

Fast då ska du byta ut string sCmd; mot char sCmd[31];

-------------------------
Idioter kan göra underverk!

Senast redigerad 20:56 - 15:e November 2005


Sidor: 1 2 3 4 5

Forum huvudsida -> Kommentarer -> Paket -> C++ Nybörjarguide
Atom feed

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