Avatar billede bajads Nybegynder
12. september 2002 - 11:07 Der er 11 kommentarer og
1 løsning

Gæt et tal

Jeg er ved at lave et lille program der skal gætte et tal som brugerne "tænker" paa !!!
Skal jeg lave det som et "do-while loop" eller med if sætninger ?'

Gode point for gode ideer
Avatar billede chries Nybegynder
12. september 2002 - 11:11 #1
#include <iostream.h>
#include <stdlib.h>
#include <stdio.h>
#include <time.h>


int main(int argc, char* argv[])
{
    srand( (unsigned)time( NULL ) );

    int guess_me = rand()%101; // tal mellem 0 og 100
    int guess = -1;
    int no_guesses = 0;

    while( guess_me != guess )
    {
        cout << "guess: ";
        cin >> guess;

        if( guess_me == guess )
        {
            cout << "correct!" << endl;
        }

        if( guess_me > guess )
        {
            cout << "guess too small!" << endl;
        }
       
        if( guess_me < guess )
        {
            cout << "guess too large!" << endl;
        }

        no_guesses++;
    }

    cout << "You used " << no_guesses << " guesses!" << endl;
    return 0;
}
Avatar billede Slettet bruger
12. september 2002 - 11:12 #2
brug programmet delphi hvis du da kan skaffe det det er et rimeligt godt program at lave sådanne noget i
Avatar billede Slettet bruger
12. september 2002 - 11:12 #3
øhh var tiltænkt som et svar
Avatar billede jpk Nybegynder
12. september 2002 - 11:13 #4
Prøv noget lign:

int nNumber = (rand()/1000)+1;
cout << "Gaet et tal mellem 1 og 1000" << endl;
int nGuess;
do
{
  cout << "Tast et tal" << endl;
  cin >> nGuess;
}
while(nNumber != nGuess)
cout << "Tillykke" << endl;
Avatar billede jpk Nybegynder
12. september 2002 - 11:16 #5
Komplet kunne det se sådan ud:


#include "stdafx.h"
#include <iostream.h>
#include <stdlib.h>


int main(int argc, char* argv[])
{
    int nNumber = (rand()/1000)+1;
    cout << "Gaet et tal mellem 1 og 1000" << endl;
    int nGuess;
    do
    {
        cout << "Tast et tal" << endl;
        cin >> nGuess;
    } while(nNumber != nGuess);

    cout << "Tillykke" << endl;

    return 0;
}
Avatar billede bajads Nybegynder
12. september 2002 - 11:24 #6
Tak for de gode forslag ...Men

Det var ikke computeren der skulle "tænke" paa et tal,det var brugeren.
Altsaa programmet skal gætte hvilket tal du har i hovedet. Den skal finde det ud fra svar om höjere eller lavere !!! - Latterligt program det er en skole opgave.
Avatar billede bajads Nybegynder
12. september 2002 - 11:30 #7
Skal jeg maaske lave det med "Switch" case osv. ?
Avatar billede chries Nybegynder
12. september 2002 - 11:45 #8
#include <iostream.h>
#include <stdlib.h>
#include <stdio.h>
#include <time.h>


int main(int argc, char* argv[])
{
    srand( (unsigned)time( NULL ) );
   
    cout << "remeber no between 0 and 1000" << endl;

    int end = 0;
    int i_guessed = rand()%1000;
    int input = 0;

    int min = 0, max = 1000;

    while( !end )
    {
        cout << "I guess " << i_guessed << endl;       
        cout << "1. number is correct" << endl;
        cout << "2. number is larger" << endl;
        cout << "3. number is smaller" << endl;

        cin >> input;

        switch( input )
        {
            case 1:
            {
                end = 1;
                break;
            }
           
            case 2:
            {
                min = i_guessed;
                i_guessed = ((max-min)/2)+min;
                break;
            }

            case 3:
            {
                max = i_guessed;
                i_guessed = ((max-min)/2)+min;
                break;
            }
        }
    }

    cout << "Im good!!" << endl;
    return 0;
}
Avatar billede chries Nybegynder
12. september 2002 - 11:48 #9
tal skal være mellem 0 og 999
Avatar billede chries Nybegynder
12. september 2002 - 11:51 #10
tal mellem 0 og 1000 og rettelse til case 2:
i_guessed = ((max-min+1)/2)+min;
Avatar billede bajads Nybegynder
12. september 2002 - 11:53 #11
Fremragende Chries
Avatar billede soepro Nybegynder
16. september 2002 - 09:21 #12
chries >> Du burde have ekstra point for din ihærdighed ! En nydelig kodet binær søgning.
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