If/Then errors...

Hello everyone. I've been looking for quite some time for a solution, and can't quite come up with anything.

Yes, this is homework. I've solved the problem itself, but can't quite seem to figure out how come I keep getting an error in lines 70 and 97: "expected primary-expression before 'else'" and also "expected ';' before 'else'"... I just can't figure it out! I don't know what it means by primary-expression other than that it perhaps can't locate the if statement that it's supposed to be attached to...

I've just started programming in C++, only have a couple weeks at this, so it's probably something pretty basic, but I'd be really appreciative if someone could kindly point out what's wrong here. Thanks in advance!!!

-Scooter_X





1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
// File Prologue
// Author: Riley Loader
// Course: CS-129R
// Project: Lab One
// Date: August 29, 2008
// --------------------------------

// I declare that the following source code was written solely by me.
// I understand that copying any source code, in whole or in part,
// constitutes cheating, and that I will receive a zero grade on this
// project if I am found in violation of this policy. 

#include <iostream>
#include <string>
using namespace std;

int main ( )
{
	
	int method;
	char category;
	char hawaii_alaska;
	int packageCount;
	float perPackage;
	float surcharge;
	float totalCost;
	float pounds;
	float perPound;
	
	cout << "\nPlease enter shipping method (1, 2 or 3): ";
	cin >> method;
	cout << endl;
	
	
	//if they pick method 1, this runs them down to category a, alaska y
	if (method == 1)
	{
		cout << "\nUnder which category do you want your shipment processed? (A or B): ";
		cin >> category;
		cout << endl;
		
		if (category == 'A')
			{
			 perPackage = 3;
			
			 cout << "\nHow many packages?" << endl;
			 cin >> packageCount;
			 cout << endl;
			 cout << "\nIs this going to either Hawaii or Alaska? (Y/N)";
			 cin >> hawaii_alaska;
			 cout << endl;
			 }
			
			if (hawaii_alaska == 'Y')
				{ surcharge = 2.5;
				totalCost = perPackage * packageCount + surcharge;
				cout << "\nStandard Shipping";
				cout << "\n" << packageCount << " packages." ;
				cout << "\nTotal Shipping Cost: " << totalCost << endl;
				}
			else //alaska n
				{surcharge = 2.5;
				    totalCost = perPackage * packageCount;
					cout << "\nStandard Shipping";
					cout << "\n" << packageCount << " packages." ;
					cout << "\nTotal Shipping Cost: " << totalCost << endl;
				
				}
		
		else
		{
			perPound = 1.45
			cout << "\nHow many pounds does your total shipment weigh?";
			cin >> pounds;
			cout << endl;
			cout << "\nIs this going to either Hawaii or Alaska? (Y/N)";
			cin >> hawaii_alaska;
			cout << endl;
			
			if (hawaii_alaska == 'Y')
				{ surcharge = 2.5;
				totalCost = perPound * pounds + surcharge;
				cout << "\nStandard Shipping";
				cout << "\n" << pounds << " pounds." ;
				cout << "\nTotal Shipping Cost: " << totalCost << endl;
				}
			else //alaska n
				{surcharge = 2.5;
				    totalCost = perPound * pounds;
					cout << "\nStandard Shipping";
					cout << "\n" << pounds << " pounds." ;
					cout << "\nTotal Shipping Cost: " << totalCost << endl;
				
				}	
				
		}	
	 else if (method == 2)
	{
		cout << "\nUnder which category do you want your shipment processed? (A or B): ";
		cin >> category;
		cout << endl;
		
		if (category == 'A')
			{
			 perPackage = 4;
			
			 cout << "\nHow many packages?" << endl;
			 cin >> packageCount;
			 cout << endl;
			 cout << "\nIs this going to either Hawaii or Alaska? (Y/N)";
			 cin >> hawaii_alaska;
			 cout << endl;
			 }
			
			if (hawaii_alaska == 'Y')
				{ surcharge = 5;
				totalCost = perPackage * packageCount + surcharge;
				cout << "\nStandard Shipping";
				cout << "\n" << packageCount << " packages." ;
				cout << "\nTotal Shipping Cost: " << totalCost << endl;
				}
			else //alaska n
				{
				    totalCost = perPackage * packageCount;
					cout << "\nStandard Shipping";
					cout << "\n" << packageCount << " packages." ;
					cout << "\nTotal Shipping Cost: " << totalCost << endl;
				
				}
		
		else
			{
			perPound = 2.5
			cout << "\nHow many pounds does your total shipment weigh?";
			cin >> pounds;
			cout << endl;
			cout << "\nIs this going to either Hawaii or Alaska? (Y/N)";
			cin >> hawaii_alaska;
			cout << endl;
			}
			if (hawaii_alaska == 'Y')
				{ surcharge = 5;
				totalCost = perPound * pounds + surcharge;
				cout << "\nStandard Shipping";
				cout << "\n" << pounds << " pounds." ;
				cout << "\nTotal Shipping Cost: " << totalCost << endl;
				}
			else //alaska n
				{
				    totalCost = perPound * pounds;
					cout << "\nStandard Shipping";
					cout << "\n" << pounds << " pounds." ;
					cout << "\nTotal Shipping Cost: " << totalCost << endl;
				
				}				
	else 
	
		cout << "\nUnder which category do you want your shipment processed? (A or B): ";
		cin >> category;
		cout << endl;
		
		if (category == 'A')
			{
			 perPackage = 5.5;
			
			 cout << "\nHow many packages?" << endl;
			 cin >> packageCount;
			 cout << endl;
			 cout << "\nIs this going to either Hawaii or Alaska? (Y/N)";
			 cin >> hawaii_alaska;
			 cout << endl;
			 }
			
			if (hawaii_alaska == 'Y')
				{ surcharge = 8;
				totalCost = perPackage * packageCount + surcharge;
				cout << "\nStandard Shipping";
				cout << "\n" << packageCount << " packages." ;
				cout << "\nTotal Shipping Cost: " << totalCost << endl;
				}
			else //alaska n
				{
				    totalCost = perPackage * packageCount;
					cout << "\nStandard Shipping";
					cout << "\n" << packageCount << " packages." ;
					cout << "\nTotal Shipping Cost: " << totalCost << endl;
				
				}
		
		else
			{
			perPound = 3
			cout << "\nHow many pounds does your total shipment weigh?";
			cin >> pounds;
			cout << endl;
			cout << "\nIs this going to either Hawaii or Alaska? (Y/N)";
			cin >> hawaii_alaska;
			cout << endl;
			}
			if (hawaii_alaska == 'Y')
				{ surcharge = 8;
				totalCost = perPound * pounds + surcharge;
				cout << "\nStandard Shipping";
				cout << "\n" << pounds << " pounds." ;
				cout << "\nTotal Shipping Cost: " << totalCost << endl;
				}
			else //alaska n
				{
				    totalCost = perPound * pounds;
					cout << "\nStandard Shipping";
					cout << "\n" << pounds << " pounds." ;
					cout << "\nTotal Shipping Cost: " << totalCost << endl;
				
				}							
	}
	}
	
	
	
	system ("PAUSE");
	return 0;
	}

