Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

I need help getting my C homework program to run. I think it has to with the fac

ID: 3724362 • Letter: I

Question

I need help getting my C homework program to run.

I think it has to with the fact I used strcpy? Im trying to print the SCity as a string for my output.

Many thanks in advance. Also, this program is supposed to calculate the expenses of traveling from one city to the other city. I hope my structure isnt too bad, im still trying to get the hang of it.

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

int main()
{
char SCity, DCity, Tran, Hotel, Meal;
int Hstays, Hmeals;
int Hcharge, Fcharge, Tcharge, Rcharge, Total;

printf(" ********************************************* ");
printf(" WELCOME TO THE TRIP EXPENSES CALCULATOR ");
printf(" ********************************************* ");

getchar();
system("cls");

printf(" ENTER THE SOURCE CITY : ");

printf(" B for Baltimore ");
printf(" C for Chattanooga ");
printf(" N for Nashville ");
printf(" P for Pasadena ");
printf(" ");

scanf("%c", &SCity);
getchar();
system("cls");

printf(" ENTER THE DESTINATION CITY : ");

printf(" D for Denver ");
printf(" M for Madison ");
printf(" C for Clarksville ");
printf(" K for Knoxville ");
printf(" ");

scanf("%c", &DCity);
getchar();
system("cls");

printf(" ENTER THE MODE OF TRANSPORT : ");

printf(" A for Air ");
printf(" R for Train ");
printf(" B for Bus ");
printf(" ");

scanf("%c", &Tran);
getchar();
system("cls");

printf(" ENTER THE TYPE OF HOTEL : ");

printf(" F for Five Star ");
printf(" T for Three Star ");
printf(" O for Ordinary ");
printf(" ");

scanf("%c", &Hotel);
getchar();
system("cls");

printf(" ENTER THE NUMBER OF DAYS OF STAY : ");
printf(" ");

scanf("%d",&Hstays);
system("cls");

printf(" ENTER THE TYPE OF FOOD : ");

printf(" V for Vegetarian ");
printf(" N for Non-vegetarian ");
printf(" C for Continental ");
printf(" ");

scanf("%c", &Meal);
getchar();
system("cls");

printf(" ENTER NUMBER OF DESIRED MEALS AT THE HOTEL : ");
printf(" ");

scanf("%d",&Hmeals);
system("cls");

/**************************************************************/

switch(SCity)
{
case 'B': case 'b':
strcpy(SCity,"Baltimore");

if(DCity == 'D' || DCity == 'd')
{
switch(Tran)
{
case 'A': case 'a':
Tcharge = 5000;
break;
case 'T': case 't':
Tcharge = 2500;
break;
case 'B': case 'b':
Tcharge = 2000;
break;
}
}
else if(DCity == 'M' || DCity == 'm')
{
switch(Tran)
{
case 'A': case 'a':
Tcharge = 4000;
break;
case 'T': case 't':
Tcharge = 2000;
break;
case 'B': case 'b':
Tcharge = 1000;
break;
}
}
else if(DCity == 'C' || DCity == 'c')
{
switch(Tran)
{
case 'A': case 'a':
Tcharge = 2500;
break;
case 'T': case 't':
Tcharge = 800;
break;
case 'B': case 'b':
Tcharge = 1000;
break;
}
}
else if(DCity == 'K' || DCity == 'k')
{
switch(Tran)
{
case 'A': case 'a':
Tcharge = 5000;
break;
case 'T': case 't':
Tcharge = 2500;
break;
case 'B': case 'b':
Tcharge = 2000;
break;
}
}
break;

/**************************************************************/

case 'C': case 'c':
strcpy(SCity,"Chattanooga");

if(DCity == 'D' || DCity == 'd')
{
switch(Tran)
{
case 'A': case 'a':
Tcharge = 2500;
break;
case 'T': case 't':
Tcharge = 500;
break;
case 'B': case 'b':
Tcharge = 600;
break;
}
}
else if(DCity == 'M' || DCity == 'm')
{
switch(Tran)
{
case 'A': case 'a':
Tcharge = 4000;
break;
case 'T': case 't':
Tcharge = 2300;
break;
case 'B': case 'b':
Tcharge = 1300;
break;
}
}
else if(DCity == 'C' || DCity == 'c')
{
switch(Tran)
{
case 'A': case 'a':
Tcharge = 6000;
break;
case 'T': case 't':
Tcharge = 2000;
break;
case 'B': case 'b':
Tcharge = 1700;
break;
}
}
else if(DCity == 'K' || DCity == 'k')
{
switch(Tran)
{
case 'A': case 'a':
Tcharge = 4000;
break;
case 'T': case 't':
Tcharge = 1600;
break;
case 'B': case 'b':
Tcharge = 1400;
break;
}
}
break;

/**************************************************************/

case 'N': case 'n':
strcpy(SCity,"Nashville");

if(DCity == 'D' || DCity == 'd')
{
switch(Tran)
{
case 'A': case 'a':
Tcharge = 5000;
break;
case 'T': case 't':
Tcharge = 1500;
break;
case 'B': case 'b':
Tcharge = 1400;
break;
}
}
else if(DCity == 'M' || DCity == 'm')
{
switch(Tran)
{
case 'A': case 'a':
Tcharge = 2500;
break;
case 'T': case 't':
Tcharge = 900;
break;
case 'B': case 'b':
Tcharge = 700;
break;
}
}
else if(DCity == 'C' || DCity == 'c')
{
switch(Tran)
{
case 'A': case 'a':
Tcharge = 4500;
break;
case 'T': case 't':
Tcharge = 1700;
break;
case 'B': case 'b':
Tcharge = 1300;
break;
}
}
else if(DCity == 'K' || DCity == 'k')
{
switch(Tran)
{
case 'A': case 'a':
Tcharge = 4000;
break;
case 'T': case 't':
Tcharge = 1500;
break;
case 'B': case 'b':
Tcharge = 1000;
break;
}
}
break;

/**************************************************************/

case 'P': case 'p':
strcpy(SCity,"Pasadena");

if(DCity == 'D' || DCity == 'd')
{
switch(Tran)
{
case 'A': case 'a':
Tcharge = 5000;
break;
case 'T': case 't':
Tcharge = 2000;
break;
case 'B': case 'b':
Tcharge = 1400;
break;
}
}
else if(DCity == 'M' || DCity == 'm')
{
switch(Tran)
{
case 'A': case 'a':
Tcharge = 4500;
break;
case 'T': case 't':
Tcharge = 1900;
break;
case 'B': case 'b':
Tcharge = 1300;
break;
}
}
else if(DCity == 'C' || DCity == 'c')
{
switch(Tran)
{
case 'A': case 'a':
Tcharge = 4500;
break;
case 'T': case 't':
Tcharge = 1700;
break;
case 'B': case 'b':
Tcharge = 1300;
break;
}
}
else if(DCity == 'K' || DCity == 'k')
{
switch(Tran)
{
case 'A': case 'a':
Tcharge = 3000;
break;
case 'T': case 't':
Tcharge = 1200;
break;
case 'B': case 'b':
Tcharge = 800;
break;
}
}
break;
}

/**************************************************************/

if(Hotel == 'F' || Hotel == 'f')
{
Rcharge = 500 * Hstays;
Hcharge = Rcharge;
}
else if(Hotel == 'T' || Hotel == 't')
{
Rcharge = 300 * Hstays;
Hcharge = Rcharge;
}
else if(Hotel == 'O' || Hotel == 'o')
{
Rcharge = 100 * Hstays;
Hcharge = Rcharge;
}

/**************************************************************/

if(Meal == 'V' || Meal == 'v')
{
Fcharge = 15 * Hmeals * Hstays;
}
else if(Meal == 'N' || Meal == 'n')
{
Fcharge = 30 * Hmeals * Hstays;
}
else if(Meal == 'C' || Meal == 'c')
{
Fcharge = 10 * Hmeals * Hstays;
}

/**************************************************************/

Total=Tcharge+Hcharge+Fcharge;

/**************************************************************/

printf(" ********************************************* ");
printf("TOTAL EXPENSES TO TRAVEL FROM %s is : ", SCity);
printf(" ********************************************* ");
printf("TRANSPORTATION CHARGES = %d ", Tcharge);
printf("NUMBER OF DAYS TO STAY = %d ", Hstays);
printf("NUMBER OF MEALS IN A DAY = %d ", Hmeals);
printf("ROOM CHARGES = %d ", Rcharge);
printf("FOOD CHARGES = %d ", Fcharge);
printf("HOTEL CHARGES = %d ", Hcharge);
printf(" ********************************************* ");
printf("TOTAL CHARGES = %d ", Tcharge);
printf(" ********************************************* ");

return 0;
}

