gpt4 book ai didi

c++ - 程序在 cout 上崩溃并出现新行 "\n"

转载 作者:行者123 更新时间:2023-12-02 01:45:27 24 4
gpt4 key购买 nike

这是我的主类,当程序到达主类中调用 calcAndDisplay 的部分时,它崩溃了。

    #include <iostream>
#include <iostream>
#include <iomanip>
#include "Chap1227.h"

using namespace std;

//function prototypes
double getBonusRate(double rate);
void columnsDashes();
void endPgm();


int main() {

double rate = 0.0;

//filling array
int salesArray[10][4] = {{2400, 3500, 2000, 2750},
{1500, 7000, 1000, 2225},
{2600, 2450, 2100, 2999},
{2790, 2240, 2500, 2885},
{2100, 2600, 2300, 3000},
{6300, 7000, 8000, 5550},
{3300, 1850, 2950, 2100},
{2700, 5500, 6000, 7200},
{4700, 4800, 4900, 5100},
{2375, 3300, 2550, 1925}};

getBonusRate(rate);

columnsDashes();

//bonus object
Bonus myBonus;

myBonus.calcAndDisplay(salesArray, rate);

endPgm();


return 0;
}

// ***** getBonusRate function description *****
//
double getBonusRate(double rate)
{
//display console title to user
cout << "JM SALES BONUS CALCULATOR\n\n";

//get bonus rate from user
cout << "Enter bonus rate in decimal form: ";
cin >> rate;
cout << "\n\n";

return rate;
}

// ***** columnsDashes function description *****
//
void columnsDashes()
{
//display column headings and dashes to user
cout << "Number Sales($) Bonus($)\n";
cout << "------ -------- --------";
}

// ***** endPgm function description *****
//
void endPgm()
{
//EOP message
cout << "\n\nEnd of Program.";
}

这是包含 calcAndDisplay 的 .h 文件,它可以工作,但打印的所有数字都没有空格,因此我将/n 添加到打印语句中,从那时起它就崩溃了。我尝试删除/n 但它仍然崩溃。我不确定问题是什么。

#ifndef CHAP1227_H_
#define CHAP1227_H_

#include <iostream>
#include <fstream>
#include <iomanip>

using namespace std;

// ***** CLASS DEFINITION *****
class Bonus
{
public:
Bonus();
void calcAndDisplay(int salesArray[10][4], double rate);

private:
int totSales;
int grandTotSales;
double salesBonus;
double bonusGrandTot;
};

// ***** CLASS IMPLEMENTATION *****
//default constructor
Bonus::Bonus()
{
totSales = 0;
grandTotSales = 0;
salesBonus = 0.0;
bonusGrandTot = 0.0;
}

//calcAndDisplay function
//
void Bonus::calcAndDisplay(int salesArray[10][4], double rate)
{



for (int row = 0; row < 10; row += 1)
{

for (int column = 0; column < 4; column += 1)
{

totSales += salesArray[row][column];

}
cout << totSales + "\n";
}

}


#endif /* CHAP1227_H_ */

最佳答案

我对你的说法表示怀疑:

I tried removing the /n but it still crashes.

因为这正是问题所在。

您需要更改:

cout << totSales + "\n";

至:

cout << totSales << "\n";

如果没有类型转换,您无法添加 double 型和字符串,但您可以连接流。 (请注意,您可以将 double 转换为字符串,但上面的方法更直接)。

关于c++ - 程序在 cout 上崩溃并出现新行 "\n",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43220768/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com