Line 156, your else has no opening brace. Also, try to indent your code better, it was hard to tell which braces ended what at the end.
Yea sorry about the spaces...

I put one on line 156 and didn't get any different result. ... it must be another bracket that's screwed up above that... I'll keep staring blankly at it. ;) If anyone else can also see something wrong, let me know. Thanks!!
O_O Lots of indentation errors (No offense, is normal). I did corrected them all, but now it is returning these errors:

C:\Codes\C++\C++ Projects\DELETETHIS.c||In function `int main()':|
C:\Codes\C++\C++ Projects\DELETETHIS.c|194|error: expected `;' before "cout"|
C:\Codes\C++\C++ Projects\DELETETHIS.c|220|error: expected constructor, destructor, or type conversion before '(' token|
C:\Codes\C++\C++ Projects\DELETETHIS.c|221|error: expected unqualified-id before "return"|
C:\Codes\C++\C++ Projects\DELETETHIS.c|222|error: expected declaration before '}' token|
||=== Build finished: 4 errors, 0 warnings ===|

(Ignore the ; before cout...)

Any idea?

[edit] Forgetted put the new code >.>""""

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
// File Prologue
// Author: Riley Loader
// Course: CS-129R
// Project: Lab One
// Date: August 29, 2008
// --------------------------------

// I declare that the following source code was written solely by me.
// I understand that copying any source code, in whole or in part,
// constitutes cheating, and that I will receive a zero grade on this
// project if I am found in violation of this policy.

#include <iostream>
#include <string>
using namespace std;

int main ( )
{

	int method;
	char category;
	char hawaii_alaska;
	int packageCount;
	float perPackage;
	float surcharge;
	float totalCost;
	float pounds;
	float perPound;

	cout << "\nPlease enter shipping method (1, 2 or 3): ";
	cin >> method;
	cout << endl;


	//if they pick method 1, this runs them down to category a, alaska y
	if (method == 1)
	{
		cout << "\nUnder which category do you want your shipment processed? (A or B): ";
		cin >> category;
		cout << endl;

		if (category == 'A')
			{
			 perPackage = 3;

			 cout << "\nHow many packages?" << endl;
			 cin >> packageCount;
			 cout << endl;
			 cout << "\nIs this going to either Hawaii or Alaska? (Y/N)";
			 cin >> hawaii_alaska;
			 cout << endl;


			if (hawaii_alaska == 'Y')
				{ surcharge = 2.5;
				totalCost = perPackage * packageCount + surcharge;
				cout << "\nStandard Shipping";
				cout << "\n" << packageCount << " packages." ;
				cout << "\nTotal Shipping Cost: " << totalCost << endl;
				}
			else //alaska n
				{surcharge = 2.5;
				    totalCost = perPackage * packageCount;
					cout << "\nStandard Shipping";
					cout << "\n" << packageCount << " packages." ;
					cout << "\nTotal Shipping Cost: " << totalCost << endl;

				}
			}
		else
		{
			perPound = 1.45;
			cout << "\nHow many pounds does your total shipment weigh?";
			cin >> pounds;
			cout << endl;
			cout << "\nIs this going to either Hawaii or Alaska? (Y/N)";
			cin >> hawaii_alaska;
			cout << endl;

			if (hawaii_alaska == 'Y')
				{ surcharge = 2.5;
				totalCost = perPound * pounds + surcharge;
				cout << "\nStandard Shipping";
				cout << "\n" << pounds << " pounds." ;
				cout << "\nTotal Shipping Cost: " << totalCost << endl;
				}
			else //alaska n
				{surcharge = 2.5;
				    totalCost = perPound * pounds;
					cout << "\nStandard Shipping";
					cout << "\n" << pounds << " pounds." ;
					cout << "\nTotal Shipping Cost: " << totalCost << endl;

				}

		}
	}
	 else if (method == 2)
	{
		cout << "\nUnder which category do you want your shipment processed? (A or B): ";
		cin >> category;
		cout << endl;

		if (category == 'A')
			{
			 perPackage = 4;

			 cout << "\nHow many packages?" << endl;
			 cin >> packageCount;
			 cout << endl;
			 cout << "\nIs this going to either Hawaii or Alaska? (Y/N)";
			 cin >> hawaii_alaska;
			 cout << endl;


			if (hawaii_alaska == 'Y')
				{ surcharge = 5;
				totalCost = perPackage * packageCount + surcharge;
				cout << "\nStandard Shipping";
				cout << "\n" << packageCount << " packages." ;
				cout << "\nTotal Shipping Cost: " << totalCost << endl;
				}
			else //alaska n
				{
				    totalCost = perPackage * packageCount;
					cout << "\nStandard Shipping";
					cout << "\n" << packageCount << " packages." ;
					cout << "\nTotal Shipping Cost: " << totalCost << endl;

				}
			}
		else
			{
			perPound = 2.5;
			cout << "\nHow many pounds does your total shipment weigh?";
			cin >> pounds;
			cout << endl;
			cout << "\nIs this going to either Hawaii or Alaska? (Y/N)";
			cin >> hawaii_alaska;
			cout << endl;
			}
			if (hawaii_alaska == 'Y')
				{ surcharge = 5;
				totalCost = perPound * pounds + surcharge;
				cout << "\nStandard Shipping";
				cout << "\n" << pounds << " pounds." ;
				cout << "\nTotal Shipping Cost: " << totalCost << endl;
				}
			else //alaska n
				{
				    totalCost = perPound * pounds;
					cout << "\nStandard Shipping";
					cout << "\n" << pounds << " pounds." ;
					cout << "\nTotal Shipping Cost: " << totalCost << endl;

				}  }
	else

		cout << "\nUnder which category do you want your shipment processed? (A or B): ";
		cin >> category;
		cout << endl;

		if (category == 'A')
			{
			 perPackage = 5.5;

			 cout << "\nHow many packages?" << endl;
			 cin >> packageCount;
			 cout << endl;
			 cout << "\nIs this going to either Hawaii or Alaska? (Y/N)";
			 cin >> hawaii_alaska;
			 cout << endl;


			if (hawaii_alaska == 'Y')
				{ surcharge = 8;
				totalCost = perPackage * packageCount + surcharge;
				cout << "\nStandard Shipping";
				cout << "\n" << packageCount << " packages." ;
				cout << "\nTotal Shipping Cost: " << totalCost << endl;
				}
			else //alaska n
				{
				    totalCost = perPackage * packageCount;
					cout << "\nStandard Shipping";
					cout << "\n" << packageCount << " packages." ;
					cout << "\nTotal Shipping Cost: " << totalCost << endl;

				}
}
		else
			{
			perPound = 3
			cout << "\nHow many pounds does your total shipment weigh?";
			cin >> pounds;
			cout << endl;
			cout << "\nIs this going to either Hawaii or Alaska? (Y/N)";
			cin >> hawaii_alaska;
			cout << endl;
			}
			if (hawaii_alaska == 'Y')
				{ surcharge = 8;
				totalCost = perPound * pounds + surcharge;
				cout << "\nStandard Shipping";
				cout << "\n" << pounds << " pounds." ;
				cout << "\nTotal Shipping Cost: " << totalCost << endl;
				}
			else //alaska n
				{
				    totalCost = perPound * pounds;
					cout << "\nStandard Shipping";
					cout << "\n" << pounds << " pounds." ;
					cout << "\nTotal Shipping Cost: " << totalCost << endl;

				}
	}



	system ("PAUSE");
	return 0;
	}
Last edited on
I think you have a brace error at 216, but it's hard to tell with the bracing style being inconsistent. (I.e. you might have other brace errors...)
Ah... Found the last error! Is line 216 bracket!...
Thanks a lot you guys for your help on this! I was stressing pretty bad over it last night an hour before it was due. A friend called a friend and I basically figured out that my indentation needed help so I could see which {french braces} were screwed up. I had fixed the initial 2 errors, but the compiler kept returning more errors as I fixed the original ones. But I untied all the knots and all is well now...

And thank you HeatMan (sounds like a Mega Man villain... ) for lining up everything for me. It's good to have the visual. I don't have a laptop, and in the class we only discuss what's going on, and he projects what he has onto the overhead, so by the time I get to a computer I'm starting from scratch again and have to figure it all out. O_o

Thanks all!

:\myprojects\tran_project\test\test\test\test.cpp(61) : error C2181: illegal else without matching if
d:\myprojects\tran_project\test\test\test\test.cpp(64) : warning C4305: '=' : truncation from 'double' to 'float'
d:\myprojects\tran_project\test\test\test\test.cpp(64) : error C2146: syntax error : missing ';' before identifier 'cout'
d:\myprojects\tran_project\test\test\test\test.cpp(88) : error C2181: illegal else without matching if
d:\myprojects\tran_project\test\test\test\test.cpp(122) : error C2181: illegal else without matching if
d:\myprojects\tran_project\test\test\test\test.cpp(125) : error C2146: syntax error : missing ';' before identifier 'cout'
d:\myprojects\tran_project\test\test\test\test.cpp(147) : error C2181: illegal else without matching if
d:\myprojects\tran_project\test\test\test\test.cpp(181) : error C2181: illegal else without matching if
d:\myprojects\tran_project\test\test\test\test.cpp(184) : error C2146: syntax error : missing ';' before identifier 'cout'
;>
come on ,guy
Topic archived. No new replies allowed.