webForumDet fria alternativet

slumpa tal och svenska tecken

C/C++

3 svar · 444 visningar · startad av Alpha II

Medlem sedan maj 20002 993 inlägg
Frågan#1

Hej
jag försöker lära mig c++ och försöker fixa ett spel där man ska gissa ett nummer.
Nummret slumpar jag ut genom att skriva

magicnum = rand() % 100;

men hur ger jag random funktionen en 'seed' så att den inte slumpar samma tal varenda gång?

Sen så är det irriterande att å, ä och ö blir massa konstiga tecken... hur fixar man det?

Medlem sedan juni 200010 432 inlägg
#2

Det vanliga sättet är att använda srand(time(0))

#include<ctime>
...
...
srand(time(0));
magicnum = rand() % 100;
...
...

Svenska tecken brukar jag inte använda så det har jag ingen direkt koll på... men funkar det inte med asciikoden för resp. bokstav?

Medlem sedan apr. 200277 inlägg
#3

åäö

Anledningen till att blir konstiga tecken är förmodligen att du skriver programmet i någon windows-miljö, tillexempel Visual C++. Om programmet du skriver är ett DOS-program så blir det konstiga tecken... anledningen är att åäö inte har samma ASCII-nummer i Windows som i DOS beroende på att det används olika typsnitt.... I vc++används förmodligen Courier New och i DOS tror jag det brukar vara Terminal som används.

Medlem sedan maj 20021 466 inlägg
#4

CharToOem kan användas för att konvertera strängen till kommandotolkens teckentabell.

Ett annat sätt är att att använda Unicode.

254 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2
121 ms — deklarationer (db)
0 ms — hämta statistik (cache)
130 ms — hämta tråd, inlägg och bilagor (db)
117 ms — ändringar (db)