选票统计问题,太难,求个思路!!!

telescope 2004-11-21 06:00:04
问题是这样的:
有M个被选举人(已存入数据表中),在每个被选举人的6个指标上单选“好中差”,全部被选举人的全部指标都被选择后,结果被作为一张选票存入数据库;再录入下一张选票。。。。。
请问这个问题数据结构要如何设计,界面又如何设计呢?
...全文
411 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
Jigoodboy 2004-11-22
  • 打赏
  • 举报
回复
可以按选举美国总统那样投票啊~~!!
anguskwan 2004-11-21
  • 打赏
  • 举报
回复
一般都是不记名投票的吧
JackLucifer 2004-11-21
  • 打赏
  • 举报
回复
不好意思
没有注意到被选举人和选举人的区别
不过如果人数不是很多的话
我还是会基于上述方案去做
也就是说每一条记录记录的是一个选举人对一个被选举人的六项指标所作的选择
即:
ID 选举人名 被选举人名 指标1 指标2 指标3 指标4 指标5 指标6
1 Jack ABC 好 中 差 好 中 差
2 Mike ABC 好 中 差 好 中 差
3 Jack XYZ 好 中 差 好 中 差
......

这样要统计被选举人ABC得到多少选票的时候就可以直接通过SQL命令查询得知了。
界面的话还是可以采用我上面说的方法:通过单元格中的下拉列表框依次选择 选举人名称、被选举人名(这两项也可以手工输入)以及此后6项指标。


(供参考)

JackLucifer 2004-11-21
  • 打赏
  • 举报
回复
我觉得这样应该也可以

选举人、指标和指标的结果

由此得出数据表如下:
ID:记录ID
Name:选举人姓名
指标1
.
.
.
指标6

即:

ID Name 指标1 指标2 指标3 指标4 指标5 指标6
1 Jack 好 中 差 好 中 差
2 Mike 好 中 差 好 中 差
......


指标结果可以用字符型的“好中差”来表示,也可以用数字型的“012”来表示。
配置ID字段的目的是为了防止人名的重复。

另外,我个人认为一楼的朋友说的是对的,他的那种是内存中的数据结构,而我现在给出的则是数据表的结构(供参考)。

界面的话,如果你有第三方控件,比如ExpressQuantumGrid 4 Suite的话则最是方便了。
一张二维的grid,分别对应数据表的8列,好中差的结果选择只需要启用单元格中的下拉列表框即可,估计基本上连代码不用就可以完成了。


Good Luck。
samchoy 2004-11-21
  • 打赏
  • 举报
回复
那就:
三个表,一个选举人表,一个被选举人表,一个选票表

其中选票表的结构为:

选举人序号
被选举人序号
指标1: 文本2,内容为:好/中/差
...
指标6: 文本2,内容为:好/中/差

界面就用一个DBGrid,DBGrid中的项目为被选举人、指标1...指标6,其中指标用PickList以供选择
telescope 2004-11-21
  • 打赏
  • 举报
回复
看来楼上没有仔细考虑呀,你这只是一个被选举人的数据,不要忘了,数据表里有N个人呐,必须把这N个人的6项指标全选了,才是一张票!!
当然选民有很多,应该是每个选民都有一张选票,这些选票要保存,应该怎么构思???
samchoy 2004-11-21
  • 打赏
  • 举报
回复
很简单啊
数据结构:

序号
姓名
指标1: 整数, 0表示好, 1表示中, 2表示差
...
指标6: 整数, 0表示好, 1表示中, 2表示差

界面中用TComboBox或TRadioGroup来放置指标, 这样也好统计

1,178

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder 数据库及相关技术
社区管理员
  • 数据库及相关技术社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