I was hoping you could look at this and tell me why my void summary is not working I cant figure it out, Thank You
/*
program name: David Early
-------------------what the user is asked for or enters---------------- INPUTS: -----------------what results from the user's input-------------------- OUTPUTS:
Chips and Salsa- name
Once this sales data has been entered, the program should produce a report that displays sales for each salsa type, total sales, and the names of the highest selling and lowest selling products.
Extra (4): use for-loops to cycle through the arrays. i.e. Whenever you are hardcoding an index/subscript (example: scores[0], scores[1], etc...) replace the hardcoded coding with a for-loop so that the subscript is done using the variable that controls the for-loop. (Loads of examples of this in the textbook and on the web.)
Extra (1): Initialize the starting values in the declaration statement of the array salsas instead of using assignment statements to assign the values one salsas element at a time.
// welcome screen mains
// the following is the quote on the flash screen
// the following will be the discription
using namespace std;
void splashscreen (); void welcome (); void getSalsaSales(string[], int[]); void summary(string[], int[], int, int ); int highest(int); int lowest(int); int validate(); const int SIZE = 5;
int main(int argc, char *argv[]) {
string salsa[SIZE]; int jars[SIZE]; splashscreen (); welcome (); salsa[0] = "mild"; salsa[1] = "medium"; salsa[2] = "sweet"; salsa[3] = "hot"; salsa[4] = "zesty";
getSalsaSales(salsa, jars); summary(salsa, jars, highest(jars), lowest(jars)); system("PAUSE"); return EXIT_SUCCESS;
}
int validate(string salsa) {
int jars; cin >> jars; while(jars < 0 ) { system("CLS"); cout << "\n\n\n\n\n\n\n\n\n\n" << "\n\t\t\t" << jars << " is an invalid number!\n" << "\n\t\t\t please enter a positive numbers!\n" << "\n\t\t\t Jars of " << salsa << " salsa : "; cin >> jars; system("CLS"); } return jars;
} int lowest(int jars[]) {
int lowest = jars[0]; if (jars[1] < jars[0]) { lowest = jars[1]; } else if (jars[2] < jars[1]) { lowest = jars[2]; } else if (jars[3] < jars[2]) { lowest = jars[3]; } else if (jars[4] < jars[3]) { lowest = jars[4]; } return lowest;
} int highest(int jars[]) {
int highest = jars[0]; if (jars[1] > jars[0]) { highest = jars[1]; } else if (jars[2] > jars[1]) { highest = jars[2]; } else if (jars[3] > jars[2]) { highest = jars[3]; } else if (jars[4] > jars[3]) { highest = jars[4]; } return highest;
} void summary(string salsa[SIZE], int jars[], int highest , int lowest ) {
cout << "\n\n\n\n\n\n\n\n" << "\t\t Salsa Type \t\t # of jars sold \n" << "\t\t________________________________\n" << "\t\t" << salsa[0] << " : " << jars[0] <<"\n" << "\t\t" << salsa[1] << " : " << jars[1] <<"\n" << "\t\t" << salsa[2] << " : " << jars[2] <<"\n" << "\t\t" << salsa[3] << " : " << jars[3] <<"\n" << "\t\t" << salsa[4] << " : " << jars[4] <<"\n" << "\n\t\t\t Highest : " << highest << "\n" << "\n\t\t\t Lowest : " << lowest << "\n";
} void getSalsaSales(string salsa[], int jars[]) {
cout << "\n\n\n\n\n\n\n\n\n\n"; cout << "\n\n\t\t\t Please enter jars of salsa \n\n"; cout << "\n\n\n\n\n\n\n\n\n\n"; system("PAUSE"); system("CLS"); cout << "\n\n\n\n\n\n\n\n\n\n"; cout << "\t\t\t Jars of " << salsa[0] <<" salsa : "; jars[0] = validate(salsa[0]); system("CLS"); cout << "\n\n\n\n\n\n\n\n\n\n"; cout << "\t\t\t Jars of " << salsa[1] <<" salsa : "; jars[1] = validate(salsa[1]); system("CLS"); cout << "\n\n\n\n\n\n\n\n\n\n"; cout << "\t\t\t Jars of " << salsa[2] <<" salsa : "; jars[2] = validate(salsa[2]); system("CLS"); cout << "\n\n\n\n\n\n\n\n\n\n"; cout << "\t\t\t Jars of " << salsa[3] <<" salsa : "; jars[3] = validate(salsa[3]); system("CLS"); cout << "\n\n\n\n\n\n\n\n\n\n"; cout << "\t\t\t Jars of " << salsa[4] <<" salsa : "; jars[4] = validate(salsa[4]);
} void splashscreen ()//function definition {
cout << " _____________________________________________ \n " << " //:::::::::::::::::::::::::::::::::::::::::::::\\\\ \n" << " //:::_______:::::::::________::::::::::_____:::::::\\\\ \n" << " //:::_/ _-\"\":::_--\"\"\" \"\"\"--_::::\\_ ):::::::::\\\\ \n" << " //:::/ /:::::_\" \"-_:::\\/:::::|^\\:::\\\\ \n " << " //:::/ /~::::::I__ \\:::::::::| \\:::\\\\ \n " << " \\\\:::\\ (::::::::::\"\"\"\"---___________ \"--------\" /:::// \n " << " \\\\:::\\ |::::::::::::::::::::::::::::\"\"\"\"==____ /:::// \n " << " \\\\:::\"\\/::::::::::::::::::::::::::::::::::::::\\ /~:::// \n " << " \\\\:::::::::::::::::::::::::::::::::::::::::::)/~:::// \n " << " \\\\::::\\\"\"\"\"\"\"------_____:::::::::::::::::::::::// \n " << " \\\\:::\"\\ \"\"\"\"\"-----_____::::::// \n " << " \\\\:::\"\\ __----__ ):::// \n " << " \\\\:::\"\\/~::::::::~\\_ __/~::// \n " << " \\\\::::::::::::::::\"\"----\"\"\"::::// \n " << " \\\\:::::::::::::::::::::::::// \n " << " \\\\:::\\^\"\"--._.--\"\"^/:::// \n " << " \\\\::\"\\ /\"::// \n " << " \\\\::\"\\ /\"::// \n " << " \\\\::\"\\_/\"::// \n " << " \\\\:::::// " << line1P << " \n " << " \\\\_// " << line2P << " \n " << " \" \t\t " << line3P <<" \n " ; system("PAUSE"); system ("cls");
} void welcome ()//function definition {
cout << " \n\n\n\n\n " << " \n\t/--------------------------------------------------------------\\ " << " \n\t| About This Program | " << " \n\t+--------------------------------------------------------------+ " << " \n\t| | " << " \n\t| Programmer's Name:" who " | " << " \n\t| Date:" when " | " << " \n\t| Name of program:" assiegnment " | " << " \n\t| /-------------------- Description --------------------\\ | " << " \n\t| |" line1W "| | " << " \n\t| |" line2W "| | " << " \n\t| \\-----------------------------------------------------/ | " << " \n\t\\--------------------------------------------------------------/ " << " \n\n\n\n\n\n\n "; system("PAUSE"); system("cls");
}
Hello David.
It's nice to hear from you again. The problem with the program is that the lowest and highest functions just don't work. You need a different algorithm. To see why, look at the lowest function. Imagine jars[4] to be the lowest, but then if jars[1] < jars[0], then jars[4] is never even looked at. To find the lowest, you need to set lowest to the first jar, as you have done. Then you need to compare the rest of the jars against lowest, not against each other. Each time you find a jar lower than lowest, the lowest takes on the value of that jar.
A similar change has to be done for the highest function. Give that a try and let me know how you do.
Also, correct your version of these lines:
line 36
lines 50 and 51 int highest(int[]); // ZM change int to int[] int lowest(int[]); // ZM change int to int[]
Advertisement