怎么编写计票程序

时间:2025-01-25 04:52:46 单机游戏

编写计票程序的方法取决于具体的需求和环境。以下是几种不同编程语言编写的计票程序示例:

Python计票程序

使用`input`函数接收选民输入的候选人姓名,直到输入“”结束。

使用字典`dic`存储每个候选人的得票数。

遍历字典并打印出每个候选人及其得票数。

```python

dic = {}

s = input('请输入候选人的姓名(输入“”结束):')

while s != '':

dic[s] = dic.get(s, 0) + 1

s = input('请输入候选人的姓名(输入“”结束):')

print('候选人及得票数如下:')

for key in dic.keys():

print(key, str(dic.get(key)) + '票')

```

C语言计票程序

定义一个结构体`Person`来存储候选人姓名和得票数。

实现`Ticket`函数来统计每个候选人的得票数。

实现`Show`函数来打印所有候选人的得票数。

```c

include

include

define MAX_CANDIDATES 5

typedef struct {

char name;

int count;

} Person;

void Ticket(Person *arr, int len) {

char name;

for (int i = 0; i < len; i++) {

scanf("%s", name);

for (int j = 0; j < len; j++) {

if (strcmp(arr[j].name, name) == 0) {

arr[j].count++;

break;

}

}

}

}

void Show(Person *arr, int len) {

for (int i = 0; i < len; i++) {

printf("%s:%d\n", arr[i].name, arr[i].count);

}

}

int main() {

Person arr[MAX_CANDIDATES] = {{"liubei", 0}, {"xiaoming", 0}, {"xiaohong", 0}, {"xiaowang", 0}, {"xiaoliu", 0}};

int len = 5;

Ticket(arr, len);

Show(arr, len);

return 0;

}

```

SQL计票程序

设计两个表:`Vote`(选票主表)和`VoteDetail`(选票细表)。

使用SQL查询统计每个候选人的得票数,并将结果导出到Excel文件。

```sql

-- 创建选票主表

CREATE TABLE Vote (

Id INT PRIMARY KEY,

Editor VARCHAR(255),

AddTime DATETIME

);

-- 创建选票细表

CREATE TABLE VoteDetail (

Id INT PRIMARY KEY,

VoteId INT,

OptionId INT

);

-- 统计每个候选人的得票数

SELECT

Editor,

AddTime,

CASE

WHEN SUM(CASE WHEN OptionId = 1 THEN 1 ELSE 0 END) = 1 THEN '选择1'

WHEN SUM(CASE WHEN OptionId = 2 THEN 1 ELSE 0 END) = 1 THEN '选择2'

WHEN SUM(CASE WHEN OptionId = 3 THEN 1 ELSE 0 END) = 1 THEN '选择3'

-- ...

WHEN SUM(CASE WHEN OptionId = 32 THEN 1 ELSE 0 END) = 1 THEN '选择32'

END AS Option1,

CASE

WHEN SUM(CASE WHEN OptionId = 1 THEN 1 ELSE 0 END) = 1 THEN 1

ELSE 0

END AS Option2,

CASE

WHEN SUM(CASE WHEN OptionId = 1 THEN 1 ELSE 0 END) = 1 THEN 1

ELSE 0

END AS Option3,

-- ...

CASE

WHEN SUM(CASE WHEN OptionId = 1 THEN 1 ELSE 0 END) = 1 THEN 1

ELSE 0

END AS Option32

FROM

Vote

JOIN

VoteDetail ON Vote.Id = VoteDetail.VoteId

GROUP BY

Editor, AddTime;

```

这些示例展示了如何使用不同的编程语言和数据库技术来编写计票程序。根据具体需求,