Explanation / Answer

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

int main()
{
char SCity[100], DCity[100], Tran[100], Hotel[100], Meal[100];
int Hstays, Hmeals;
int Hcharge, Fcharge, Tcharge, Rcharge, Total;

printf(" ********************************************* ");
printf(" WELCOME TO THE TRIP EXPENSES CALCULATOR ");
printf(" ********************************************* ");

getchar();
system("cls");

printf(" ENTER THE SOURCE CITY : ");

printf(" B for Baltimore ");
printf(" C for Chattanooga ");
printf(" N for Nashville ");
printf(" P for Pasadena ");
printf(" ");

scanf("%c", &SCity[0]);
getchar();
system("cls");

printf(" ENTER THE DESTINATION CITY : ");

printf(" D for Denver ");
printf(" M for Madison ");
printf(" C for Clarksville ");
printf(" K for Knoxville ");
printf(" ");

scanf("%c", &DCity[0]);
getchar();
system("cls");

printf(" ENTER THE MODE OF TRANSPORT : ");

printf(" A for Air ");
printf(" R for Train ");
printf(" B for Bus ");
printf(" ");

scanf("%c", &Tran[0]);
getchar();
system("cls");

printf(" ENTER THE TYPE OF HOTEL : ");

printf(" F for Five Star ");
printf(" T for Three Star ");
printf(" O for Ordinary ");
printf(" ");

scanf("%c", &Hotel[0]);
getchar();
system("cls");

printf(" ENTER THE NUMBER OF DAYS OF STAY : ");
printf(" ");

scanf("%d",&Hstays);
system("cls");

printf(" ENTER THE TYPE OF FOOD : ");

printf(" V for Vegetarian ");
printf(" N for Non-vegetarian ");
printf(" C for Continental ");
printf(" ");

scanf("%c", &Meal[0]);
getchar();
system("cls");

printf(" ENTER NUMBER OF DESIRED MEALS AT THE HOTEL : ");
printf(" ");

scanf("%d",&Hmeals);
system("cls");

//Set DCity:
if(DCity[0] == 'M' || DCity[0] == 'm')
strcpy(DCity, "Madison");
else if(DCity[0] == 'C' || DCity[0] == 'c')
strcpy(DCity, "Clarksville");
else if(DCity[0] == 'V' || DCity[0] == 'k')
strcpy(DCity, "Knowville");
else if(DCity[0] == 'D' || DCity[0] == 'd')
strcpy(DCity, "Denver");
/**************************************************************/

switch(SCity[0])
{
case 'B': case 'b':
strcpy(SCity,"Baltimore");

if(DCity[0] == 'D' || DCity[0] == 'd')
{
strcpy(DCity, "Denver");
switch(Tran[0])
{
case 'A': case 'a':
Tcharge = 5000;
break;
case 'T': case 't':
Tcharge = 2500;
break;
case 'B': case 'b':
Tcharge = 2000;
break;
}
}
else if(DCity[0] == 'M' || DCity[0] == 'm')
{
strcpy(DCity, "Madison");

switch(Tran[0])
{
case 'A': case 'a':
Tcharge = 4000;
break;
case 'T': case 't':
Tcharge = 2000;
break;
case 'B': case 'b':
Tcharge = 1000;
break;
}
}
else if(DCity[0] == 'C' || DCity[0] == 'c')
{
strcpy(DCity, "Clarksville");

switch(Tran[0])
{
case 'A': case 'a':
Tcharge = 2500;
break;
case 'T': case 't':
Tcharge = 800;
break;
case 'B': case 'b':
Tcharge = 1000;
break;
}
}
else if(DCity[0] == 'K' || DCity[0] == 'k')
{
strcpy(DCity, "Knowville");
switch(Tran[0])
{
case 'A': case 'a':
Tcharge = 5000;
break;
case 'T': case 't':
Tcharge = 2500;
break;
case 'B': case 'b':
Tcharge = 2000;
break;
}
}
break;

/**************************************************************/

case 'C': case 'c':
strcpy(SCity,"Chattanooga");

if(DCity[0] == 'D' || DCity[0] == 'd')
{
switch(Tran[0])
{
case 'A': case 'a':
Tcharge = 2500;
break;
case 'T': case 't':
Tcharge = 500;
break;
case 'B': case 'b':
Tcharge = 600;
break;
}
}
else if(DCity[0] == 'M' || DCity[0] == 'm')
{
switch(Tran[0])
{
case 'A': case 'a':
Tcharge = 4000;
break;
case 'T': case 't':
Tcharge = 2300;
break;
case 'B': case 'b':
Tcharge = 1300;
break;
}
}
else if(DCity[0] == 'C' || DCity[0] == 'c')
{
switch(Tran[0])
{
case 'A': case 'a':
Tcharge = 6000;
break;
case 'T': case 't':
Tcharge = 2000;
break;
case 'B': case 'b':
Tcharge = 1700;
break;
}
}
else if(DCity[0] == 'K' || DCity[0] == 'k')
{
switch(Tran[0])
{
case 'A': case 'a':
Tcharge = 4000;
break;
case 'T': case 't':
Tcharge = 1600;
break;
case 'B': case 'b':
Tcharge = 1400;
break;
}
}
break;

/**************************************************************/

case 'N': case 'n':
strcpy(SCity,"Nashville");

if(DCity[0] == 'D' || DCity[0] == 'd')
{
switch(Tran[0])
{
case 'A': case 'a':
Tcharge = 5000;
break;
case 'T': case 't':
Tcharge = 1500;
break;
case 'B': case 'b':
Tcharge = 1400;
break;
}
}
else if(DCity[0] == 'M' || DCity[0] == 'm')
{
switch(Tran[0])
{
case 'A': case 'a':
Tcharge = 2500;
break;
case 'T': case 't':
Tcharge = 900;
break;
case 'B': case 'b':
Tcharge = 700;
break;
}
}
else if(DCity[0] == 'C' || DCity[0] == 'c')
{
switch(Tran[0])
{
case 'A': case 'a':
Tcharge = 4500;
break;
case 'T': case 't':
Tcharge = 1700;
break;
case 'B': case 'b':
Tcharge = 1300;
break;
}
}
else if(DCity[0] == 'K' || DCity[0] == 'k')
{
switch(Tran[0])
{
case 'A': case 'a':
Tcharge = 4000;
break;
case 'T': case 't':
Tcharge = 1500;
break;
case 'B': case 'b':
Tcharge = 1000;
break;
}
}
break;

/**************************************************************/

case 'P': case 'p':
strcpy(SCity,"Pasadena");

if(DCity[0] == 'D' || DCity[0] == 'd')
{
switch(Tran[0])
{
case 'A': case 'a':
Tcharge = 5000;
break;
case 'T': case 't':
Tcharge = 2000;
break;
case 'B': case 'b':
Tcharge = 1400;
break;
}
}
else if(DCity[0] == 'M' || DCity[0] == 'm')
{
switch(Tran[0])
{
case 'A': case 'a':
Tcharge = 4500;
break;
case 'T': case 't':
Tcharge = 1900;
break;
case 'B': case 'b':
Tcharge = 1300;
break;
}
}
else if(DCity[0] == 'C' || DCity[0] == 'c')
{
switch(Tran[0])
{
case 'A': case 'a':
Tcharge = 4500;
break;
case 'T': case 't':
Tcharge = 1700;
break;
case 'B': case 'b':
Tcharge = 1300;
break;
}
}
else if(DCity[0] == 'K' || DCity[0] == 'k')
{
switch(Tran[0])
{
case 'A': case 'a':
Tcharge = 3000;
break;
case 'T': case 't':
Tcharge = 1200;
break;
case 'B': case 'b':
Tcharge = 800;
break;
}
}
break;
}

/**************************************************************/

if(Hotel[0] == 'F' || Hotel[0] == 'f')
{
Rcharge = 500 * Hstays;
Hcharge = Rcharge;
}
else if(Hotel[0] == 'T' || Hotel[0] == 't')
{
Rcharge = 300 * Hstays;
Hcharge = Rcharge;
}
else if(Hotel[0] == 'O' || Hotel[0] == 'o')
{
Rcharge = 100 * Hstays;
Hcharge = Rcharge;
}

/**************************************************************/

if(Meal[0] == 'V' || Meal[0] == 'v')
{
Fcharge = 15 * Hmeals * Hstays;
}
else if(Meal[0] == 'N' || Meal[0] == 'n')
{
Fcharge = 30 * Hmeals * Hstays;
}
else if(Meal[0] == 'C' || Meal[0] == 'c')
{
Fcharge = 10 * Hmeals * Hstays;
}

/**************************************************************/

Total=Tcharge+Hcharge+Fcharge;

/**************************************************************/

printf(" ********************************************* ");
printf("TOTAL EXPENSES TO %s TRAVEL FROM %s is : ",DCity, SCity);
printf(" ********************************************* ");
printf("TRANSPORTATION CHARGES = %d ", Tcharge);
printf("NUMBER OF DAYS TO STAY = %d ", Hstays);
printf("NUMBER OF MEALS IN A DAY = %d ", Hmeals);
printf("ROOM CHARGES = %d ", Rcharge);
printf("FOOD CHARGES = %d ", Fcharge);
printf("HOTEL CHARGES = %d ", Hcharge);
printf(" ********************************************* ");
printf("TOTAL CHARGES = %d ", Total);
printf(" ********************************************* ");

return 0;
}

Your mistake was that you were trying to assign a string to a character.
Just convert all char to char arrays and your strcpy works.

Hire Me For All Your Tutoring Needs
Integrity-first tutoring: clear explanations, guidance, and feedback.
Drop an Email at
drjack9650@gmail.com
Chat Now And Get Quote