2017-04-05 2 views
0

これは私のメインクラスで、プログラムがcalcAndDisplayを呼び出すメインの部分に到達するとクラッシュします。新しい行でプログラムがクラッシュする " n"

#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ファイルで、それが働いていたが、スペースなしで印刷すべての数字は、私はprint文に/ 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_ */ 

答えて

0

私はあなたの主張の怪しげなよ:

私は/を削除しようとしたn個が、それはまだクラッシュします。

これは問題のある場所です。あなたはダブル、型変換せずに文字列を追加しないでき

cout << totSales << "\n"; 

ができますが、ストリームを連結することができます

cout << totSales + "\n"; 

へ:

あなたが変更する必要があります。 (ダブルを文字列に変換することができますが、上記はより単純です)。

+0

ありがとうございました。私は\ nを削除しましたが、+は削除しましたが、もうちょっと混乱しました。 –

関連する問題