Prosty komunikat (WinAPI)

Prosty komunikat (WinAPI)
patryj1083
  • Rejestracja:prawie 13 lat
  • Ostatnio:ponad 6 lat
  • Postów:102
0

Witam,
Mógłby mi ktoś wytłumaczyć dlaczego nie pojawia się żadna wylosowana liczba.

Kopiuj
 
#define WIN32_LEAN_AND_MEAN
#include <Windows.h>
#include <cstdlib>
#include <ctime>
int rand(int min,int max);
INT WINAPI WinMain(HINSTANCE hInstance, HINSTANCE, LPSTR, int nCmdShow)
{
	srand(time_t(NULL));
	MessageBox(NULL,L"Test"+ rand(1,6) ,L"Komunikat",NULL);
	return 0;
}
int rand(int min,int max)
{
	return (rand () % max) +min;
}

Dziękuję z góry. :)

n0name_l
Dodam jeszcze na marginesie, ze losowanie masz zle zrobione.
patryj1083
Ta a w którym miejscu dokładnie??
n0name_l
albo w miejscu logiki, albo w kodzie: test <-3; 9>
n0name_l
  • Rejestracja:ponad 12 lat
  • Ostatnio:ponad 4 lata
  • Postów:2412
0

Moze przeczytaj na szybko jakis kurs...
Powiedz mi ile to jest katarzyna + 3?

r. : Po wylosowaniu, zamien liczbe na stringa. Dodaj tego stringa do tresci komunikatu. Wyswietl.

JU
Kasia z 3ma piersiami ?:P
_13th_Dragon
... słyszałem o "Katarzyna 18+" i podejrzewam że niektórzy wiedzą dokładnie ile to będzie ;P
JU
Już wiem ;D "Katarzyna + 3" = mała orgia;D
mcoder
  • Rejestracja:około 12 lat
  • Ostatnio:około 5 lat
  • Postów:117
0

Porównaj sobie swój kod z poniższym, a znajdziesz odpowiedź na swoje pytanie.

Kopiuj
#define WIN32_LEAN_AND_MEAN
#define UNICODE

#include <Windows.h>
#include <strsafe.h>
#include <cstdlib>
#include <ctime>

int rnd(int min,int max);

INT WINAPI WinMain(HINSTANCE hInstance, HINSTANCE, LPSTR, int nCmdShow)
{
        srand((UINT)time(NULL));

        TCHAR msg[128] = L"\0";

        StringCchPrintf(msg, 128, L"Test %d", rnd(1,6));

        MessageBox(NULL, msg, L"Komunikat", NULL);
        return 0;
}

int rnd(int min, int max)
{
        int tmp;
        if (max>=min)
                max-= min;
        else
        {
                tmp= min - max;
                min= max;
                max= tmp;
        }
        return max ? (rand() % max + min) : min;
}

<sup>_</sup>
n0name_l
jesli min>max to powinien poleciec exception na pysk bo to nie poprawne uzycie funkcji ;)
patryj1083
Dzięki wreszcie jakaś sensowna odpowiedź, ale nie musiałeś pisać całego kodu wystarczyła jakaś podpowiedź. :)
n0name_l
"wreszcie jakaś sensowna odpowiedź" ...w sensie, ze moja nie miala sensu?

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.