Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Problem z programem do losowania liczb

Ostatnio zmodyfikowano 2012-06-26 23:53
Autor Wiadomość
xevuel
» 2012-06-26 23:07:44
Naucz się cierpliwości. Jeden kolega ostatnio bardzo fajnie podsumował takie zachowanie. Problem z pętlą.

Wyrzuć tamtą linijkę i na początku main'a wstaw
srand( time( NULL ) );
 :)
P-59216
Benu1
Temat założony przez niniejszego użytkownika
» 2012-06-26 23:10:23
Jak wstawie to w funkcje main to jak mi bedzie pobierac w funkcji tej u gory?;/ nie pobiera;/
P-59217
Marcinowy
» 2012-06-26 23:11:11
Spróbuj tak:
C/C++
int funkcja_losujaca()
{
    srand( time( NULL ) );
    return( rand() % 60 ) + 50;
}

Ale losowe_liczby to liczba z podanego przedziału, czyli zwraca to samo.

//Edit2: nadal jest ten sam błąd przy kompilacji? Z tym srandem w 9 linijce?
P-59218
Benu1
Temat założony przez niniejszego użytkownika
» 2012-06-26 23:12:06
marcinek nie smiga tak to po 1 po 2 ma zwracac losowe_liczby..

@xevuel
Jestem cierpliwi i czekam na fajne porady i wytlumaczenia
P-59219
SeaMonster131
» 2012-06-26 23:15:48
C/C++
twoja funkcja()
{
    rand()
}

..

int main()
{
    srand( time( NULL ) );
    ...
}
?
P-59220
Benu1
Temat założony przez niniejszego użytkownika
» 2012-06-26 23:17:54
Boshe seamonster jesli dodam ta linijke do maina to w funkcji mi jej nie wylapie a o to masz dowod, zrobie tak jak ty mi kazales:

W ogole to dam od nowa skrypt bo bledow a bledow mam :

C/C++
#include <iostream>
#include <cstdlib>
#include <ctime>
#include <conio.h>
#include "time.h"
#include "cstdlib"
using namespace std;


int funkcja_losujaca()
{
    int losowanie_liczby;
    losowanie_liczby =( rand() % 60 ) + 50;
    return losowanie_liczby;
}



int main()
srand( time( NULL ) );
{
    int wywolanie, wywolanie_ponowne;
    string tak, nie;
   
    string TAK, NIE;
    cout << "Liczba zostala juz wylosowana" << endl;
    cout << "Czy chcesz wywolac funkcje?\nNapisz tak lub nie: " << endl;
    cout << "Wybierasz: ";
    cin >> wywolanie;
    switch( wywolanie )
    {
    case 'tak':
        cout << "Wylosowana liczba to: " << funkcja_losujaca() << endl;
       
    case 'nie':
        cout << "To nie. Laski bez xD" << endl;
        getch();
    }
    if( wywolanie == 'tak' )
    {
        do
        {
            cout << "A moze chcesz jeszcze raz wywolac funkcje? " << endl;
            cout << "Jesli chcesz to napisz T, jesli napiszesz N to program konczy dzialanie: " << endl;
            cin >> wywolanie_ponowne;
            switch( wywolanie_ponowne )
            {
            case 'TAK':
                cout << "Ponownie wylosowana liczba to: " << funkcja_losujaca() << endl;
               
            case 'NIE':
                cout << "W takim razie dziekuje" << endl;
                getch();
            }
           
           
        } while( wywolanie_ponowne == 'N' );
       
    }
    return 0;
}

Dziwne ze mi wywala bledy mam dobra zmienna przeciez string to ciag znakow nie rozumiem prosze o wytlumaczenie i poprawienie oraz naprawde sranda.

podaje bledy :



D:\C++\Prace domowe.cpp|32|warning: multi-character character constant|
D:\C++\Prace domowe.cpp|35|warning: multi-character character constant|
D:\C++\Prace domowe.cpp|39|warning: multi-character character constant|
D:\C++\Prace domowe.cpp|48|warning: multi-character character constant|
D:\C++\Prace domowe.cpp|51|warning: multi-character character constant|
D:\C++\Prace domowe.cpp|20|error: expected initializer before 'srand'|
D:\C++\Prace domowe.cpp|21|error: expected unqualified-id before '{' token|
||=== Build finished: 2 errors, 5 warnings ===|

@edit

seamonster nie moge w mojej funkcji po prostu napisac rand() bo to nie ma byc losowa liczba tylko ma losowac licze z przedzialu od 50 do 60
P-59221
Marcinowy
» 2012-06-26 23:20:51
Wydaje mi się, że jemu chodziło po prostu o sam przykład, w swojej funkcji do losowania dajesz randa z jakiego przedziału a sranda wywołujesz raz, w funkcji main.
P-59222
SeaMonster131
» 2012-06-26 23:21:19
Nie tak:
C/C++
int main()
srand
{
    ..
}
tylko
C/C++
int main()
{ // !!
   
    srand
   
    ..
}

I ja tylko pisze pseudokodem :)


Co do błędów, char jest to jeden znak i umieszczasz go w '' np 'c', string to ciąg znaków "" np "ciag znakow". Nie możesz dać ciągu znaków w ''.
P-59223
1 « 2 » 3 4
Poprzednia strona Strona 2 z 4 Następna strona