Sari la conținut
Zece la Info
Probleme

Sistemul Vot (Candidat + Alegere)

Facultate 2000 ms 64 MB#oop#clasa#sistem#vot

Scrieti DOUA clase:

  1. Candidat - nume, voturi (incepe cu 0):
  • constructor(nume); getNume(); getVoturi()
  • adaugaVot() - aduna 1 la numarul de voturi
  1. Alegere - orchestreaza candidatii si voturile, IMPIEDICAND votul dublu (fiecare votant identificat printr-un id de votant poate vota o singura data, indiferent pe cine):
  • constructor fara parametri
  • adaugaCandidat(nume) - returneaza id-ul candidatului (0,1,2,...)
  • voteaza(idVotant, idCandidat) - daca idCandidat e valid SI idVotant NU a mai votat niciodata, delegheaza catre candidat.adaugaVot(), marcheaza idVotant ca a votat, si returneaza adevarat; altfel returneaza fals fara nicio modificare
  • castigator() - returneaza numele candidatului cu cele mai multe voturi (la egalitate, primul adaugat); "-" daca nu exista niciun candidat
  • voturiCandidat(id) - returneaza voturile candidatului (0 daca id invalid)
  • numarVotanti() - returneaza numarul de votanti DISTINCTI care au votat cu succes
Date de intrare
Codul vostru este integrat intr-un program de test care citeste comenzi si apeleaza metodele voastre.
Date de iesire
Fiecare comanda produce o linie de output.
Restrictii
id-urile de votant sunt numere intregi oarecare (nu neaparat consecutive).

Exemple

Exemplul 1

Intrare

4
ADDCANDIDAT A
ADDCANDIDAT B
VOTEAZA 100 0
VOTURI 0

Iesire

0
1
1
1

Vrei să rezolvi problema?

Creează-ți un cont gratuit ca să scrii cod în editor, să trimiți soluții la evaluator și să vezi indicațiile.