Forum: kommando hjälp

Forum huvudsida -> Programmering -> kommando hjälp

Sidor: 1

Till botten

ackeee 14:54 - 10:e September 2006 | Post #1
Medlem
Inlägg: 8


Skicka PM
Hej!
Jag försöker lära mig c++ så gott det går Smiley
Jag försöker göra ett frågesports spel bara som en kul grej.

Nu undrar jag om det finns något som gör så att det stängs av när man är under 15 år.

// frågesport!!!

#include <iostream>

using std::cin;
using std::cout;
using std::string;

int main()
{
string hej;
int ett_tal; // åldern för spelet
char start; // själva starten.

cout << "Skriv hur gammal du är: ";
cin >> ett_tal;
if (ett_tal <= 14)
{
cout << "Tyverr men du er for ung for att spela det her spelet.";
}
else
{
cout << "Bra do er du tillreckligt gammal for att fo spela det her spelet.";
}
cout << "Du startar nu ett spel skriv S för att starta";
cin >> start;
if (start == 's' || start == 'S')
{
cout << ",,r du redo? det är ja / nej frågor j = ja n = nej, ok?";
}
else
{
cout << "Ok! Ses någon annangång!";
}
cin.get();
cin.get();

return 0;
}


Och även om man inte skriver "S" så vill jag att det stängs av då också efter
cout << "Ok! Ses någon annangång!";


Och en sista fråga Smiley Jag har för mig att jag har läst någonstans att man åker ner en rad när man skriver "endl" efter, typ
cout << " Ok va vad trevligt då! " << endl;
Men det fungerar inte för mig, vad gör jag för fel?

Tack i förväg för svaren Smiley

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

Senast redigerad 16:27 - 10:e September 2006


Independence 15:38 - 10:e September 2006 | Post #2
Administratör
Inlägg: 1800


Skicka PM
endl avslutar raden, men skapar inget mellanrum. Du får göra två i rad så får du en tom rad emellan. Om det var så du menade Smiley

För att avsluta programmet vid något ställe mitt i koden kan du anorpa return;



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

Vi är riddarna som säger fiskbulle!





ackeee 15:44 - 10:e September 2006 | Post #3
Medlem
Inlägg: 8


Skicka PM
Hur ska man göra då?
Funkar inte Såhär för mig
cout << "Tyverr men du er for ung for att spela detta spelet." return;
eller såhär
cout << "Tyverr men du er for ung for att spela detta spelet." << return;


Och Jag menar alltså att det ska ner en rad bara
så att det inte blir såhär: Hej!Vill du fortsätta? ja/nej Vad bra då fortsätter jag!
jag vill att det ska bli så här i cmdn:
Hej!
Vill du fortsätta? ja/nej
Vad bra då fortsätter jag!

Om du förstår hur jag menar Smiley

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



ozamosi 15:55 - 10:e September 2006 | Post #4
Administratör
Inlägg: 1129


Skicka PM
return ska vara på en ny rad med semikolon.

För att endl ska gå att använda måste du skriva using std::endl tillsammans med de andra using-raderna.

-------------------------
Ljusblå



ackeee 16:20 - 10:e September 2006 | Post #5
Medlem
Inlägg: 8


Skicka PM
Tack så mycket för hjälpen, funkar perfekt nu! Smiley

En fråga till,
Jag har lagt dit en sån där system("cls");
för att rensa skärmen, men hur gör man så att man ser det sista innan det rensas? tacksam för svar Smiley

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

Senast redigerad 16:25 - 10:e September 2006


ackeee 18:11 - 10:e September 2006 | Post #6
Medlem
Inlägg: 8


Skicka PM
Någon som kan svara på min nya fråga? Smiley


"En fråga till,
Jag har lagt dit en sån där system("cls");
för att rensa skärmen, men hur gör man så att man ser det sista innan det rensas? tacksam för svar Smiley"

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



Independence 19:20 - 10:e September 2006 | Post #7
Administratör
Inlägg: 1800


Skicka PM
Lägg in en cin.get() eller två?

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

Vi är riddarna som säger fiskbulle!





ackeee 19:42 - 10:e September 2006 | Post #8
Medlem
Inlägg: 8


Skicka PM
Har testat, det blir konstigt då. Smiley

