Я написал функцию, которая принимает введенную пользователем строку и ищет в массиве эту строку, а затем использует индекс этого массива для выполнения некоторых операций.Я получаю сообщение об ошибке и не могу понять, почему.Я пытался использовать отладчик, но постоянно получаю сообщение об ошибке, в котором говорится, что он не скомпилирован с символами отладки.Мой профессор буквально не помогает, и университет заставляет нас использовать Atom на виртуальной машине, когда я привык к CodeBlocks.
#include <iostream>
#include <iomanip>
#include <fstream>
#include "Shareholder.h"
#include "Share.h"
using namespace std;
int numberOfLines();
Share *loadData(int size);
void shareholderData(Shareholder &sh);
void displayData(Share *myShare, int num);
void purchaseShares(Share *myShare, Shareholder &sh, int num);
void displayShareholder(Shareholder &sh);
void balanceAdjust(Shareholder &sh);
int main(){
int amount = numberOfLines();
Share *shares = loadData(amount);
displayData(shares, amount);
Shareholder shareholder1;
shareholderData(shareholder1);
purchaseShares(shares, shareholder1, amount);
delete shares;
shares = 0;
displayShareholder(shareholder1);
balanceAdjust(shareholder1);
exit(0);
}
//The fucntion i think is causing the issue
void purchaseShares(Share *myShare, Shareholder &sh, int num){
bool valid = false;
string comBought;
int sharesBought;
int match;
double invested, balance;
do{
cout << endl;
cout << setw(5) << "" << "Which company would you like to buy shares from? ";
cin.ignore();
getline(cin, comBought);
cout << setw(5) << "" << "How many shares would you like to buy? ";
cin >> sharesBought;
cout << endl;
for(int i = 0; i < num; i++){
string target = myShare[i].getCompanyName();
if(comBought == target){
match = i;
valid = true;
}
}
if (valid == false){
cout << setw(5) << "" << "Error! Invalid company! Please enter compnay from list.";
}
}while(valid == false);
invested = myShare[match].getPricePerShare() * sharesBought;
balance = sh.getAvailableBalance() - invested;
sh.setAmmountInvested(invested);
sh.setAvailableBalance(balance);
sh.setNumberofShare(sharesBought);
sh.setInvestmentCompany(myShare[match].getCompanyName());
}