我不明白为什么我的部门的结果出现向下舍入?为什么我的分部结果显示为关闭?
#include <iostream>
#include <stdio.h>
using namespace std;
int rVote, oVote, dVote;
int rTotal, oTotal, dTotal, total;
int rPercent, dPercent, oPercent;
bool loop(char vote){
switch(toupper(vote)){
case 'D':
dVote = 1;
dTotal = dTotal + dVote;
return true;
case 'R':
rVote = 1;
rTotal = rTotal + rVote;
return true;
case 'O':
oVote = 1;
oTotal = oTotal + oVote;
return true;
case 'Q':
return false;
}
return true;
}
int main(){
char vote;
do{
printf("Enter Vote [D/R/O] or Q to quit: ");
scanf("%c%*c", &vote);
} while (loop(vote));
total = dTotal + rTotal + oTotal;
rPercent = ((rTotal/total)*100);
dPercent = ((dTotal/total)*100);
oPercent = ((oTotal/total)*100);
printf("Democrate total vote %d: %d%%\n", dTotal, dPercent);
printf("Republican total vote %d: %d%%\n", rTotal, rPercent);
printf("Other total vote %d: %d%%\n", oTotal, oPercent);
}
大,我是非常愚蠢的.... 为什么说任何不打印在这个C/C++程序的百分比值我*Percent
的吗?
谢谢。
这是做到这一点:也许因为它四舍五入为最接近%这样的事情可能更合适一个不是C/C++程序。这是一个唯一的C++程序,因为它不会编译为C.但是,它被编写为一个C程序。你应该选择其中的一个并且学习它,而不是学习两者之间的某种混合。尽管出现,他们是非常不同的语言。如果你决定使用C++,我会推荐[一本好的C++入门书](http://stackoverflow.com/q/388242/46642)。 –
我想成为一名C程序员,首先选择C语言,但在C++编程类atm中。老师似乎并不介意。所以主要是为什么我说我所有的代码都是用c格式写的。 –