I'm missing something, help me.

I'm supposed to write a program that determines which of 5 geographic regions within a major city (north, south, east, west, and central) had the fewest and highest reported accidents last year.

And my program runs with no errors. The problem is after you enter numbers for all 5 city's the program closes, it wont determine what city's had the fewest and highest reported car accidents. Any help would be greatly appreciated

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
#include<iostream>
#include<iomanip>
#include<string>
using namespace std;

int getNumAccidents(string region);
void findLowest(int north, int south, int east, int west, int central,int &numAccidents);
void findHighest(int north, int south, int east, int west, int central,int &numAccidents);

int main()
{
	int getNumAccidents(string regionName);
		string regName;
	int north, 
		south, 
		east, 
		west, 
		central;
 
 cout << "There will be 5 regions within the major city.\n";     
	              
	         
			 regName="north:";
			 north = getNumAccidents(regName);
	         
			 
			 regName="south:";
	         south = getNumAccidents(regName);
	         
			
			 regName="east:";
	         east = getNumAccidents(regName); 
	         
			
			 regName="west:";
	         west = getNumAccidents(regName); 
	         
			 
			 regName="central:";
	         central = getNumAccidents(regName);

			void findLowest(int north, int south, int east, int west, int central,int &numAccidents);
			void findHighest(int north, int south, int east, int west, int central,int &numAccidents);

			 return 0;
			
	}
	 
int getNumAccidents(string regionName)
	 
	{  
	   int numAccidents;

         do

         {

                cout << "Enter the number of accidents for " << regionName;                 
				cin >> numAccidents;

          } while (numAccidents < 0); 

          return numAccidents;  
}
	 
void findLowest(int north, int south, int east, int west, int central,int &numAccidents)
{
	
	 string regName;

	 
	
	 for (int i = 1; i < numAccidents; i++)

	 {
	       
		if (numAccidents > north  )
		{
			regName = north;
		}

		if (numAccidents > south  )
		{
			regName = south;
		}
		
		if (numAccidents > east  )
		{
			regName = east;
		}

		if (numAccidents > west  )
		{
			regName = west;
		}

		if (numAccidents > central  )
		{
			regName = central;
		}
	}	

		cout << "The Lowest Region is " << regName << endl;

	
}
void findHighest(int north, int south, int east, int west, int central,int &numAccidents)
{
	
	
	string regName;

	for (int i = 1; i < numAccidents; i++)
	 {
		if (numAccidents < north  )
		{
			regName = north;
		}

		if (numAccidents < south  )
		{
			regName = south;
		}
		
		if (numAccidents < east  )
		{
			regName = east;
		}

		if (numAccidents < west  )
		{
			regName = west;
		}

		if (numAccidents < central  )
		{
			regName = central;
		}
	}

	cout << "The Highest Region is " << regName << endl;

	
}	
Line 42 and 43 - you are declaring the functions instead of calling them.
To call the function, remove the data types and use just the function and variable names directly.
findLowest(north, south, east, west, central,&numAccidents);
This will call the function.

Once within the function, I think you need to compare north, south, east, west and central and dont need numAccidents. Just compare each of them.
Something like this...

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
void findLowest(int north, int south, int east, int west, int central)
{
	
	string regName;
 	int lowest = north; //initializing lowest to one of the values.

	//Making sure lowest is in fact the lowest.
	if(lowest > south)
	{
		lowest = south;
		regName = "south";
	}
	if(lowest > east)
	{
		lowest = east;
		regName = "east";
	}
	if(lowest > west)
	{
		lowest = west;
		regName = "west";
	}
	if(lowest > central)
	{
		lowest = central;
		regName = "central";
	}

	cout << "The Lowest Region is " << regName << endl;
	
}

If i use
findLowest(north, south, east, west, central,&numAccidents);

I get
error C2065: 'numAccidents' : undeclared identifier
@Dylan2012
you dont need that variable if you're doing what kameswarib is suggesting,

in fact, I took the liberty and changed your code, here is what it should look like if you left out that numAccidents variable:

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
#include<iostream>
#include<iomanip>
#include<string>
using namespace std;

int getNumAccidents(string region);
void findLowest(int north, int south, int east, int west, int central);
void findHighest(int north, int south, int east, int west, int central);

int main()
{
	int getNumAccidents(string regionName);
		string regName;
	int north,
		south,
		east,
		west,
		central;

 cout << "There will be 5 regions within the major city.\n";


			 regName="north:";
			 north = getNumAccidents(regName);


			 regName="south:";
	         south = getNumAccidents(regName);


			 regName="east:";
	         east = getNumAccidents(regName);


			 regName="west:";
	         west = getNumAccidents(regName);


			 regName="central:";
	         central = getNumAccidents(regName);


			findLowest( north,  south,  east,  west,  central);
			findHighest( north,  south,  east,  west,  central);

            return 0;

	}

int getNumAccidents(string regionName)

	{
	   int numAccidents;
         do
         {
            cout << "Enter the number of accidents for " << regionName;
            cin >> numAccidents;
          } while (numAccidents < 0);
          return numAccidents;
}

void findHighest(int north, int south, int east, int west, int central)
{
	string regName ="north";
	int highest = north;


		if (highest < north  )
		{
		    highest = north;
			regName = "north";
		}

		if (highest < south  )
		{
            highest = north;
			regName = "south";
		}

		if (highest < east  )
		{
		    highest = east;
			regName = "east";
		}

		if (highest < west  )
		{
		    highest = west;
			regName = "west";
		}

		if (highest < central  )
		{
		    highest = central;
			regName = "central";
		}

	cout << "The Highest Region is " << regName << endl;
}

void findLowest(int north, int south, int east, int west, int central)
{

	string regName = "north";
 	int lowest = north; //initializing lowest to one of the values.

	//Making sure lowest is in fact the lowest.
	if(lowest > south)
	{
		lowest = south;
		regName = "south";
	}
	if(lowest > east)
	{
		lowest = east;
		regName = "east";
	}
	if(lowest > west)
	{
		lowest = west;
		regName = "west";
	}
	if(lowest > central)
	{
		lowest = central;
		regName = "central";
	}

	cout << "The Lowest Region is " << regName << endl;

}
Last edited on
It works! Thank you both so much.
Topic archived. No new replies allowed.