Error C2143

This is frustrating the hell out me.

I'm also not sure if my random number function is correct, I want a number which is either 0 or 1 at random. Obviously if D0=1 the printf statement appears. It's all related to bitwise operators.

I know there's some stuff thats declared in integers thats not used, thats for later on.

Any help would be nice, thanks!

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

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

void Motor();
void GripA();
void GripB();

int pressure, grippera, gripperb;
int resD0, resD1, resD2, resD3, resD4, resD5, response;
int Digital_Input, Digital_Output;
char answer, S;

void main()		

{
		{
			printf("You have accessed the Robotic System microprocessor");
			printf("Press 'S' to Start");
			scanf("%c",&S);
			
			srand ( time(NULL) );
			response=rand()%2;
		}


void Motor()

{
	srand ( time(NULL) );
	resD0=rand()%2;

	srand ( time(NULL) );
	resD1=rand()%2;

	if (resD0=1)

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

	if  (resD1=1)

		{
			printf("Motor is Reversing");

		}

	if (resD0==0 && resD1==0)

		{ 
			printf("Motor is Stationary");

		}

	if (resD0==1 && resD1==1)

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

		}

	fflush(stdin);
	getchar();
}


void GripA()

{
	srand ( time(NULL) );
	resD2=rand()%2;

	srand ( time(NULL) );
	resD2=rand()%2;

	if (resD2=1)

		{
			printf("Top gripper is Closed");

		}

	if (resD3=1)

		{
			printf("Top gripper is Open");

		}

	if (resD2==0 && resD3==0)

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

		}

	if (resD2==1 && resD3==1)

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

		}

	fflush(stdin);
	getchar();
}
	

void GripB()

{
	srand ( time(NULL) );
	resD4=rand()%2;

	srand ( time(NULL) );
	resD5=rand()%2;

	if (resD4=1)

		{
			printf("Bottom gripper is Closed");

		}

	if (resD5=1)

		{
			printf("Bottom gripper is Open");

		}

	if (resD4==0 && resD5==0)

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

		}

	if (resD4==1 && resD5==1)

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

		}

	fflush(stdin);
	getchar();
}

}

random number =
1
2
srand((unsigned)time(0)) ;
int /*your choice*/=rand() ;
What specifically is your first error (Error C2143)?

void main()
to
1
2
3
int main(){
    return 0;
}


You don't use any bitwise operators.

http://www.cplusplus.com/doc/tutorial/operators/
You only need to seed the SRNG one time: srand(time(NULL));
after that you get a random int with rand()
Topic archived. No new replies allowed.