och när man trycker "s" så fortsätter det ända ner.
Det blir inget "manuellt" om man säger så
cout << "Du startar nu ett spel skriv S for att starta och N for att avsluta." << endl;
cin >> start;


if (start == 's' || start == 'S') // Så man kan skriva båda stort och litet "s" för att starta
{
cout << "Ar du redo? det ar ja / nej fragor j = ja n = nej, skriv ok for att fortsatta." << endl;
}
else
{
cout << "Ok! Ses nagon annangang! Tryck enter for att stanga rutan." << endl;
cin.get();// Gör så att man måste klicka enter
cin.get();// en gång för att stänga rutan
return 0;
}
if (ok == 'o' || ok == 'O' && ok == 'k' || ok == 'K') // så man kan skriva båda litet och stort
{
cout << "Fraga 1: Ar tomten gronkladd? ";
cin >> svar1;
}

Det stannar inte så att man måste skriva "ok" utan det går direkt ner till "tomten ar gronkladd" Smiley

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



Independence 22:08 - 10:e September 2006 | Post #9
Administratör
Inlägg: 1800


Skicka PM
nu skrev du ju cin.get vid avslutandet, inte efter att man valt s.
ta en titt i koden igen så förstår du nog vad jag menar.

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

Vi är riddarna som säger fiskbulle!





ackeee 12:00 - 11:a September 2006 | Post #10
Medlem
Inlägg: 8


Skicka PM
Ja märkte det nu tack så mycket, men asså fortfarande det där konstiga problemet, det går inge längre än till där man ska skriva ok,



// frågesport!!!
//alla bibliotek
#include <ctime>
#include <iostream>
#include <stdlib.h>

using std::endl; using std::system;
using std::cin; using std::srand;
using std::cout; using std::rand; // Alla saker jag ska använda
using std::string;


int main()
{


// alla variabler
char ok; // ok så man kan skriva "ok" på många olika sätt
int ett_tal; // åldern för spelet
char start; // själva starten
char svar1; // första svaret som spelaren lägger fram
char svar2; // andcra svaret...
char svar3; // tredje svaret







// Här tilldelar jag variablerna









cout << "Skriv hur gammal du ar: " << endl;
cin >> ett_tal;
if (ett_tal <= 14) // Gör så att om man är under 14 får man inte spela Smiley
{
cout << "Tyverr men du er for ung for att spela detta spelet. Tryck enter for att avsluta";
cin.get();//Dom här två gör så att man måste
cin.get();//klicka enter en gång för att fortsätta spelet Smiley
return 0;
}
else
{
cout << "Bra do er du tillreckligt gammal for att fo spela det her spelet." << endl;
}
cout << "Du startar nu ett nytt spel skriv S for att starta och N for att avsluta." << endl;
cin >> start;


if (start == 's' || start == 'S') // Så man kan skriva båda stort och litet "s" för att starta
{
cout << "Ar du redo? det ar ja / nej fragor j = ja n = nej, skriv ok for att fortsatta." << endl;
cin >> ok;
cin.get();
cin.get();
}
else
{
cout << "Ok! Ses nagon annangang! Tryck enter for att stanga rutan." << endl;
cin.get();// Gör så att man måste klicka enter
cin.get();// en gång för att stänga rutan
return 0;
}
if (ok == 'o' || ok == 'O' && ok == 'k' || ok == 'K') // så man kan skriva båda litet och stort
{
cout << "Fraga 1: Ar tomten gronkladd? ";
cin >> svar1;
}









cin.get();
cin.get();

return 0;
}

Det går inte ner till frågan, utan det händer inget, när man skriver ok så står det bara ok och sen kan man klicka några gånger sen stängs rutan, vill ha så att fråga kmr upp Smiley tacksam för svar.

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



Independence 15:39 - 11:a September 2006 | Post #11
Administratör
Inlägg: 1800


Skicka PM
    Citat av ackeee:
Ja märkte det nu tack så mycket, men asså fortfarande det där konstiga problemet, det går inge längre än till där man ska skriva ok,



// frågesport!!!
//alla bibliotek
#include <ctime>
#include <iostream>
#include <stdlib.h>

using std::endl; using std::system;
using std::cin; using std::srand;
using std::cout; using std::rand; // Alla saker jag ska använda
using std::string;


