Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

Someone just answer for me, but it only got 25%,please change the code below,or

ID: 3784031 • Letter: S

Question

Someone just answer for me, but it only got 25%,please change the code below,or make up your own:

#include <iostream>
#include <fstream>
#include <sstream>
#include <string>
#include <stdlib.h>
#include <cstdlib>
using namespace std;

struct saleItem{
    string type;
    int price; //e.g 100, 2987
    string itemStatus; //e.g wanted or for sale.... false or 0 is "for sale"
    //saleItem(){}; //constructor
};

int main(int argc, char *argv[]) {
   int index = 0;
   int counter=0;
   int itemsSold=0;
   int leftOver=0;
   saleItem itemArray[100]; //array from txt file
   saleItem wantItemArray[100];
   saleItem emptySaleItem;
       emptySaleItem.type = "";
       emptySaleItem.itemStatus = "no";
       emptySaleItem.price = 0;
   saleItem indexItem;
  
   for (int r=0; r<100; r++){ //clears array
       itemArray[r] = emptySaleItem;  
       wantItemArray[r] = emptySaleItem;
       counter++;
   }
  
   if (argc==2){ //checks for argument

       ifstream inFile;
       string data; // create an instance
       inFile.open(argv[1]); //open the file from argument

       if (inFile.good()){ //file open error check
           //cout<<"opened successfully"<<endl;
          
           while (getline(inFile, data)) { //read / get every line of the file & store it
               string token;
               stringstream ss(data); // create a string stream variable from string data
               ss << data;
               int indexTwo = 0;
               while (getline(ss, token, ',')){ //delimits by line
                   if (indexTwo == 0){
                       indexItem.type = token;
                   }
                   else if(indexTwo == 1){
                       indexItem.itemStatus = token;
                   }
                   else {
                       indexItem.price = std::stoi(token);
                   }
                   indexTwo++;
                   counter++;
               }

               if (indexItem.itemStatus == " wanted"){
                   wantItemArray[index]=indexItem;
                   itemArray[index]=emptySaleItem;
               }
               else{
                   itemArray[index]=indexItem;
                   wantItemArray[index]=emptySaleItem;
               }

               ss.clear();
               index++;
               counter++;
           }

It's like Craigslist, only different Read the entire assignment carefully before beginning. In this assignment, you're going to develop a simulated community message board that monitors items wanted and items for sale and looks for matches. When a match is found, e.g. there is a bike for sale for $50 and a bike wanted, where the buyer will pay up to $60, then the item is removed from the message board. There is a file on Moodle called messageBoard.txt that includes up to 100 wanted or for sale items in five categories: bike, microwave, dresser, truck, or chicken. Each line in the file is one item. Your program needs to open the file, read each line, and use an array of structs to store the available items. You can assume there will never be more than 100 lines in the file, therefore, you can declare an array of structs with a fixed size of 100 to represent the items available on the message board. Each struct represents an item and has a type, such as bicycle or truck, a price, and whether it is for sale or wanted. (You can treat for sale or wanted as an integer or Boolean, where 0 is for sale and 1 is wanted, for example. Your program needs to read the file until it reaches the end, and you can't assume there will always be 100 lines, there may be less. As lines are read from the file, you need to check if there is a match with the existing items in the message board. There are two options to consider Match is not found in the array If a match is not found in the array, add the item to the array at the first unused position e.g. if there are four items, add the item to position five Match is found in the array If a match is found, use the first match found and stop searching the array. Do not add the new item read from the file to the array. Remove the matched item from the array and shift the array to fill the gap left by the removed item. (Section 3.2.4 of your book shows the algorithm for deleting an item from an array and shifting.) Write the action performed to the terminal, formatted as

Explanation / Answer

i think this will work fine

#include<iostream>
#include<iomanip>
#include<fstream>
#include<string>
#include<sstream>
#include<vector>

using namespace std;

struct transaction
{
string item;
int cost;
};

int main()
{
transaction buy[100];
transaction sell[100];
int price;
int w, s;
ifstream myfile.open ("messageBoard.txt");
ofstream results.open ("results.txt");
string line;

}
myfile >> getline(myfile, buy[w], ' ');
if
if(!myfile)
{
cout<<"Error opening input file"<<endl;
return -1;
}
while(myfile, line)
{
if(line.find("wanted") != string::npos);
{
getline(myfile,buy[w].item);
getline(myfile,price);
stringstream(price) >> buy[w].cost;
}
}
while(myfile, line)
{
if(line.find("for sale") != string::npos);
{
getline(myfile,buy[s].item);
getline(myfile,price);
stringstream(price) >> buy[s].cost;
}
}
for(w=0; w<100; w++)
{
for(s=0; s<100; s++)
{
if(buy[w].item == sell[s].item && buy[w].cost <= sell[s].cost)
if (results.is_open())
{
results << buy[w] << " matches " << sell[s] << " ";
}
else
cout << "Unable to open output file." << endl;
buy[w] = 0;
sell[s] = 0;
}
}
results.close();
return 0;
}

Hire Me For All Your Tutoring Needs
Integrity-first tutoring: clear explanations, guidance, and feedback.
Drop an Email at
drjack9650@gmail.com
Chat Now And Get Quote