Signup Now
Da bi mogli da pišete na forumu, otvarate nove teme, kao i da vidite download
linkove morate prvo da se registrujete.

Ukoliko Vam nije jasan proces registracije, molimo vas da kliknete OVDE
Ako ste zaboravili lozinku, kliknite OVDE :)

C - Kviz

Diskusija u 'Programiranje' započeta od Here's Johnny, 13.05.2016.

  1. Here's Johnny

    Here's Johnny

    Postova:
    1
    Zahvala:
    0
    Pol:
    Muški
    Lokacija:
    Novi Sad
    Pozdrav.
    Potrebna mi je pomoć oko sledećeg zadatka:

    Definisati tip PITANJE kojim se reprezentuje jedno pitanje u nekom kvizu,
    a čiji su atributi tekst pitanja (statički string), prvi odgovor (statički string), drugi odgovor (statički string),
    treći odgovor (statički string), te redni broj tačnog odgovora (celi broj – 1, 2
    ili 3).
    Definisati tip KVIZ kojim se reprezentuje jedan kviz, a čiji su atributi broj pitanja (celi broj) i pitanja (dinamički niz).
    Definisati funkciju koja dodaje novo pitanje u kviz, a čiji je prototip: void dodaj(KVIZ *k, PITANJE *p);
    Definisati funkciju koja prikazuje pitanje (i ponuđene odgovore) čiji je redni broj rb. Prototip funkcije je: void prikazi_pitanje(KVIZ *k, int rb);
    Definisati funkciju koja vraća informaciju o tome da li je odgovor, čiji je redni broj rbo, tačan odgovor na pitanje čiji je redni broj rb.
    Prototip funkcije je: int tacan(KVIZ *k, int rb, int rbo);
    U glavnom programu:
    - definisati novi kviz, pa u njega dodati dva pitanja(sa pripadajućim ponuđenim odgovorima),
    - korisniku redom prikazivati pitanja na standardni izlaz, a sa standardnog ulaza učitavati odgovore
    korisnika. Korisnik odgovara tako što unosi redni broj odgovora: 1, 2 ili 3 (u suprotnom prikazatiporuku o greški i ponovo učitati odgovor na isto pitanje).
    - na kraju, kada korisnik odgovori na sva pitanja, prikazati rezultat na standardni izlaz.
    Napomena: Ukupan broj pitanja se dinamički alocira (nije unapred poznat ukupan broj pitanja jer korisnik manipuliše izbornikom).
    Korisnik može manipulisati samo ponuđenim odgovorima na postavljeno pitanje,
    kao i izbornikom koji mu omogućava da li želi da se doda naredno pitanje, prikaže rezultat, ili da korisnik terminira program.
    To znači da korisnik sam određuje kad se kviz završava.
    Nema korištenja datoteka, sav program se izvršava preko command prompt-a.

    Primer izvršavanja programa:
    Kod:
    Zao nam je, ali morate biti registrovani/prijavljeni da vidite ovaj sadržaj!
    U ovom zadatku mi nekoliko stvari nije jasno:
    1) Kako dodati pitanje u kviz, tj. gde treba definisati tekst pitanja (jer se tekst ne učitava, nego se automatski prikazuje kad korisnik hoće da doda novo pitanje)?
    2) Pošto korisnik sam određuje kada će se program terminirati, kako definisati redosled pitanja koja dolaze kada ih korisnik
    dodaje jedno po jedno (kada više nema definisanih pitanja valjda bi trebalo da se ispiše poruka o terminiranju programa, je li tako?)?
    3) Tekst pitanja se ne definiše u datoteci, pa kako onda da se prikazuju na standarnom izlazu po redosledu kojim dolaze?

    Unapred hvala.
     
  2. Andrija231

    Andrija231 Član

    Postova:
    16
    Zahvala:
    7
    Ako ne može da se koristi datoteka, mogao bi da koristiš klase da rešiš ovaj problem.
     
  3. quantrop

    quantrop

    Postova:
    10
    Zahvala:
    0
    Lokacija:
    Novi Sad
    Misliš strukture? Klasa nema u C (ovo nije C++). U zadatku se traži, koliko vidim, da napravi dve strukture i sa typedef napravi tipove, ali ni meni iz teksta nije jasno odakle se učitavaju pitanja. Ja sam shvatio da korisnik sam treba da unese pitanja i odgovore i onda da ih, pretpostavljam, neko drugi rešava.
     
  4. n3m3sis

    n3m3sis Član

    Postova:
    1.657
    Zahvala:
    131
    Pol:
    Muški
    Lokacija:
    prijedor
    JKDforever se ovo sviđa.
  5. quantrop

    quantrop

    Postova:
    10
    Zahvala:
    0
    Lokacija:
    Novi Sad
    Ovo nije pravilno korišćenje funkcije
    Kod:
    Zao nam je, ali morate biti registrovani/prijavljeni da vidite ovaj sadržaj!
    . Potrebno je preuzeti pokazivač koji ona vraća.

    Druga stvar, zbog koje program puca, je što polje n u strukturi KVIZ se nigde ne inicijalizuje.
     

Preporučite stranicu