I have a java code that needs to work in C++
This is what the code should do:
Define a struct called "Car" with the following member variables:
Total Odometer Miles
Speed in miles per hour
Driver Name
Sponsor
Car Number
You should also include the following functions:
A function to make progress down the course
A function to convert your speed from MPH to MPS
A function to “pretty print” your car’s information including Number, Sponsor, Driver and Progress
A function to re-randomize speed
Include any useful functions you might need to accomplish the goal
The total odometer miles should be initialized to zero, and speed initialized to a random value between 60 and 120.
Create a list of 20 vehicles with driver and sponsor names. You should not re-use a driver name or sponsor name (note –
worry about this specification last, if you can make the race work w/o this, that’s better than getting hung up on this
algorithm)
Your main program should simulate the progress of the vehicles in the race. You should accomplish this with a loop.
Every 5 iterations of the loop (should be considered 1 minute of time), the vehicles pick a new random speed.
Every iteration through the loop their odometer miles are updated:
odometer_miles = odometer_miles + speed*time
Since speed is in miles per hour, time should be in hours as well (1 minute is 1/60th of an hour). Remember for the sake
of this assignment 1 minute = 5 loop iterations.
The first car to reach the race’s limit (100 miles is a good number) should be declared the winner by printing the driver
name and sponsor name. You should set this as a variable – consider asking the user for the value as well.
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
|
import java.util.*;
import java.io.*;
import java.lang.*;
//CLASS CAR
class Car
{
//DECLARE VARIABLES
double odometer_miles;
double speed;
String DriverName;
String sponsorName;
int carNumber;
///CONSTRUCTOR
public Car(String dName,String sName,int carNo)
{
odometer_miles=0;
generateRandomSpeed();
DriverName=dName;
sponsorName=sName;
carNumber=carNo;
}
//UPDATE THE TOTAL ODOMETER MILES
public void updateOdometerMiles()
{
odometer_miles=odometer_miles+(convertSpeed());
}
//GET THE MILES RUN
public double getOdometerMiles()
{
return odometer_miles;
}
//CONVERT mph TO mps
public double convertSpeed()
{
return speed*0.44704;
}
//GENERATE RANDOM SPEED IN 60 T0 120
public void generateRandomSpeed()
{
Random r=new Random();
speed=60.00+(120.00-60.00)*r.nextDouble();
}
//OVERRIDDEN toString()
public String toString()
{
String s;
s="Car Number:"+carNumber+"\n Driver Name:"+DriverName+" \n Sponsor NAme:"+sponsorName+"\n Odometer Miles:"+odometer_miles;
return s;
}
}
public class CARRACE
{
//MAIN METHOD
public static void main(String[] args)
{
//CREATE CAR LIST TO HOLD 20 VEHICLES
Car[] carList=new Car[20];
//STRING ARRAY FOR DRIVER NAME
String[] drivers={"JK","Jerry","fermin","jude"};
String[] sponsors={"A","B","C","D","E"};
//STRING ARRAY FORSPONSORS
Random r=new Random();
for(int k1=0;k1<20;k1++)
{
//ADD VEHICLE TO THE CARLIST
carList[k1]=new Car(drivers[r.nextInt(4)],sponsors[r.nextInt(5)],k1+1);
}
boolean reached=false;
//CHECK FOR THE WINNER
while(!reached)
{
for(int k2=0;k2<20;k2++)
{
//CHECK IF ANY OF THE CAR REACHED 100 MILES IF SOPRINT THE CAR //INFORMATION THEN EXIT THE PROGRAM
if(carList[k2].getOdometerMiles()>=100)
{
reached=true;
System.out.println("The winner is:");
System.out.println(carList[k2].toString());
System.exit(0);
}
}
//GENRATE RANDOM SPEED
//UPDATE THE ODOMETER MILES
for(int k2=0;k2<20;k2++)
{
carList[k2].generateRandomSpeed();
carList[k2].updateOdometerMiles();
}
}
}//END MAIN
}//END CARRACE
|