Bagaimana cara menulis sistem pengundian mudah dalam C++?
Dengan perkembangan teknologi, sistem pengundian telah menjadi alat yang digunakan secara meluas dalam masyarakat moden. Sistem pengundian boleh digunakan dalam banyak senario seperti pilihan raya, tinjauan dan membuat keputusan. Artikel ini akan menunjukkan kepada anda cara menulis sistem pengundian mudah dalam C++.
Pertama, kita perlu menjelaskan fungsi asas sistem pengundian. Sistem pengundian yang mudah harus mempunyai ciri-ciri berikut:
Dengan fungsi asas di atas jelas, kita boleh mula menulis sistem pengundian.
Pertama, kita perlu wujudkan kelas Pengundi untuk mewakili pengundi. Kelas ini harus mengandungi maklumat asas seperti nama pengundi, umur, jantina, dsb., dan mempunyai kaedah untuk mendaftar dan menentukan sama ada pengundi telah mengundi.
Seterusnya, kami mewujudkan kelas Undi untuk mewakili pengundian. Kelas ini harus mengandungi nama tinjauan pendapat, ID, pilihan calon dan pembolehubah untuk menyimpan bilangan undian bagi setiap pilihan. Kelas Undi juga harus mempunyai kaedah untuk menambah pilihan calon dan mengira keputusan pengundian.
Kemudian, kami mencipta kelas Sistem Pengundian untuk menguruskan sistem pengundian. Kelas ini harus mengandungi vektor yang menyimpan semua undi dan menyediakan kaedah untuk mendaftar pemilih, mencipta undi, menambah pilihan calon, membuang undi dan mengira keputusan undi.
Akhir sekali, kami berinteraksi dengan pengguna melalui antara muka konsol mudah untuk melaksanakan fungsi sistem pengundian.
Berikut adalah contoh mudah:
#include <iostream> #include <vector> using namespace std; // Voter class class Voter { string name; int age; string gender; bool voted; public: Voter(string n, int a, string g) { name = n; age = a; gender = g; voted = false; } bool hasVoted() { return voted; } void setVoted() { voted = true; } }; // Vote class class Vote { string name; int id; vector<string> candidates; vector<int> votes; public: Vote(string n, int i) { name = n; id = i; } void addCandidate(string candidate) { candidates.push_back(candidate); votes.push_back(0); } void castVote(int candidateIndex) { votes[candidateIndex]++; } void printResults() { for (int i = 0; i < candidates.size(); i++) { cout << candidates[i] << ": " << votes[i] << " votes" << endl; } } }; // VotingSystem class class VotingSystem { vector<Voter> voters; vector<Vote> votes; public: void registerVoter(string name, int age, string gender) { Voter voter(name, age, gender); voters.push_back(voter); } void createVote(string name, int id) { Vote vote(name, id); votes.push_back(vote); } void addCandidate(int voteIndex, string candidate) { votes[voteIndex].addCandidate(candidate); } void castVote(int voteIndex, int candidateIndex, int voterIndex) { if (!voters[voterIndex].hasVoted()) { votes[voteIndex].castVote(candidateIndex); voters[voterIndex].setVoted(); } } void printVoteResults(int voteIndex) { votes[voteIndex].printResults(); } }; int main() { VotingSystem votingSystem; // Register voters votingSystem.registerVoter("Alice", 25, "female"); votingSystem.registerVoter("Bob", 30, "male"); votingSystem.registerVoter("Charlie", 35, "male"); // Create vote votingSystem.createVote("Favorite color", 1); // Add candidates votingSystem.addCandidate(0, "Red"); votingSystem.addCandidate(0, "Blue"); votingSystem.addCandidate(0, "Green"); // Cast votes votingSystem.castVote(0, 0, 0); votingSystem.castVote(0, 1, 1); votingSystem.castVote(0, 0, 2); // Print vote results votingSystem.printVoteResults(0); return 0; }
Di atas adalah contoh pelaksanaan sistem pengundian mudah. Dengan mencipta kelas Pengundi, Undi dan Sistem Pengundian, kami boleh melaksanakan fungsi seperti mendaftar pemilih, mencipta undi, menambah pilihan calon, mengundi dan mengira keputusan pengundian. Dalam fungsi utama, kami menunjukkan cara menggunakan fungsi ini untuk mencipta dan mengurus tinjauan pendapat. Output akan menunjukkan bilangan undi untuk setiap pilihan calon.
Melalui contoh di atas, kita dapat melihat cara menulis sistem pengundian yang mudah menggunakan bahasa C++. Sudah tentu, masih terdapat banyak ruang untuk penambahbaikan dalam contoh ini, seperti menambah pengesahan identiti pengundi, menyokong berbilang undi pada masa yang sama dan fungsi lain. Tetapi contoh ini sudah cukup untuk membantu anda memahami cara mula menulis sistem pengundian yang mudah.
Saya harap artikel ini dapat membantu anda, dan saya harap anda boleh menulis sistem pengundian yang sempurna!
Atas ialah kandungan terperinci Bagaimana untuk menulis sistem pengundian mudah dalam C++?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!