我正在写一个程序,它显示了从一个城市到另一个城市的每日航班:为什么我在C编程中遇到类型说明符错误?
Departure time: Arrival Time
8:00 10:16 am
9:43 am 11:52 am
11:19 am 1:31p.m
12:47 pm 3:00pm
2:00pm 4:08 p.m
3:45 p.m 5:55 p.m
7:00pm 9:20p.m
9:45p.m 11:58 p.m
My program asks the user to enter time in 24 hour clock then it displays the departure and arrival times for the flight whole departure time is closest to the the entered by user.
ex: enter a 24-hour time: 13:15
Closest departure time is 12:47 p.m driving at 3.00 pm
我几乎用我的代码做了,但我发现,我似乎无法找出错误为什么。
#include<stdio.h>
#include<math.h>
int d1,d2,d3,d4,d5,d6,d7,d8,hh,mm,um;
int departure[8];
int choice,id;
char m1[80]="Closet Departure time is 8:00 A.M,arriving at 10:16 A.M";
char m2[80]="Closet Departure time is 9:43 A.M,arriving at 11:52 A.M";
char m3[80]="Closet Departure time is 11:19 A.M,arriving at 1:31 P.M";
char m4[80]="Closet Departure time is 12:47 P.M,arriving at 3:00 P.M";
char m5[80]="Closet Departure time is 02:00 P.M,arriving at 4:08 P.M";
char m6[80]="Closet Departure time is 03:45 P.M,arriving at 5:55 P.M";
char m7[80]="Closet Departure time is 07:00 P.M,arriving at 9:20 P.M";
char m8[80]="Closet Departure time is 09:45 P.M,arriving at 11:58 P.M";
int d1=8*60;
departure[0]=d1;
int d2=9*60+43;
departure[1]=dept2;
int d3=11*60+19;
departure[2]=dept3;
int d4=12*60+47;
departure[3]=dept4;
int d5=14*60;
departure[4]=dept5;
int d6=15*60+45;
departure[5]=dept6;
d7=19*60;
departure[6]=dept7;
d8=21*60+45;
departure[7]=dept8;
int main()
{
do
{
printf("Enter a time in 24-hour format:");
//prompt for time in hh and mm
scanf("%d:%d",&hh,&mm);
//calculate time in minutes
um=hh*60+mm;
int closeDepartureIndex=0;
int closeDeparture=usertime-departure[0];
//find the closest time
for(index=1;index<8;index++)
{
if(abs((um-departure[index]))<closeDeparture)
{
closeDeparture= usertime-departure[index];
closeDepartureIndex=index;
}
}
//pring message of corresponding index
if(closeDepartureIndex==0)
printf("%s",m1);
else if(closeDepartureIndex==1)
printf("%s",m2);
else if(closeDepartureIndex==2)
printf("%s",m3);
else if(closeDepartureIndex==3)
printf("%s",m4);
else if(closeDepartureIndex==4)
printf("%s",m5);
else if(closeDepartureIndex==5)
printf("%s",m6);
else if(closeDepartureIndex==6)
printf("%s",m7);
else if(closeDepartureIndex==7)
printf("%s",m8);
return 0;
}
的代码应该工作,但我打赌的错误是类型说明符缺失,出发的重新定义,数组下标是不是一个整数,和非对象类型char
是什么包含文件和行号的完整的实际错误消息? – melpomene
您在屏幕右侧显示确切的错误信息。您绝对没有理由未能将您的问题纳入其中,以便我们也可以获得这些详细信息。 –
我知道,但我试图修复它,并有问题这样做。 –