int main()
{


// alla variabler
char ok; // ok så man kan skriva "ok" på många olika sätt
int ett_tal; // åldern för spelet
char start; // själva starten
char svar1; // första svaret som spelaren lägger fram
char svar2; // andcra svaret...
char svar3; // tredje svaret







// Här tilldelar jag variablerna









cout << "Skriv hur gammal du ar: " << endl;
cin >> ett_tal;
if (ett_tal <= 14) // Gör så att om man är under 14 får man inte spela Smiley
{
cout << "Tyverr men du er for ung for att spela detta spelet. Tryck enter for att avsluta";
cin.get();//Dom här två gör så att man måste
cin.get();//klicka enter en gång för att fortsätta spelet Smiley
return 0;
}
else
{
cout << "Bra do er du tillreckligt gammal for att fo spela det her spelet." << endl;
}
cout << "Du startar nu ett nytt spel skriv S for att starta och N for att avsluta." << endl;
cin >> start;


if (start == 's' || start == 'S') // Så man kan skriva båda stort och litet "s" för att starta
{
cout << "Ar du redo? det ar ja / nej fragor j = ja n = nej, skriv ok for att fortsatta." << endl;
cin >> ok;
cin.get();
cin.get();
}
else
{
cout << "Ok! Ses nagon annangang! Tryck enter for att stanga rutan." << endl;
cin.get();// Gör så att man måste klicka enter
cin.get();// en gång för att stänga rutan
return 0;
}
if (ok == 'o' || ok == 'O' && ok == 'k' || ok == 'K') // så man kan skriva båda litet och stort
{
cout << "Fraga 1: Ar tomten gronkladd? ";
cin >> svar1;
}









cin.get();
cin.get();

return 0;
}

Det går inte ner till frågan, utan det händer inget, när man skriver ok så står det bara ok och sen kan man klicka några gånger sen stängs rutan, vill ha så att fråga kmr upp Smiley tacksam för svar.


Nu har du skrivit både cin >> variabel; som frågar efter input Och två stycken cin.get() som väntar på knapptryckning. Du behöver bara den ena skulle jag tro.
Sedan ser den där matchningen på ok lite tokig ut. Du måste ange vilken position i arrayen som ska vara o eller k.

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

Vi är riddarna som säger fiskbulle!





ackeee 17:40 - 11:a September 2006 | Post #12
Medlem
Inlägg: 8


Skicka PM
    Citat av Independence:

Nu har du skrivit både cin >> variabel; som frågar efter input Och två stycken cin.get() som väntar på knapptryckning. Du behöver bara den ena skulle jag tro.
Sedan ser den där matchningen på ok lite tokig ut. Du måste ange vilken position i arrayen som ska vara o eller k.

Hmm tack så mycket, men vad menar du, vad är det som ser tokigt ut? För det fungerar perfekt nu bara genom att ta bor 1 cin.get(); Smiley tackar så hjärtligt!

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



Independence 19:48 - 11:a September 2006 | Post #13
Administratör
Inlägg: 1800


Skicka PM
Tycker detta ser lite tokigt ut:
  1.  
  2. if (ok == 'o' || ok == 'O' && ok == 'k' || ok == 'K') // så man kan skriva båda litet och stort


Bör vara nåt i stil med
  1.  
  2. if (ok[0] == 'o' || ok[0] == 'O' && ok[1] == 'k' || ok[1] == 'K') // så man kan skriva båda litet och stort


om jag minns rätt Smiley
Dock så brukar man inte jämföra char-arrayer sådär vad jag vet. Men det är ju ett bra sätt för att förstå sig på hur arrayerna fungerar.

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

Vi är riddarna som säger fiskbulle!





ackeee 20:12 - 11:a September 2006 | Post #14
Medlem
Inlägg: 8


Skicka PM
Jo, har läst det i en av guiderna här på sidan har jag för mig, men det fungerade bra på mitt sätt också Smiley Tack för hjälpen! Smiley

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



Independence 11:19 - 12:a September 2006 | Post #15
Administratör
Inlägg: 1800


Skicka PM
    Citat av ackeee:
Jo, har läst det i en av guiderna här på sidan har jag för mig, men det fungerade bra på mitt sätt också Smiley Tack för hjälpen! Smiley


Om du får några mystiska problem senare i programmet kan du ju ta en titt på det iaf Smiley

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

Vi är riddarna som säger fiskbulle!





Sidor: 1

Forum huvudsida -> Programmering -> kommando hjälp
Atom feed

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