电子投票平台c++实现Word文件下载.docx
- 文档编号:5118222
- 上传时间:2023-05-04
- 格式:DOCX
- 页数:21
- 大小:17.74KB
电子投票平台c++实现Word文件下载.docx
《电子投票平台c++实现Word文件下载.docx》由会员分享,可在线阅读,更多相关《电子投票平台c++实现Word文件下载.docx(21页珍藏版)》请在冰点文库上搜索。
classCandidate
{
private:
stringname;
/*******************************************************************************候选人姓名*/
stringbriefintroduction;
/******************************************************************候选人简介*/
intnumber;
/**********************************************************************候选人编号,以便投票*/
intpover;
/*******************************************************************************候选人得票数*/
public:
Candidate(void);
Candidate(intnum,stringn,stringintro,intp);
stringgetName()const;
stringgetBriefintroduction()const;
intgetNumber()const;
intgetPover()const;
voiddisplaycandidate()const;
intsetNumber(intn);
stringsetName(stringn);
stringsetBriefintroduction(stringintro);
intsetPover(intp);
~Candidate(void);
};
Candidate:
:
Candidate(void)
name="
"
;
briefintroduction="
number=0;
pover=0;
}
/*********************************************************************************构造函数的重载,实现赋值*/
Candidate(intnum,stringn,stringintro,intp)
name=n;
briefintroduction=intro;
number=num;
pover=p;
intCandidate:
getPover()const
returnpover;
stringCandidate:
getBriefintroduction()const
returnbriefintroduction;
getName()const
returnname;
getNumber()const
returnnumber;
/***************************************************************************************候选人相关信息显示*/
voidCandidate:
displaycandidate()const
cout<
<
编号:
"
number<
endl;
名字:
name<
简介:
briefintroduction<
得票数:
pover<
setNumber(intnum)
returnnumber;
setName(stringn)
setBriefintroduction(stringintro)
;
setPover(intp)
/*************************************************************************************************析构函数*/
~Candidate(void)
/*********************************************************************************定义排序方式,为从大到小*/
boolNumcomp(Candidatea,Candidateb)
returna.getPover()>
b.getPover();
vector<
Candidate>
candidates;
/*****************************************************定义全局变量,以便操作*/
intmain()
stringusername;
stringcode;
stringtempname;
stringtempcode;
intchoice;
ifstreamfin1("
code.txt"
);
/*****************************************打开存放密码的文本文件以便用户登录*/
fin1>
>
username>
code;
fin1.close();
ifstreamfin2("
candidate.txt"
while(true)
{
intpover;
if(fin2.eof())break;
fin2>
number>
name>
briefintroduction>
pover;
if(number!
=0&
&
name!
="
briefintroduction!
)
{
Candidatecandidate(number,name,briefintroduction,pover);
candidates.push_back(candidate);
}
}
fin2.close();
system("
cls"
cout<
==============================================================================="
=================================电子投票系统=================================="
1.管理员"
2.游客"
3.退出"
cin>
choice;
switch(choice)
{/******************************************************************************管理员登陆实现部分*/
case1:
cout<
姓名:
cin>
tempname;
if(tempname==username)
{
cout<
密码:
cin>
tempcode;
if(tempcode==code)
{
while(true)
{
charchoice1;
system("
constintmenu=5;
charmenus[menu][30]={"
1.初始化候选人"
"
2.浏览候选人"
3.修改候选人"
4.修改密码"
5.退出"
cout<
===================================电子投票系统================================"
for(inti=0;
i<
menu;
i++)
{
cout<
menus[i]<
}
cin>
choice1;
doMainmenu(choice1);
pause"
}
}
else
密码错误"
else
cout<
该管理员不存在!
system("
break;
/*****************************************************************************游客登陆实现部分*/
case2:
while(true)
charchoice1;
constintmenu=3;
charmenus[menu][30]={"
1.浏览候选人"
2.投票"
for(inti=0;
i++)
cin>
doMainmenu2(choice1);
case3:
exit(0);
default:
您输入错误,请核对!
system("
return0;
/***************************************************************************管理员操作函数,进行相关的操作*/
voiddoMainmenu(charch)
switch(ch)
case'
1'
初始化候选人"
Initialization();
break;
2'
候选人相关信息(目前)"
sort(candidates.begin(),candidates.end(),Numcomp);
for(inti=0;
candidates.size();
\t\t\t\t\t第"
i+1<
名"
candidates.at(i).displaycandidate();
3'
修改候选人"
changecandidate();
4'
修改密码"
changecode();
5'
savecandidate();
exit(0);
default:
}
/*********************************************************************************初始化候选人函数定义部分*/
voidInitialization()
candidates.clear();
intpover=0;
charchoice='
y'
while(choice=='
输入候选者编号:
number;
while(number<
=candidates.size())
此编号的候选人已经存在,请重新输入:
输入候选者姓名:
name;
输入候选人简介:
briefintroduction;
Candidatecandidate(number,name,briefintroduction,0);
candidates.push_back(candidate);
添加成功!
是否继续添加候选人?
y/n:
/*************************************************************************************保存候选人的相关信息*/
voidsavecandidate()
ofstreamfout("
for(inti=0;
fout<
candidates.at(i).getNumber()<
\t"
candidates.at(i).getName()<
<
candidates.at(i).getBriefintroduction()<
candidates.at(i).getPover()<
fout.close();
/*************************************************************************修改候选人相关信息的函数定义部分*/
voidchangecandidate()
charchoice;
charm='
intcount;
请输入您要修改的编号"
cin>
if(number==candidates.at(i).getNumber())
count=i;
candidates.at(i).displaycandidate();
constintmenu_1=4;
charmenui[menu_1][30]={"
1.修改编号"
2.修改姓名"
3.修改简介"
4.修改得票数"
while(m=='
menu_1;
menui[i]<
cin>
switch(choice)
case'
修改编号:
candidates.at(count).setNumber(number);
case'
修改姓名:
candidates.at(count).setName(name);
break;
case'
修改简介:
candidates.at(count).setBriefintroduction(briefintroduction);
修改得票数:
candidates.at(count).setPover(p
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 电子 投票 平台 c+ 实现