Hjælp med at lave Lottotræknings program i c++

Tags:    c++

<< < 123 > >>
Hi alle

Er der nogen der ud som har lyst til at hjælpe et c++ program for mig.

Jeg skal aflevere den midt i desember,

Men hvis i har lyst til at hjælpe så skal opgave opbygges på følgende måde.


Der skal laves et C/C++ program som kan simulere en lottotrækning. (Lordagslotto med 36 kugler).

1) Lav en funktion ”Bold”, som kan generere tilfældige tal imellem 1 og 36.

2) Lav en funktion ”Kugle, der bruger rutinen ”Bold” – men som i den rigtige verden kan man kun trække et tal én gang. Det vil sige at funktionen holder styr på hvilke numre der er trukket.
Der skal naturligvis være mulighed for at lægge alle bolde tilbage og starte forfra.

3) Lav en funktion ”Lynlotto” som genererer 10 lottorækker med hver 7 tilfældige lottotal ( 1 til 36).

4) Lav en funktion ”Saturday” som genererer 7 lottotal samt et tillægstal.

5) Lav en funktion ”Gevinst” som kontroller kuponen fra ”Lynlotto” og udskriver antal af gevinster.

Oki, er der så nogen som kan hjælpe med at komme i gang med den opgave,


Tak
Hilsen
Finns







Indlæg senest redigeret d. 24.11.2008 21:35 af Bruger #14423
(rand() % 36) + 1;


Tak for hjælpen,men jeg kan ikke se hvorhen den skal ind i koden,
Den stadvigt trækker den samme tal igen og igen.



F.eks:
Fold kodeboks ind/udKode 


Det skulle gerne give dig 7 tilfældige tal, der er forskellige hver gang du kører programmet.

Det næste problem er at du risikerer at to eller flere af disse tal er ens, det går ikke med lottotal...




Det skulle gerne give dig 7 tilfældige tal, der er forskellige hver gang du kører programmet.

Det næste problem er at du risikerer at to eller flere af disse tal er ens, det går ikke med lottotal...

Well...hvis du kører programmet to gange inden for samme sekund, så får du faktisk den samme række.



F.eks:
Fold kodeboks ind/udKode 


Det skulle gerne give dig 7 tilfældige tal, der er forskellige hver gang du kører programmet.

Det næste problem er at du risikerer at to eller flere af disse tal er ens, det går ikke med lottotal...




Tak for det Bertel

jeg havde fået det til at virke på den måde her

#include "stdafx.h"

#include <cstdlib>
#include <ctime>
#include <iostream>
using namespace std;

int main()
{
srand((unsigned)time(0));

int random_integer;
for(int index=0; index < 1; index++){
random_integer = (rand() % 36) + 1;
cout << random_integer << endl;
}

cin.get();
return 0;
}

det er samme, bare anden opsætning,
Tak, Nu må jeg bare gå videre med det her.




Hej igen

Jeg får to fejler "Warning" når jeg prøver at gøre "Build solution"

Den her:

(114) : warning C4311: 'type cast' : pointer truncation from 'int *__w64 ' to 'unsigned int'

og
Den
(93) : error C4716: 'Lynlotto' : must return a value

Kan i se fejlen,
Her følger koden med:

Tak for hjælpen
Mvh
Finns



Fold kodeboks ind/udKode 







Indlæg senest redigeret d. 01.12.2008 11:13 af Bruger #14423
Fold kodeboks ind/udKode 


Denne funktion returnerer ikke noget, og det lader det til, at den heller ikke skal, så returtypen skal være void.

I Kugle() funktionen:
Fold kodeboks ind/udKode 


...sammenligner du returværdien af size() metoden (som er en unsigned integer) med en signed integer. Du kan typecaste værdien eksplicit:
Fold kodeboks ind/udKode 


...eller du kan bruge defines istedet:
Fold kodeboks ind/udKode 




Tak for det.. nu fik jeg det "built" og compile med de her resultater:

1>------ Build started: Project: Full LynLotto opgave, Configuration: Debug Win32 ------
1>Compiling...
1>Skipping... (no relevant changes detected)
1>Full LynLotto opgave.cpp
1>Build log was saved at "file://c:\Finnur\Elektrikingenior IOT\Reeksam i E-DTP\Full LynLotto opgave\Full LynLotto opgave\Debug\BuildLog.htm"
1>Full LynLotto opgave - 0 error(s), 0 warning(s)
========== Build: 1 succeeded, 0 failed, 0 up-to-date, 0 skipped ==========

Har lavet de ændringer som du snakkeder om
også i int main, har jeg gjort det her
//srand((unsigned)&c);



Men så hvis jeg vil så debug, så kommer bare en
kæmpe fejl.

Debug Assertion Failed!

Program:...
File:c:\program files\microsoft visual studio8\vc\include\list
Line:262

Expression: list iterator not decrementable

For information on how your program can cause an assertion failure, see the visualC++ doocumentation on asserts.

(press retry to debug the application)

"Abort" "Retry" "Ignore"



Hele Koden:
Fold kodeboks ind/udKode 



har i nogen idéa hvorfor det kommer,kan det være den udgave af c++ som jeg har,
(Visual c++ 2005 express edition)

Hilsen
Finns






Indlæg senest redigeret d. 01.12.2008 15:17 af Bruger #14423
Problemet er i funktionen Kugle, hvis new_draw bliver sat til true kalder du drawn_lst.clear().
Men til slut i funktionen kalder du så drawn_lst.back(), men det må du ikke da der ikke er nogen back, fordi listen er tom.



Problemet er i funktionen Kugle, hvis new_draw bliver sat til true kalder du drawn_lst.clear().
Men til slut i funktionen kalder du så drawn_lst.back(), men det må du ikke da der ikke er nogen back, fordi listen er tom.


Hej Bertel, kan du forklare det lidt bedre, jeg får stadvigt ud den samme kæmpe fejl.

Mvh
Finnur



Når du kalder Kugle med true, vælter programmet, fordi drawn_lst.back() ikke er lovligt.
Da du ikke bruger returværdien fra funktionen i det tilfælde kan du løse problemet ved at returnere 0 i det tilfælde:

Fold kodeboks ind/udKode 


Jeg tror i øvrigt at de fleste vil sige at funktionen Kugle, med sin lokale "static drawn_lst" er dårlig design.



<< < 123 > >>
t