题目:用c++对学生电子投票平台设计 功能:编写一个简单的电子投票系统,候选人为5名投票人数最少为10人。 要求:(1)候选人信息包括:编号、姓名和本学期三门课程的成绩(英语数学C语 言)。(2)程序运行时显示简单菜单,菜单内容包括: ①录入数据:录入候选人信息: ②显示数据:显示候选人信息并统计三门课程的总成绩:③投票 ④投票结果:显示票数统计结果,并按得票数排序:⑤查询:输入编号查询某候选人信息。
时间: 2023-06-15 22:03:46 浏览: 190
C++实现的简单投票系统
以下是一个简单的学生电子投票平台的C++代码实现:
```
#include <iostream>
#include <string>
#include <vector>
#include <algorithm>
using namespace std;
struct Student {
int id;
string name;
int english;
int math;
int c_programming;
int votes;
Student(int i, string n, int e, int m, int c): id(i), name(n), english(e), math(m), c_programming(c), votes(0) {}
};
vector<Student> candidates;
void print_menu() {
cout << "1. 录入数据" << endl;
cout << "2. 显示数据" << endl;
cout << "3. 投票" << endl;
cout << "4. 投票结果" << endl;
cout << "5. 查询" << endl;
cout << "6. 退出" << endl;
cout << "请选择操作: ";
}
void add_student() {
int id, e, m, c;
string name;
cout << "请输入候选人编号: ";
cin >> id;
cout << "请输入候选人姓名: ";
cin >> name;
cout << "请输入候选人英语成绩: ";
cin >> e;
cout << "请输入候选人数学成绩: ";
cin >> m;
cout << "请输入候选人C语言成绩: ";
cin >> c;
candidates.push_back(Student(id, name, e, m, c));
cout << "候选人信息录入成功!" << endl;
}
void show_candidates() {
cout << "候选人信息如下:" << endl;
cout << "编号\t姓名\t英语\t数学\tC语言\t总成绩" << endl;
for (const auto& s : candidates) {
cout << s.id << "\t" << s.name << "\t" << s.english << "\t" << s.math << "\t" << s.c_programming << "\t" << s.english + s.math + s.c_programming << endl;
}
}
void vote() {
cout << "请输入投票候选人的编号: ";
int id;
cin >> id;
bool found = false;
for (auto& s : candidates) {
if (s.id == id) {
s.votes++;
cout << "投票成功!" << endl;
found = true;
break;
}
}
if (!found) {
cout << "没有找到对应编号的候选人!" << endl;
}
}
void show_result() {
sort(candidates.begin(), candidates.end(), [](const Student& a, const Student& b) { return a.votes > b.votes; });
cout << "投票结果如下:" << endl;
cout << "编号\t姓名\t票数" << endl;
for (const auto& s : candidates) {
cout << s.id << "\t" << s.name << "\t" << s.votes << endl;
}
}
void query() {
cout << "请输入要查询的候选人编号: ";
int id;
cin >> id;
bool found = false;
for (const auto& s : candidates) {
if (s.id == id) {
cout << "候选人信息如下:" << endl;
cout << "编号\t姓名\t英语\t数学\tC语言\t总成绩\t票数" << endl;
cout << s.id << "\t" << s.name << "\t" << s.english << "\t" << s.math << "\t" << s.c_programming << "\t" << s.english + s.math + s.c_programming << "\t" << s.votes << endl;
found = true;
break;
}
}
if (!found) {
cout << "没有找到对应编号的候选人!" << endl;
}
}
int main() {
while (true) {
print_menu();
int choice;
cin >> choice;
switch (choice) {
case 1:
add_student();
break;
case 2:
show_candidates();
break;
case 3:
vote();
break;
case 4:
show_result();
break;
case 5:
query();
break;
case 6:
return 0;
default:
cout << "输入错误,请重新选择!" << endl;
}
}
}
```
这个程序使用了结构体来存储候选人信息,使用了vector来存储所有候选人,实现了录入数据、显示数据、投票、投票结果和查询功能。
阅读全文