#include <iostream>
#include <limits>
using namespace std;
void detailLoop( ) {
//initializes array(letters in comments stand for city;
//array values are the distances)
int cityarray[ 6 ] [ 6 ] = {
//DB-DB,DB-G,DB-J,DB-M,DB-Tall,DB-Tampa
0 ,97 ,90 ,268 ,262 ,130 ,
//G-DB,G-G,G-J,G-M,G-Tall,G-Tampa
97 ,0 ,74 ,337 ,144 ,128 ,
//J-DB,J-G,J-J,J-M,J-Tall,J-Tampa
90 ,74 ,0 ,354 ,174 ,201 ,
//M-DB,M-G,M-J,M-M,M-Tall,M-Tampa
268 ,337 ,354 ,0 ,475 ,269 ,
//Tall-DB,Tall-G,Tall-J,Tall-M,Tall-Tall,Tall-Tampa
262 ,144 ,174 ,475 ,0 ,238 ,
//Tampa-DB,Tampa-G,Tampa-J,Tampa-M,Tampa-Tall,Tampa-Tampa
130 ,128 ,201 ,269 ,238 ,0
} ;
//starting location
int start = 0 ;
//destination
int finish = 0 ;
//strings used to print city names
string cityname1;
string cityname2;
//menu block
cout << "Choose locations from the menu below:" << endl;
cout << "0 - Daytona Beach" << endl;
cout << "1 - Gainesville" << endl;
cout << "2 - Jacksonville" << endl;
cout << "3 - Miami" << endl;
cout << "4 - Tallahassee" << endl;
cout << "5 - Tampa" << endl << endl;
//user input for starting city
cout << "Enter your starting location: > " ; cin >> start;
//user input for ending city
cout << "Enter your destination: > " ; cin >> finish; cout << endl;
//assigns names to cityname1 so it can be printed
switch ( start) {
case 0 :
cityname1 = "Daytona Beach" ;
break ;
case 1 :
cityname1 = "Gainesville" ;
break ;
case 2 :
cityname1 = "Jacksonville" ;
break ;
case 3 :
cityname1 = "Miami" ;
break ;
case 4 :
cityname1 = "Tallahassee" ;
break ;
case 5 :
cityname1 = "Tampa" ;
break ;
default :
cityname1 = "Error" ;
break ;
}
//assigns names to cityname2 so it can be printed
switch ( finish) {
case 0 :
cityname2 = "Daytona Beach" ;
break ;
case 1 :
cityname2 = "Gainesville" ;
break ;
case 2 :
cityname2 = "Jacksonville" ;
break ;
case 3 :
cityname2 = "Miami" ;
break ;
case 4 :
cityname2 = "Tallahassee" ;
break ;
case 5 :
cityname2 = "Tampa" ;
break ;
default :
cityname2 = "Error" ;
break ;
}
if ( cityname1 == "Error" || cityname2 == "Error" ) {
cout << "**********ERROR! PLEASE ENTER 0-5 FOR YOU LOCATIONS**********" << endl << endl;
cin .clear ( ) ;
cin .ignore ( std:: numeric_limits < std:: streamsize > :: max ( ) , '\n ' ) ;
detailLoop( ) ;
} else {
cout << "The distance from " << cityname1 << " to " << cityname2;
cout << " is approximately " << cityarray[ start] [ finish] << " miles." << endl << endl;
}
}
int main( ) {
detailLoop( ) ;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8bGltaXRzPgoKdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCgp2b2lkIGRldGFpbExvb3AoKSB7CgkvL2luaXRpYWxpemVzIGFycmF5KGxldHRlcnMgaW4gY29tbWVudHMgc3RhbmQgZm9yIGNpdHk7CgkvL2FycmF5IHZhbHVlcyBhcmUgdGhlIGRpc3RhbmNlcykKCWludCBjaXR5YXJyYXlbNl1bNl0gPSB7CgkJLy9EQi1EQixEQi1HLERCLUosREItTSxEQi1UYWxsLERCLVRhbXBhCgkJMCw5Nyw5MCwyNjgsMjYyLDEzMCwKCgkJLy9HLURCLEctRyxHLUosRy1NLEctVGFsbCxHLVRhbXBhCgkJOTcsMCw3NCwzMzcsMTQ0LDEyOCwKCgkJLy9KLURCLEotRyxKLUosSi1NLEotVGFsbCxKLVRhbXBhCgkJOTAsNzQsMCwzNTQsMTc0LDIwMSwKCgkJLy9NLURCLE0tRyxNLUosTS1NLE0tVGFsbCxNLVRhbXBhCgkJMjY4LDMzNywzNTQsMCw0NzUsMjY5LAoKCQkvL1RhbGwtREIsVGFsbC1HLFRhbGwtSixUYWxsLU0sVGFsbC1UYWxsLFRhbGwtVGFtcGEKCQkyNjIsMTQ0LDE3NCw0NzUsMCwyMzgsCgoJCS8vVGFtcGEtREIsVGFtcGEtRyxUYW1wYS1KLFRhbXBhLU0sVGFtcGEtVGFsbCxUYW1wYS1UYW1wYQoJCTEzMCwxMjgsMjAxLDI2OSwyMzgsMAoJfTsKCgkvL3N0YXJ0aW5nIGxvY2F0aW9uCglpbnQgc3RhcnQgPSAwOwoJLy9kZXN0aW5hdGlvbgoJaW50IGZpbmlzaCA9IDA7CgkvL3N0cmluZ3MgdXNlZCB0byBwcmludCBjaXR5IG5hbWVzCglzdHJpbmcgY2l0eW5hbWUxOwoJc3RyaW5nIGNpdHluYW1lMjsKCS8vbWVudSBibG9jawoJY291dCA8PCAiQ2hvb3NlIGxvY2F0aW9ucyBmcm9tIHRoZSBtZW51IGJlbG93OiIgPDwgZW5kbDsKCWNvdXQgPDwgIjAgLSBEYXl0b25hIEJlYWNoIiA8PCBlbmRsOwoJY291dCA8PCAiMSAtIEdhaW5lc3ZpbGxlIiA8PCBlbmRsOwoJY291dCA8PCAiMiAtIEphY2tzb252aWxsZSIgPDwgZW5kbDsKCWNvdXQgPDwgIjMgLSBNaWFtaSIgPDwgZW5kbDsKCWNvdXQgPDwgIjQgLSBUYWxsYWhhc3NlZSIgPDwgZW5kbDsKCWNvdXQgPDwgIjUgLSBUYW1wYSIgPDwgZW5kbCA8PCBlbmRsOwoKCS8vdXNlciBpbnB1dCBmb3Igc3RhcnRpbmcgY2l0eQoJY291dCA8PCAiRW50ZXIgeW91ciBzdGFydGluZyBsb2NhdGlvbjogPiAiOyBjaW4gPj4gc3RhcnQ7CgoJLy91c2VyIGlucHV0IGZvciBlbmRpbmcgY2l0eQoJY291dCA8PCAiRW50ZXIgeW91ciBkZXN0aW5hdGlvbjogPiAiOyBjaW4gPj4gZmluaXNoOyBjb3V0IDw8IGVuZGw7CgoJLy9hc3NpZ25zIG5hbWVzIHRvIGNpdHluYW1lMSBzbyBpdCBjYW4gYmUgcHJpbnRlZAoJc3dpdGNoIChzdGFydCkgewoJY2FzZSAwOgoJCWNpdHluYW1lMSA9ICJEYXl0b25hIEJlYWNoIjsKCQlicmVhazsKCWNhc2UgMToKCQljaXR5bmFtZTEgPSAiR2FpbmVzdmlsbGUiOwoJCWJyZWFrOwoJY2FzZSAyOgoJCWNpdHluYW1lMSA9ICJKYWNrc29udmlsbGUiOwoJCWJyZWFrOwoJY2FzZSAzOgoJCWNpdHluYW1lMSA9ICJNaWFtaSI7CgkJYnJlYWs7CgljYXNlIDQ6CgkJY2l0eW5hbWUxID0gIlRhbGxhaGFzc2VlIjsKCQlicmVhazsKCWNhc2UgNToKCQljaXR5bmFtZTEgPSAiVGFtcGEiOwoJCWJyZWFrOwoJZGVmYXVsdDoKCQljaXR5bmFtZTEgPSAiRXJyb3IiOwoJCWJyZWFrOwoJfQoKCS8vYXNzaWducyBuYW1lcyB0byBjaXR5bmFtZTIgc28gaXQgY2FuIGJlIHByaW50ZWQKCXN3aXRjaCAoZmluaXNoKSB7CgljYXNlIDA6CgkJY2l0eW5hbWUyID0gIkRheXRvbmEgQmVhY2giOwoJCWJyZWFrOwoJY2FzZSAxOgoJCWNpdHluYW1lMiA9ICJHYWluZXN2aWxsZSI7CgkJYnJlYWs7CgljYXNlIDI6CgkJY2l0eW5hbWUyID0gIkphY2tzb252aWxsZSI7CgkJYnJlYWs7CgljYXNlIDM6CgkJY2l0eW5hbWUyID0gIk1pYW1pIjsKCQlicmVhazsKCWNhc2UgNDoKCQljaXR5bmFtZTIgPSAiVGFsbGFoYXNzZWUiOwoJCWJyZWFrOwoJY2FzZSA1OgoJCWNpdHluYW1lMiA9ICJUYW1wYSI7CgkJYnJlYWs7CglkZWZhdWx0OgoJCWNpdHluYW1lMiA9ICJFcnJvciI7CgkJYnJlYWs7Cgl9CgoJaWYgKGNpdHluYW1lMSA9PSAiRXJyb3IiIHx8IGNpdHluYW1lMiA9PSAiRXJyb3IiKSB7CgkJY291dCA8PCAiKioqKioqKioqKkVSUk9SISBQTEVBU0UgRU5URVIgMC01IEZPUiBZT1UgTE9DQVRJT05TKioqKioqKioqKiIgPDwgZW5kbCA8PCBlbmRsOwoJCWNpbi5jbGVhcigpOwoJCWNpbi5pZ25vcmUoc3RkOjpudW1lcmljX2xpbWl0czxzdGQ6OnN0cmVhbXNpemU+OjptYXgoKSwgJ1xuJyk7CgkJZGV0YWlsTG9vcCgpOwoJfSBlbHNlIHsKCQljb3V0IDw8ICJUaGUgZGlzdGFuY2UgZnJvbSAiIDw8IGNpdHluYW1lMSA8PCAiIHRvICIgPDwgY2l0eW5hbWUyOwoJCWNvdXQgPDwgIiBpcyBhcHByb3hpbWF0ZWx5ICIgPDwgY2l0eWFycmF5W3N0YXJ0XVtmaW5pc2hdIDw8ICIgbWlsZXMuIiA8PCBlbmRsIDw8IGVuZGw7Cgl9Cn0KCmludCBtYWluKCkgewoJZGV0YWlsTG9vcCgpOwp9