at first, plec correct me this one...

std::string explanation; // this upper coding
    	char explanation; //after entering void to display

if(item_code=='A')
	explanation='BABY WEAR';
else if(item_code=='B')
	explanation='CHILDREN WEAR;
else if(item_code=='A')
	explanation='LADIES WEAR';
else if(item_code=='A')
	explanation='MENSWEAR';

BABY WEAR and others was error, what should i put?

plz correct my coding above one first, it it was take long time to solve coding down there.
sorrt, bcoz i really dont know..

plz correct me, im running my coding right now with non-stop study, and always refresh this page...

this is of mine that full, the new one...

#include<iostream>
#include<fstream>
#include<cstdlib>
#include<iomanip>
#include<string>

using std::cout;
using std::cin;
using std::endl;

struct RECORD
{
    std::string item_code;
    std::string item_number;
	std::string explanation;
    double price;
}input[10000];

void addRecord(RECORD input[], int &arraycounter);
void printRecord(RECORD input[]);
void printAllRecord(RECORD input[]);

int main()
{
    std::fstream submit;
    submit.open("jualan.dat",std::ios::in);
    submit.seekg(0, std::ios::beg);
    int arraycounter=0;

    do
    {
        submit>>input[arraycounter].item_number>>input[arraycounter].item_code>>input[arraycounter].price;
        arraycounter++;
    }
	
	while(submit.good());
    submit.close();
    arraycounter--;
    {
    	int menuEnter;
		do
			{
        		cout<<"\tFamily Outfit Shop"<<endl;
       			cout<<"\t    MAIN MENU"<<endl;
        		cout<<"\t-------------------"<<endl;
       			cout<<" 1 = Add a record\n";
				cout<<" 2 = Displays sales report for a category\n";
				cout<<" 3 = Displays sales report for all categories\n";
				cout<<" 4 = Exit";
				cout<<"\nEnter Menu Number : ";
				cin>>menuEnter;

        		if(menuEnter==1)
            		addRecord(input, arraycounter);
				else if (menuEnter==2)
            		printRecord(input);
        		else if (menuEnter==3)
            		printAllRecord(input);
			}
				while (menuEnter!=4);
    	return 0;
    }
    
   	void addRecord(RECORD input[], int arraycounter);
   	{
		char item_code; // code category
		char item_number;  // code number category

		cout<<"Enter code category : \n";
		cin>>input[arraycounter].item_code;
		cout<<"Enter code number of category : \n";
		cin>>input[arraycounter].item_number;
		arraycounter++;
   	}
    
    void printRecord(RECORD input[]);
    {
    	char item_code, item_number;
    	char explanation;
    	float price, total_sales;
    	
    	cout<<"Please enter category code : "<<endl;
    	cin>>item_code;
    		if(item_code=='A')
				explanation==BABY WEAR;
			else if(item_code=='B')
				explanation='CHILDREN WEAR';
			else if(item_code=='A')
				explanation='LADIES WEAR';
			else if(item_code=='A')
				explanation='MENSWEAR';

    	cout<<"SALES REPORT FOR "<<explanation<<endl;
		cout<<"\nItem Number\t\tPrice" << endl;
		cout<<"------------------------------"<<endl;
		cout<<item_code<<item_number<<"\t\t"<<price<<endl;
		cout<<"------------------------------"<<endl;
		cout<<"Total Sales\t\t"<<total_sales<<endl;
		cout<<endl;

switch(item_code)
{
	case'A':
	if(item_number==101)
	{
		price=10.00;
	}
	if(item_number==102)
	{
		price=5.00;
	}
	break;
	
	case'B':
	if(item_number==101)
	{
		price=12.00;
	}
	if(item_number==104)
	{
		price=20.00;
	}
	if(item_number==105)
	{
		price=20.00;
	}
	break;
	
	case'C':
	if(item_number==103)
	{
		price=12.00;
	}
	break;
	
	case'D':
	if(item_number==101)
	{
		price=12.00;
	}
	break;
}
    }
    
    void printAllRecord(RECORD input[]);
    {
		cout<<"SALES REPORT FOR ALL CATEGORIES"<<endl;
		cout<<"\nCategory\t\tSales" << endl;
		cout<<"------------------------------"<<endl;
		cout<<explanation<<"\t\t"<<price<<endl;
		cout<<"------------------------------"<<endl;
		cout<<"Total Sales\t\t"<<totalSales<<endl;
		cout<<endl;
}

this is the question. no.1, no problem, but no 2, and 3, but also 4. how to exit? but no1, does can repeat or back to menu? bcoz to add many record?


Family Outfit Shop decided to create a computerized system to maintain the shop inventory. The shop sells variety of garments and the garments are categorized to a particular group. Each category is given a code and the explanation for each code is given bellow.

CODE | EXPLANATION
A | baby wear
B | children wear
C | ladies wear
D | menswear

You as a programmer are required to write a program which contains a menu as bellow:

Family Outfit Shop
MAIN MENU
1)Add a record
2)Display sales report for a category
3)Display sales report for all category
4)Exit

