• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Problem z kodem LOTTO

Object Storage Arubacloud
+1 głos
193 wizyt
pytanie zadane 23 lipca 2017 w C i C++ przez Michal Borek Nowicjusz (160 p.)
edycja 23 lipca 2017 przez Michal Borek

Witam.

Przerobiłem ostatnio multimedialny kurs c++, teraz próbuje rozwinąć nowo nabyte umiejętności. Wpadła mi w ręce dość stara książka Krzysztofa Barteczko "Praktyczne wprowadzenie do programowania obiektowego w języku C++". Zauważyłem że zawiera mnóstwo błędów, ale jest ciekawie napisana i myślę że można z niej wiele się nauczyć. Jednak utknąłem już przy pierwszym programie (Do totolotka ;-P). Wydaje się być wszystko w porządku, ale po wpisaniu swoich liczb nie mam możliwości zatwierdzenia ich. Gdzie tu może być problem. Poniżej zamieszczam kod:


#include <stdio.h>
#include <stdlib.h>

const int mnq=3;
#define GNQ 7
#define MAXN 49

unsigned mnum[mnq];

unsigned Sum(unsigned[],int);
unsigned Seed(void)
{
    return Sum(mnum,mnq)/mnq;
}
unsigned GetRn(void)
{
    static int CallNr=0;
    if(CallNr==0)
    srand (Seed());
    CallNr++;
    return rand()%MAXN+1;
}
void InputMagNums(void)
{
    printf("\nPodaj %d magiczne liczby: ",mnq);
    for (int i=0; i<mnq;i++)
    scanf("%u",mnum[i]);
}
void Out (unsigned gnum[])
{
    printf("\nPodaj%d magiczne liczby: ",mnq);
    for(int i=0; i<GNQ; i++)
    printf("%u",gnum[i]);
}

int main(void)
{

int i;
unsigned gnum[GNQ];
InputMagNums();

unsigned temp;
int ag[MAXN];
for(i=0;i<MAXN;i++)
ag[i]=0;
i=0;

while (i<GNQ)
{
    temp=GetRn();
    if(ag[temp-1])
    continue;
    else
    ag[temp-1]=1;
    gnum[i++]=temp;
}
Out(gnum);

return 0;
}
unsigned Sum(unsigned n[],int i)
{
    unsigned sum=0;
    for(int i=0;i<1;i++)
    sum+=n[i];
    return sum;
}

 

komentarz 23 lipca 2017 przez Jakub 0 Pasjonat (23,120 p.)
zamieszczaj swój kod w opcji CODE bo wtedy składnia będzie podkreślona i rozczytanie się będzie łatwiejsze :)
1
komentarz 23 lipca 2017 przez Pajdas Mądrala (5,930 p.)
dlaczego każdy kod który nie jest w bloku CODE, to kod c++ :)

1 odpowiedź

+2 głosów
odpowiedź 23 lipca 2017 przez mokrowski Mędrzec (155,460 p.)
wybrane 24 lipca 2017 przez Michal Borek
 
Najlepsza

Książki nie znam więc trudno mi ocenić na ile sama książka przyczyniła się do jakości tego kodu a na ile to .. wkład własny.

Dość że masz błąd na błędzie i to w dodatku błędy koncepcyjne:

  1. Mieszasz wywołania "typowe dla C" (printf, scanf, srand, rand) z wywołaniami w C++.
  2. Nie deklarujesz nagłówków jako <cstdlib> (a nie <stdlib.h>
  3. Co to za szatański pomysł stosowania makr i stałych?
  4. srand() nie przyjmuje jakiś "magicznych wyliczeń" tylko zasiew

Dalej nie ma sensu szukać problemów... 

Bez obrazy. Jeśli książka rzeczywiście jest ciekawa to może potraktować ćwiczenia z niej jako zadania a zainteresować się czymś nowszym bo jeśli To jest jej poziom to... zostaw ją jeśli nawet jest napisana ciekawie :-/

Nawet lepiej będzie jak umieścisz skan tego zadania to poradzę jak je napisać ... 

komentarz 24 lipca 2017 przez Michal Borek Nowicjusz (160 p.)

Dziękuję bardzo za odpowiedź. Książka na razie będzie musiała iść w odstawkę. Kod żywcem przepisany z niej z kilkoma zmianami. Pewnie podczas pisania tego tomu komputer przemienił parę słów. Myślałem że mam takie braki w nauce i dlatego nie do końca rozumiem ćwiczenie.  Zamierzam dojść do poziomu w którym rozwiąże zawarte w niej zadania samodzielnie.

Podobne pytania

0 głosów
1 odpowiedź 1,400 wizyt
pytanie zadane 5 maja 2018 w C i C++ przez Sic Dyskutant (8,510 p.)
0 głosów
2 odpowiedzi 217 wizyt
pytanie zadane 23 września 2018 w C i C++ przez raxonpc Użytkownik (560 p.)
0 głosów
3 odpowiedzi 1,111 wizyt
pytanie zadane 3 stycznia 2016 w C i C++ przez Mesiak Bywalec (2,380 p.)

92,551 zapytań

141,393 odpowiedzi

319,523 komentarzy

61,936 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...