C++ C++;需要帮助修复以获得所需的输出吗

C++ C++;需要帮助修复以获得所需的输出吗,c++,visual-studio,C++,Visual Studio,我正在进行一项编程挑战,来自“从C++开始:早期对象,第10版”。我已经完成了大约一半的代码,但是输出并没有达到预期的效果,我想知道如何修复它。我在这里附上了它和期望的输出 printf("%-10s%10s%10s\n", "day", "start", "end"); for(int i = 0; i < 30; i++) printf("="); printf(&qu

我正在进行一项编程挑战,来自“从C++开始:早期对象,第10版”。我已经完成了大约一半的代码,但是输出并没有达到预期的效果,我想知道如何修复它。我在这里附上了它和期望的输出

printf("%-10s%10s%10s\n", "day", "start", "end");
for(int i = 0; i < 30; i++)
    printf("=");
    
printf("\n");
for (int i = 0; i < num_of_days_to_multiply; i++)
{
    printf("%-10u%10.2lf", i + 1, starting_num_of_organisms);

    starting_num_of_organisms +=
        (starting_num_of_organisms *
            average_daily_population_increase);
    printf("%10.2lf\n", starting_num_of_organisms);
}
#包括
使用名称空间std;
int main()
{
浮游生物的数量,
平均每日人口增长,
每日人口的规模;
int num_of_days_to_multiply;
cout>起始生物数)| |起始生物数<2){

cout您的代码似乎进行了正确的计算。只需格式化输出,它就会看起来像所需的输出

printf("%-10s%10s%10s\n", "day", "start", "end");
for(int i = 0; i < 30; i++)
    printf("=");
    
printf("\n");
for (int i = 0; i < num_of_days_to_multiply; i++)
{
    printf("%-10u%10.2lf", i + 1, starting_num_of_organisms);

    starting_num_of_organisms +=
        (starting_num_of_organisms *
            average_daily_population_increase);
    printf("%10.2lf\n", starting_num_of_organisms);
}

为什么每个C++问题都用在哪里?你的原始程序的输出在哪里?抱歉,如果我错过了…我只看到想要的输出。我会编辑它并显示当前输出!@超级StReMulMeor,因为每个教程网站上的该死的,大学源代码参考文本,或者非法的草本SHILDT ESK书都是C++的。(我觉得这很讽刺;他们不能“教他们如何使用标准容器、迭代器或算法,但他们教他们垃圾,比如
使用namespace std;
)@JakeSchultz您试图解决的实际问题是什么?您的输出中的数字与预期的数字非常接近,那么实际问题是什么?您是否意识到浮点数学并不精确?或者问题只是以与预期输出相同的方式格式化数字(即在列中)?请澄清实际问题。查看和使用<代码> STD::CUT<代码>代替“代码> Prtff())/Cuth>(BTW,C++代码应该使用<代码> <代码>和<代码> STD::Prtff()/Cuth>而不是<代码> <代码>和<代码>::.@RemyLebeau是的,这些会对cout起作用。确保包含,这样编译器就不会对你大喊大叫。对于格式严重的输出,我发现printf更容易阅读和编写。它也更紧凑。添加了C++20,类似于
sprintf()
,但更安全。@RemyLebeau我不知道C++20的格式()坦率地说,C++ 20在大多数编译器中都不是默认的,包括Sigdio和CSTDIO,它几乎没有什么区别。只是命名空间语义,基本上如果你不说出你自己的PrTrF函数,它就没有什么区别。非常感谢你!到目前为止C++是很棘手的,但是当我学习时,我会感到兴奋。所以我感谢你的帮助!