Inlägg

Inlägg som AIIN har skrivit i forumet
Av AIIN
Skrivet av twonkey:

skulle satsa på nåt sånt här:
http://www.inet.se/kundvagn/visa/148439/dator
så har du lite pengar över

glömde fri frakt

Av AIIN

Ingen kan.. ?

Av AIIN
Skrivet av hellhell:

Länge sen jag höll på med c++

Men kanske kan hjälpa om jag kommer ihåg rätt..
När du tilldelar char array värde:

chararray[20]=chararray2[20]

detta betyder "char på position 20 i chararray" = "char på position 20 i chararray2"

så om du vill att hela arrayen ska bli lika med den andra skippa [] och innan kan man behöva tömma arrayen så det inte ligger skräp kvar om arrayerna är olika långa.

på samma sätt när du gör jämförelser.

if(chararray1[20]==chararray2[20])

så jämför du bara om det är samma char på denna position i resp. arary

Och sen behöver inte summan vara 21 vid sista if-satsen kan vara 22 också.

hoppas du kan få någon hjälp av detta.

Jo har också tänkt att det blir bokstaven då jag använder [20] men när jag tar bort det, så får jag;

error C2106: '=' : left operand must be l-value

Av AIIN
Skrivet av perost:

C++ FAQ har svaret. Det ligger helt enkelt icke-siffror kvar i input-buffern från tidigare text-inmatning från användaren, så du måste rensa den för att användaren ska kunna skriva in ett tal korrekt.

Tack det löste det. Dock så verkar det inte som att senaste[20]=namn2[20];, då den inte byter till den andra if satsen.

Av AIIN

Bearbetat och gjort det hela i funktioner, nu ser main satsen ut som följande.

#include <iostream> #include <iomanip> #include <ctime> #include <cstdlib> #include <stdlib.h> #include <cstring> using namespace std; void skrivmeny(); void spelasjalv(); void tvospelare(); void speladator(); void datorvinnar(); void regler(); int main() { ////// mata in data ################################################### char spela, svar; srand((unsigned)time(0)); //Seedar rand() med systemtiden //##################################################################### cout << "Vill du spela spelet21?(j/n) "; cin >> spela; //########## inledning OM svar = j, annars avsluta if (spela!='n' || spela!='N') { skrivmeny(); cout << endl << "Välj ett svarsalternativ! "; cin >> svar; if(svar=='1') { spelasjalv(); } else if(svar=='2') { tvospelare(); } else if(svar=='3') { speladator(); } else if(svar=='4') { datorvinnar(); } else if(svar=='5') { regler(); } else if(svar=='0') { cout << "Ha det bra!"; } } }

Problemet ligger nu i den här void satsen.

