【发布时间】:2020-10-01 03:27:56
【问题描述】:
我的程序的目的是计算不同城市之间旅行的费用。该程序将给出来源城市列表,然后是目的地城市列表。用户可以通过输入每个城市的首字母来选择他们的城市。
我希望程序能够从用户那里获取输入并将其分配给给定城市之一。
//Declarations
char src_city[15];
char dest_city[15];
system("cls");
puts("\n");
printf("ENTER THE SOURCE CITY: \n\n");
printf("B for Baltimore\n\n");
printf("C for Chattanooga\n\n");
printf("N for Nashville\n\n");
printf("P for Pasadena\n\n");
puts("");
scanf("%c", &src_city);
switch(src_city)
{
case 'B': case 'b': ("Baltimore");
break;
case 'C': case 'c': ("Chattanooga");
break;
case 'N': case 'n': ("Nashville");
break;
case 'P': case 'p': ("Pasadena");
break;
}
getchar();
“B”、“C”、“N”和“P”是我希望用户输入的字母,并在他们输入时将其分配给相应的城市。
但是,当我使用这种方法时,我得到了错误:
“赋值给数组类型的表达式”。
我查找了这个错误,然后我被告知使用 if/else if 语句,这反过来又以类似的方式失败。 switch 语句方法对我来说最有意义。
我需要将字符串值分配给相应的变量 (src_city/dest_city),因为稍后我需要在 printf() 语句中调用这些变量。
【问题讨论】:
标签: arrays c if-statement pointers switch-statement