Guideline
The program should give the user an option to choose any sub menu and it would only stop when the user choose the Exit sub menu.

1)Add a record
This sub menu will add a sales record for a particular garment into a file name jualan.dat. Each record consists of three fields which are item number, item code and price. The user may add more than one record at a time. You can use a sentinel value to control the loop. Assumed that file jualan.dat already exists. Example of file jualan.dat is shown as bellow:
A101= A =10.00
B101= B = 12.00
A102 =A= 5.00
B105= B = 17.00
C103 =C= 40.00
D101 =D = 15.00
B104 =B =20.00

2)Display sales report for a category
In this sub menu the sales report of a particular category will be displayed. The category shall be chosen by the user.

SALES REPORT FOR BABY WEAR
Item Number | Price
A101 | 10.00
A102 | 5.00
Total Sales | 15.00

3)Display sales report for all category
In this sub menu the sales report for all the categories will be displayed.

SALES REPORT FOR ALL CATEGORIES
Category Sales
Baby wear 15.00
Children wear 49.00
Ladies wear 40.00
Menswear 15.00
Total Sales 119.00

4)Exit
End of program.

Recommended Answers

All 7 Replies

at first, plec correct me this one...

if(item_code=='A') explanation='BABY WEAR';

BABY WEAR and others was error, what should i put?

Chars use single quotes, strings use double quotes:

if(item_code == 'A') explanation = "BABY WEAR";

Chars use single quotes, strings use double quotes:

if(item_code == 'A') explanation = "BABY WEAR";

so this should be

string explanation

plz complete ur solving, just in case, only that, bcoz im not that smart

One problem at a time; that is how you fix code.

I copied what you posted and ran it through GCC, which reported several warnings and errors. Before you worry about how to complete the assignment, you need to address these issues, one at a time, starting with the first one reported.

The first one I got was "warning: character constant too long for its type". That's referring to your confusion about single quotes versus double quotes. Go read about constants in C++ if you're still unsure of the difference.

Once you've fixed that, try and compile your code again. If there are still warnings or errors (there will be), post only the first error/warning message you get and a few lines of code around the line where the problem was reported. Then we can look at how to fix that problem.

First thing,
use double quotes to indicate name as pointed out above
Secondly,
i think giving the file extension is necessary... Eg:babywear.exe or babywear.cpp
What type of file is babywear ??

Btw, which version of c++ is this? I dont think ive come across explanation anywhere... (Thats obviously coz i dont know this).. So, some1 please enlighten me :)

cout<<"Please enter category code : "<<endl;
    	cin>>item_code;
    		if(item_code=='A')
				explanation==BABY WEAR;
			else if(item_code=='B')
				explanation='CHILDREN WEAR';
			else if(item_code=='A')
				explanation='LADIES WEAR';
			else if(item_code=='A')
				explanation='MENSWEAR';

Also, in the code mentioned above, the ladies wear and menswear arent reachable.. item_code if already 'A' goes to babywear... !! Its either 'A' or 'B'

If item_code is 'A' it goes to baby wear and doesnt even go to else
If item_code is 'B' it goes to if and then first else and then once it encounters item_code as 'B' it goes to childrens wear and doesnt see the else case.. So the last two options are unreachable !

i think giving the file extension is necessary... Eg:babywear.exe or babywear.cpp
What type of file is babywear ??

It's not a file, it's just text. No need for an extension.

which version of c++ is this? I dont think ive come across explanation anywhere... (Thats obviously coz i dont know this).. So, some1 please enlighten me :)

explanation is a field in the RECORD struct. It's not being used correctly in the original code that was posted, but we're getting to that.

Also, in the code mentioned above, the ladies wear and menswear arent reachable.. item_code if already 'A' goes to babywear... !! Its either 'A' or 'B'

If item_code is 'A' it goes to baby wear and doesnt even go to else
If item_code is 'B' it goes to if and then first else and then once it encounters item_code as 'B' it goes to childrens wear and doesnt see the else case.. So the last two options are unreachable !

Correct.

There are so many things wrong with this code, I'm just trying to deal with one problem at a time to keep it manageable.

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.