jaghar just börjat med c++ och håller på med mitt först spel.
jag håller på med ett sorts black jack och jag får ett problem när den ska kolla om man är tjock lr inte. iblnad så skriver den ut massa blabba och ibalnd funkar det som det ska, hjälp
#include <iostream.h>
#include <stdlib.h>
#include <time.h>
#include <windows.h>
main ()
{
int k[11],km[11], i ,a;
int peng, sats, sum1, sum2 ;
char tk[1];
int m,d,p,r;
srand (time(NULL));
for (i=0; i < 11; i++)
{
k[i] = (rand()%(10)) +1 ; /////k1 - k11 får ett hemligttal
}
for (i=0; i < 11; i++)
{
km[i] = (rand()%(10)) +1 ; /////km1 - km11 får ett hemligttal
}
peng = 500;
cout << "\n ####### ########\n";
cout << " ########### #########\n";
cout << " #### #### #### ####\n";
cout << " #### ####\n";
cout << " #### ####\n";
cout << " #### ####\n";
cout << " #### ####\n";
cout << " ########## ####\n";
cout << " ########## ####\n\n\n";
cout <<"du har nu: "<<peng<<" kr\n";
while (1)
{
cout << "Hur mycket vill du satsa?\n";
cin >> sats;
if(sats > peng){
cerr << "du har för lite pengar\n";}
else if (sats < peng){
break;
}
}
sum1 = 0;
tk[1] = 'y';
a = 2;
while (tk[1] == 'y'||tk[1] == 'Y')
{
i = 1;
sum1 = 0;
cout << "Dinna kort är :";
for (m = 0; m < a; m++)
{
if ( a > 11 )
{
cout << "du är tjock\n";
break;
}
cout << " "<<k[i] <<" ";
sum1 = sum1 + k[i];
i++;
}
cout << " \nsumman är: "<<sum1;
a++;
if (sum1 <= 21) (här är det fel lr det uppstår ett fel här jag jag kör det)
{
cout<< "\nvill du ha ett till? (Y/N)\n";
cin >> tk[1];
}
else
{
cout <<"\ndu vart tjock\n\n";
tk[1] = 'n';;
}
}
a = 2;
d= 1;
while (d == 1)
{
i = 1;
sum2 = 0;
m = 0;
cout << "Minna kort är :";
for (m = 0; m < a; m++)
{
cout << " "<<km[i] <<" ";
sum2 = sum2 + km[i];
i++;
}
cout << " \nsumman är: "<<sum2<<"\n";
a++;
if (sum2 == 18 || sum2 == 19|| sum2 == 20|| sum2 == 21)
{
d = 0;
}
}
return 0;
}
Du skapar en array med 1 char, tk[1], men du försöker lägga data på position 2, tk[1], all indexering i C++ (och många andra språk) är 0 baserade, dvs första elementet har nr 0. Byt ut alla tk[1] mot tk[0] så kanske det går bättre.
När du deklarerar en array så är indexet 1 baserat, dvs det går från 1 och uppåt, så där ska det fortfarande stå tk[1].
tackar.. det funkade men det buggar fortfrande men jag måste kolla up det senare.. har inte tid just nu för jag sitter i skolan. tack så mycket för hjälpen :(:))
133 ms totalt · 3 externa anrop · v20260731065814-full.55e59744