void tvospelare() { int summa=0, spelaretal, vilken; char namn1[20], namn2[20], senaste[20]; { cout << "Ange namnet på spelare1: "; // namn på spelare 1 cin >> namn1; cout << "Ange namnet på spelare2: "; // namn på spelare 2 cin >> namn2; cout << "Skall " << namn1 << " eller " << namn2 << " börja? (ange 1 för " << namn1 << " och 2 för " << namn2 <<"): "; cin >> vilken; if(vilken==1) { senaste[20]=namn1[20]; } else if(vilken==2) { senaste[20]=namn2[20]; } cout << endl << endl << namn1 << " kommer nu att möta " << namn2 << " i spelet 21, var beredda!" << endl; // två spelare cout << endl << endl << "============================================" << endl << endl; // snygghet while(summa<21) { if(senaste[20]==namn1[20]) { cout << "Nu är det din tur " << namn1 << ". Vad väljer du? "; cin >> spelaretal; summa=summa+spelaretal; senaste[20]=namn2[20]; } if(senaste[20]==namn2[20]) { cout << "Nu är det din tur " << namn1 << ". Vad väljer du? "; cin >> spelaretal; summa=summa+spelaretal; senaste[20]=namn1[20]; } } if(summa==21) { cout << "Summan är nu 21!! " << senaste << " har vunnit!" <<endl; // skriver ut vinnaren } } }

Där den hoppar av cin >> spelartal och endast skriver ut Nu är det din tur " << namn1 << ". Vad väljer du? "; ett flertal gånger. Vad kan det bero på ?

Av AIIN
Skrivet av matti4s:

Sätt en sträng som ändras från den ena till den andra spelaren varje gång man väljer en siffra.

string spelare1, spelare2, senaste; while(/* villkor */){ if(senaste = spelare1){ cout << "Nu är det "<< spelare2 << "s tur att välja"; senaste = spelare2; }else{ cout << "Nu är det "<< spelare1 << "s tur att välja"; senaste = spelare1; } // kod för att välja siffra if(/* om det är 21 */){ cout << "grattis " << senaste; } }

Tack som fan! Skall se till att få det här att fungera nu.

Av AIIN
Skrivet av Xergon:

Brukar själv köra med en boolean för att hålla reda på 2 spelare.

Ex:

bool player = true; // true = spelare 1 ........... // loop som läser in / byter spelare while(summa<21) { ... player = !player; // byter spelare } ... if(player) { cout << "spelare 1 vann." << endl; } else { cout << "spelare 2 vann." << endl; }

något dylikt

Tack för svar!

Dock så har jag inte kommit så långt i programmeringskursen än, utan jobbar endast med funktioner, strängar, if/for och while.. :/

Av AIIN
Skrivet av You:

Kan du utveckla lite angående vad som inte fungerar? Får du felmeddelanden, vad är det som händer som du inte förväntar dig, etc.?

Löste problemet med cin.getline och ändrade till cin.

Får inga felmeddelanden alls, utan nu är snarare problemet det här med att programmet skall veta vem som gjorde det sista draget och därmed vann.

#include <iostream> #include <iomanip> #include <ctime> #include <cstdlib> #include <stdlib.h> #include <cstring> using namespace std; void skrivmeny(); int main() { ////// mata in data ################################################### int spelaretal, datortal, summa=0, vilken; char namn1[20], namn2[20]; char spela, svar; //##################################################################### cout << "Vill du spela spelet21?(j/n) "; cin >> spela; srand((unsigned)time(0)); //Seedar rand() med systemtiden //########## inledning OM svar = j, annars avsluta if (spela!='n' || spela!='N') { skrivmeny(); cout << endl << "Välj ett svarsalternativ! "; cin >> svar; if(svar!='0') ///// om svar = 0 kommer programmet avslutas { ///// utför valt menyalternativ if(svar=='1') { cout << "Ange namnet på spelare1: "; // namn på spelare 1 //cin.getline(namn1, 20); //cin.ignore(15,'\n'); cout << endl << endl << "Du kommer nu att spela spelet 21 själv!" << endl; // starta spelet mot sig själv" cout << endl << endl << "============================================" << endl << endl; // snygghet while(summa<21) { cout << "Summan är lika med " << summa << ". Mata nu in nästa tal!"; // körs tills något kommit till svar cin >> spelaretal; if(spelaretal == 1 || spelaretal == 2) // testar likhet för 1 & 2 { summa=summa+spelaretal; } else { cout << "Talet du matade in är inte = 1 eller = 2, mata in ett nytt tal!" << endl; // felinmatning } } if(summa==21) { cout << "Summan är nu 21!! " << namn1 << " har vunnit!" <<endl; // skriver ut vinnaren } } if(svar=='2') { cout << "Ange namnet på spelare1: "; // namn på spelare 1 cin >> namn1; cout << "Ange namnet på spelare2: "; // namn på spelare 2 cin >> namn2; cout << "Skall spelare 1 eller 2 börja? (ange 1 för spelare 1 och 2 för spelare 2): "; cin >> vilken; cout << endl << endl << namn1 << " kommer nu att möta " << namn2 << " i spelet 21, var beredda!" << endl; // två spelare cout << endl << endl << "============================================" << endl << endl; // snygghet while(summa<21) { cout << "Summan är lika med " << summa << ". Mata nu in nästa tal!"; // körs tills något kommit till svar cin >> spelaretal; if(spelaretal == 1 || spelaretal == 2) // testar likhet för 1 & 2 { summa=summa+spelaretal; vilken++; // avgör vem som vunnit i slutet } else { cout << "Talet du matade in är inte = 1 eller = 2, mata in ett nytt tal!" << endl; // felinmatning } } if(summa==21) { cout << "Summan är nu 21!! " << vilken << " har vunnit!" <<endl; // skriver ut vinnaren } } if(svar=='3') { cout << "Ange namnet på spelare1: "; // namn på spelare 1 cin >> namn1; cout << "Skall spelare 1 eller datorn börja? (ange 1 för spelare 1 och 2 för datorn): "; cin >> vilken; cout << endl << endl << namn1 << " kommer nu att möta datorn i spelet 21, var beredda!" << endl; // två spelare cout << endl << endl << "============================================" << endl << endl; // snygghet while(summa<21) { cout << "Summan är lika med " << summa << ". Mata nu in nästa tal!"; // körs tills något kommit till svar cin >> spelaretal; if(spelaretal == 1 || spelaretal == 2) // testar likhet för 1 & 2 { summa=summa+spelaretal; vilken++; // avgör vem som vunnit i slutet } else { cout << "Talet du matade in är inte = 1 eller = 2, mata in ett nytt tal!" << endl; // felinmatning } cout << "Datorn matade in: "; datortal=(rand()%2)+1; //Slumpar ett nummer mellan 1 och 14 cout << datortal << endl; if(datortal == 1 || datortal == 2) // testar likhet för 1 & 2 { summa=summa+datortal; vilken++; // avgör vem som vunnit i slutet } else { cout << "Talet du matade in är inte = 1 eller = 2, mata in ett nytt tal!" << endl; // felinmatning } } if(summa==21) { cout << "Summan är nu 21!! " << vilken << " har vunnit!" <<endl; // skriver ut vinnaren } } } } } void skrivmeny() { cout << endl; cout << "1. Spela själv!" << endl; cout << "2. Spela mot en kompis" << endl; cout << "3. Spela mot datorn!" << endl; cout << "4. Spela mot datorn med vinnaralgoritm!" << endl; cout << "5. Förklara regler." << endl; cout << "0. Avsluta." << endl; }

Av AIIN

Behöver lite hjälp i c++.

Hej!

Håller på att skapa ett program som går ut på att man först skall komma till 21, och man får bara säga 1 eller 2.

Nu är det så att jag har lite problem, när jag använder en array och cin.getline så hoppar den helt enkelt över den raden och tar inte in namnet. Har testat med cin.ignore(15,'\n'); och då så har den inte hoppat över raden men fortfarande inte tagit in namnet så jag kan skriva ut det senare.

Jag försöker även komma på ett sätt att se vilken spelare som gjorde sista draget för att skriva ut vem som vann, då har jag använder "vilken++;" i while-satsen som jag tänkte skulle ge ett jämnt eller ojämnt tal och därmed se vem som gjorde det. Hursomhelst så fungerar varken eller, och jag skulle behöva lite hjälp!

#include <iostream> #include <iomanip> #include <cstring> using namespace std; void skrivmeny(); int main() { ////// mata in data ################################################### int spelaretal, dator, summa=0, vilken; char namn1[20], namn2[20]; char spela, svar; //##################################################################### cout << "Vill du spela spelet21?(j/n) "; cin >> spela; //########## inledning OM svar = j, annars avsluta if (spela!='n' || spela!='N') { skrivmeny(); cout << endl << "Välj ett svarsalternativ! "; cin >> svar; if(svar!='0') ///// om svar = 0 kommer programmet avslutas { ///// utför valt menyalternativ if(svar=='1') { cout << "Ange namnet på spelare1: "; // namn på spelare 1 //cin.getline(namn1, 20); //cin.ignore(15,'\n'); cout << endl << endl << "Du kommer nu att spela spelet 21 själv!" << endl; // starta spelet mot sig själv" cout << endl << endl << "============================================" << endl << endl; // snygghet while(summa<21) { cout << "Summan är lika med " << summa << ". Mata nu in nästa tal!"; // körs tills något kommit till svar cin >> spelaretal; if(spelaretal == 1 || spelaretal == 2) // testar likhet för 1 & 2 { summa=summa+spelaretal; } else { cout << "Talet du matade in är inte = 1 eller = 2, mata in ett nytt tal!" << endl; // felinmatning } } if(summa==21) { cout << "Summan är nu 21!! " << namn1 << " har vunnit!" <<endl; // skriver ut vinnaren } } if(svar=='2') { //cout << "Ange namnet på spelare1: "; // namn på spelare 1 //cin.getline(namn1, 20); //cin.ignore(15,'\n'); //cout << "Ange namnet på spelare2: "; // namn på spelare 2 //cin.getline(namn2, 20); //cin.ignore(15,'\n'); cout << "Skall spelare 1 eller 2 börja? (ange 1 för spelare 1 och 2 för spelare 2): "; cin >> vilken; cout << endl << endl << namn1 << " kommer nu att möta " << namn2 << " i spelet 21, var beredda!" << endl; // två spelare cout << endl << endl << "============================================" << endl << endl; // snygghet while(summa<21) { cout << "Summan är lika med " << summa << ". Mata nu in nästa tal!"; // körs tills något kommit till svar cin >> spelaretal; if(spelaretal == 1 || spelaretal == 2) // testar likhet för 1 & 2 { summa=summa+spelaretal; vilken++; // avgör vem som vunnit i slutet } else { cout << "Talet du matade in är inte = 1 eller = 2, mata in ett nytt tal!" << endl; // felinmatning } } if(summa==21) { cout << "Summan är nu 21!! " << vilken << " har vunnit!" <<endl; // skriver ut vinnaren } } } } } void skrivmeny() { cout << endl; cout << "1. Spela själv!" << endl; cout << "2. Spela mot en kompis" << endl; cout << "3. Spela mot datorn!" << endl; cout << "4. Spela mot datorn med vinnaralgoritm!" << endl; cout << "5. Förklara regler." << endl; cout << "0. Avsluta." << endl; }

Av AIIN
Skrivet av klk:

Kan man inte köra wow med ATI?

Komponera isåfall ihop datorn med ett 580 istället för 480 kort

Det fungerar då mycket bättre med Nvidia.

Spräcker budgeten, vad skall man skära ner på ?

Av AIIN
Skrivet av klk:

är inte det väldigt överdriven dator om man skall spela WOW eller CS ? De spelen går ju och köra på vad som helst nästan

Jo det kan man tycka, men det är ju upp till honom. Fick budgeten på 15k, och det är mest pang for the buck för dom 15 som gäller. (ATI-förslag undanbedes eftersom det är wow som spelar, Nvidia som gäller).

Så främst handlar det om det finns några förslag på ändringar.

Av AIIN

Speldator wow & cs 10-15k.

Tjena!

Satte ihop det här paketet åt en polare, några åsikter?

http://img440.imageshack.us/img440/9278/skrmklippyn.png

Av AIIN
Skrivet av oyegie:

Själv har jag denna,väldigt bra midi-klaviatur.

CME UF60 - JAM.se

För den håller sig verkligen till samma peng.

Av AIIN

Simpelt keyboard för FL-Studio.

Tjena!

Är inte säker på om det är ett keyboard eller en synth jag söker, det jag vill är att jag skall kunna göra musiken på själva keyboardet istället för på tangentbordet i fl studio.

Läste i en annan tråd att
JJlabs KS61A USB MIDI-keyboard med controllers till oslagbart pris! - JAM.se

Rekommenderas som ett nybörjar keyboard.

Finns det något bättre för samma peng? Samt krävs det något mer för att det skall fungera med fl-studio / cubase?

Mvh

Av AIIN

Gash fick man veta en dag till... Skulle passat perfekt att hämta den på tisdag. Snubben på kompletts support kan ju köra upp något också, vilken idiot. Fan är man allmänt otrevlig, inte servicemindig och bara dryg kan man jobba i skogen.

Av AIIN

Vad jag sett så ska det inte vara något problem.

Av AIIN
Skrivet av Sergeant44:

Blåskärm har jag då aldrig upplevt

Kan vara något äldre problem, kommer ihåg att jag läste om det precis när den kommit ut.

Av AIIN

Lite småfrågor om ny ssd.

Hej!

Funderar skarpt på att köpa en Komplett.se - Corsair SSD Force Series 2,5" 60GB.

Dock vet jag att det vart problem förut med att man fått blå-skärm efter 24 timmar, är det fixat?
Skall det vara några problem med systemet i sign? Och förlorar jag prestanda på att inte installera om windows på nytt utan ghosta?

Mvh

Av AIIN

Jag går emot och säger att även jag hört att ubuntu skall ge lite bättre fps. Dock beror nog det mycket på om det finns vettiga drivrutiner till den hårdvara du kör..

Av AIIN
Skrivet av Jalle64:

Kolla i inställningarna i CCC. Gammakorrektion kanske?

Nix

Skrivet av Juggernawt:

Catalyst Control Panel - Options-knappen - Preferences - Restore Factory Defaults (Har du det på svenska så är det motsvarande i översättning). Detta är en bug i Catalyst.

Nix, fungerade inte.

Skrivet av archnisse:

En vän till mig har ett liknande problem, fast det är bara nedre mitten av skärmen som blir mörkare och det kommer och går lite som det vill. Är det samma problem?

Nej utan hela skärmen blev lite mörkare.

Löste det genom att avinstallera allt dra driver sweeper.. Det fungerade inte, då byte jag dv-i port till den övre på det andra kortet. Då fungerade det (Y)