Intellisense: expected a ';'

I can't see where though. I've listed where the red line comes up where the error is, but I can't see the problem.

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
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253

#include<stdio.h>
#include<stdlib.h>
#include<time.h>

void randomnumber();
void PressureSensor();
void GripAsensor();
void GripBsensor();
void MotorControl();
void GripA();
void GripB();

int pressure, grippera, gripperb;
int D0,D1,D2,D3,D4,D5,RN;
int Digital_Input, Digital_Output;
char answer, S;

int main()		

{
		{
			printf("You have accessed the Robotic System microprocessor");
			printf("Press 'S' to Start");
			scanf("%c",&S);
		}


void randomnumber()

	{								//somewhere around here
			srand (time(NULL));
			RN=(int(rand()%2));

			return RN;

	}


void PressureSensor

{
	randomnumber()

	
	if (RN=1)

		{
			printf("The Pressure level detected is Sufficient");

		}

	if (RN=0)

		{
			printf("The Pressure level detected is Insufficient");

		}
}

void GripAsensor

{
	randomnumber()

		if (RN=1)

		{
			printf("The Sensor has detected the Object and will be attaching shortly");
			printf("Top Gripper now attached to Object");

		}

	if (RN=0)

		{
			printf("The Sensor has detected no Object, make sure Robot is in range for Top Gripper to attach");

		}

}

void GripBsensor

{
	randomnumber()

		if (RN=1)

		{
			printf("The Sensor has detected the Object and will be attaching shortly");
			printf("Bottom Gripper now attached to Object");

		}

	if (RN=0)

		{
			printf("The Sensor has detected no Object, make sure Robot is in range for Bottom Gripper to attach");

		}

}

void MotorControl()

{
	PressureSensor()

	if (D0=1)

		{
			printf("Motor is moving Forward");
		}	

	else
		{
			printf("The motor is not moving");
		}
	
	if  (D1=1)

		{
			printf("Motor is  moving in Reverse");

		}

	else
		{
			printf("The motor is not moving");
		}

	if (D0==0 && D1==0)

		{ 
			printf("Motor is Stationary");

		}

	if (D0==1 && D1==1)

		{	
			printf("Motor is not being used");

		}

	fflush(stdin);
}


void GripA()

{
	GripAsensor()

	if (D2=1)

		{
			printf("Top gripper is Closed and Attached");

		}

	else
	
		{
			printf("Top gripper is not Closed fully");

		}
	
	if (D3=1)

		{
			printf("Top gripper is Open");

		}

	else

		{
			printf("Top gripper is not Open fully");

		}

	if (D2==0 && D3==0)

		{
			printf("The Top gripper is stationary");

		}

	if (D2==1 && D3==1)

		{
			printf("The Top gripper is not being used");

		}

	fflush(stdin);
}
	

void GripB()

{
	GripBsensor()

	if (D4=1)

		{
			printf("Bottom gripper is Closed fully and attached");

		}
	
	else
		
		{
			printf("Bottom gripper is not Closed fully");

		}
	
	if (D5=1)

		{
			printf("Bottom gripper is Open");

		}

	else

		{
			printf("Bottom gripper is not Open fully");

		}

	if (D4==0 && D5==0)

		{
			printf("The Bottom gripper is stationary");

		}

	if (D4==1 && D5==1)

		{
			printf("The Bottom gripper is not being used");

		}

	fflush(stdin);

}

}

could it be because your void randomnumber() [line 29]

attempts to return a value of RN? I'm a noob @ c++ but I thought void functions could not return values?
That is probably it, yes. Intellisense expects a semicolon immediately after return as the void function cannot return a value.
Well the function is called randomnumber()

i've declared RN (meaning random number) as an integer.

and I return RN, which will either be 0 or 1.


I think anyway, i've only been doing c++ around 6 month in my first year at university and it isn't one of my strengths.
I've tried that Xander but still to no avail.
If you want a function to return a value, you must tell the compiler this in your function header:
1
2
3
4
5
void func(); // returns nothing
int func2(); // returns integer
float func3(); // returns floating point number
bool func4(); // returns boolean
// etc 


Your random number function is declared as void:
void randomnumber();

If you want to learn more about functions, see here
http://www.cplusplus.com/doc/tutorial/functions
Last edited on
Also, you can't define functions inside of main. Changevoid randomnumber() to int randomnumber() and add a } on line 27
Topic archived. No new replies allowed.