Avatar billede tesk Nybegynder
27. januar 2008 - 21:06 Der er 14 kommentarer og
1 løsning

Lidt hjælp tak

Dette er nok utrolig nemt, men jeg kan altså ikke lige finde ud af det.

Compileren er DevCPP.

Hvad skal jeg lave for at gøre denne her rigtig?

#include <iostream>

using namespace std;

int main()
{
    cout << "Velkommen til gæt et tal\n";
    cout << "Skriv et tal\n";
   
    int tal;
    cin >> tal;
    if ("tal=3")
    {
        cout << "Det var det rigtige tal\n";
        int x;
        cin >> x;
    }
    else
    {
        cout << "Det var det forkerte tal. Prøv igen\n";
        main();
    }
  return 0;
}   

Når jeg skriver 2 eller et andet tal som ikke er 3, så skriver den alligevel "Du valgt det rigtige tal".

Jeg vil have den til at skrive at det var det forkerte tal og vende tilbage til main.
Avatar billede nielle Nybegynder
27. januar 2008 - 21:07 #1
Ret:

if ("tal=3")

til:

if (tal == 3)
Avatar billede nielle Nybegynder
27. januar 2008 - 21:13 #2
Normalt vil man lave en løkke med en while i stedet for at kalde main() igen og igen:

    cout << "Velkommen til gæt et tal\n";
    cout << "Skriv et tal\n";

    int tal;
    while (true)
    {
        cin >> tal;
        if (tal == 3)
        {
            cout << "Det var det rigtige tal\n";
            break;

            /* Hvad bruges disse til?
            int x;
            cin >> x;*/
        }
        else
        {
            cout << "Det var det forkerte tal. Prøv igen\n";
        }
    }

    return 0;
Avatar billede nielle Nybegynder
27. januar 2008 - 21:27 #3
Eller:

    cout << "Velkommen til gæt et tal\n";
    cout << "Skriv et tal\n";

    int tal;
    cin >> tal;

    while (tal != 3)
    {
        cout << "Det var det forkerte tal. Prøv igen\n";
        cin >> tal;
    }

    cout << "Det var det rigtige tal\n";

    /* Hvad bruges disse til?
    int x;
    cin >> x;*/

    return 0;
Avatar billede tesk Nybegynder
27. januar 2008 - 21:30 #4
Ja, jeg havde selv lige set den med = tegnet ;)

Kan du ikke give mig en step by step forklaring gennem den kildekode du har skrevet.

x'en er fordi at ellers så afslutter den bare uden man når at læse det. Så skal man lige trykke på et tal og så enter, så afslutter den. :)
Avatar billede dinirex Nybegynder
28. januar 2008 - 14:36 #5
Noget der ville være lidt sjovere, end blt at skulle gætte et forudbestemt tal, ville da være, hvis man kunne vælge et nyt tal, eller sætte computeren til at udvælge et tal selv

Computeren selv danner et tal

#include <iostream>
#include <windows.h>
#include <time.h>
using namespace std;
{
    //Vælger et tal mellem 1 og 10, mener ikke den tager 0 med?
    srand(time(0));
    int resultat = rand()%10;


    cout << "Velkommen til gæt et tal\n";
    cout << "Skriv et tal\n";

    int tal;
    cin >> tal;

    while (tal != resultat)
    {
        cout << "Det var det forkerte tal. Prøv igen\n";
        cin >> tal;
    }

    cout << "Det var det rigtige tal\n";
    return 0;
}

Du skriver et tal, som en anden skal gætte:

#include <iostream>
using namespace std;
{
    cout << "Indtast tal, der skal gættes";
    int resultat;
    cin >> resultat;


    cout << "Velkommen til gæt et tal\n";
    cout << "Skriv et tal\n";

    int tal;
    cin >> tal;

    while (tal != resultat)
    {
        cout << "Det var det forkerte tal. Prøv igen\n";
        cin >> tal;
    }

    cout << "Det var det rigtige tal\n";
    return 0;
}
Avatar billede dinirex Nybegynder
28. januar 2008 - 14:37 #6
#include <iostream>
using namespace std;
{
    cout << "Indtast tal, der skal gættes";
    int resultat;
    cin >> resultat;

    system("cls");

    cout << "Velkommen til gæt et tal\n";
    cout << "Skriv et tal\n";

    int tal;
    cin >> tal;

    while (tal != resultat)
    {
        cout << "Det var det forkerte tal. Prøv igen\n";
        cin >> tal;
    }

    cout << "Det var det rigtige tal\n";
    return 0;
}

Glemte lige en system("cls") ellers ville man jo kunne se tallet, man skal gætte ;)
Avatar billede nielle Nybegynder
28. januar 2008 - 21:53 #7
Hvilket et af eksemplerne vil du have forklaret?
Avatar billede tesk Nybegynder
29. januar 2008 - 08:20 #8
Havde tænkt på denne:
cout << "Velkommen til gæt et tal\n";
    cout << "Skriv et tal\n";

    int tal;
    cin >> tal;

    while (tal != 3)
    {
        cout << "Det var det forkerte tal. Prøv igen\n";
        cin >> tal;
    }

    cout << "Det var det rigtige tal\n";

    /* Hvad bruges disse til?
    int x;
    cin >> x;*/

    return 0;

Men har selv fundet ud af det ved at prøve at efterligne din løkke, men på min egen måde og den virkede.

DiniRex --> Din ting der ser nu meget sjov ud, noget du kan forklare lidt nærmere om? Er jo rimelig ny, så vil lære det hele :)
Avatar billede dinirex Nybegynder
29. januar 2008 - 15:40 #9
gerne, du kan evt. tilføje mig på msn?
Avatar billede dinirex Nybegynder
29. januar 2008 - 15:41 #10
dinirex@pc.dk
Avatar billede nielle Nybegynder
11. februar 2008 - 18:14 #11
Lukketid?
Avatar billede tesk Nybegynder
11. februar 2008 - 22:28 #12
Nå ja, for pokker.

Glemmer altid det her system.

Kan følgende ikke lige smide et svar: Dinirex og nielle
Avatar billede nielle Nybegynder
12. februar 2008 - 06:55 #13
Svar :^)
Avatar billede tesk Nybegynder
13. februar 2008 - 11:13 #14
da der ikke er kommet svar fra dinirex, så får nielle poitene, sorry.
Avatar billede nielle Nybegynder
14. februar 2008 - 19:19 #15
Takker for point :^)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester