| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 459 人关注过本帖, 1 人收藏
标题:程序代码出现了一点小问题,求帮忙!!!!
只看楼主 加入收藏
d1140197776
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2014-11-15
结帖率:0
收藏(1)
已结贴  问题点数:20 回复次数:2 
程序代码出现了一点小问题,求帮忙!!!!
求大神帮忙改下面的程序,只有一个错误,错误就在倒数第二行,显示错误的原因是:`main' must return `int'
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#define N 1000
typedef struct plane
{
    char ID[10];  /*航班代号*/
    char BePlace[10];/*飞机起飞地点*/
    char EnPlace[10];/*飞机降落终点*/
    char data[15];/*飞机起飞时间*/
    int max;/*飞机最大乘客人数*/
    int price;/*飞机票价*/
    int num;/*飞机已售票数*/
}PLANE;
PLANE ti[N];
int n;/*当前的航班数目*/
void menu();
void menu1();



void input(int i)
{
    printf("请输入航班代号:\n");
   
    scanf("%s",ti[i].ID);
    printf("请输入起飞地点:\n");
   
    scanf("%s",ti[i].BePlace);
    printf("请输入降落地点:\n");
   
    scanf("%s",ti[i].EnPlace);
    printf("请输入起飞时间:\n");
   
    scanf("%s",ti[i].data);
    printf("请输入航班的最大载客人数:\n");
    scanf("%d",&ti[i].max);
    printf("请输入航班的票价:\n");
    scanf("%d",&ti[i].price);
    ti[i].num=0;
}


void enter()
{
    int i;
    system( "cls" );
    printf("请输入航班的数目(0-%d)?:",N);
    scanf("%d",&n);                  /*要输入的记录个数*/
    printf("\n请输入数据\n\n");
    for(i=0;i<n;i++)
    {
         printf("\n请输入第 %d 航班记录.\n",i+1);
         input(i);                        /*调用输入函数*/
     }
    getchar();  
    menu();
}



void printf_one(int i)                              /*显示一个记录的函数*/
{
    printf("%11s  %6s  %10s   %6s   %6d  %6d  %6d",ti[i].ID,ti[i].BePlace,ti[i].EnPlace,ti[i].data,ti[i].price,ti[i].max,ti[i].num);

}



void browse()
{
    int i;
    system( "cls" );
    puts("\n--------------------------------------------------------------------");
    printf("\n\t航班代号 起飞地点 降落地点 起飞时间   票价  最大乘客 已售票数\n");
    for(i=0;i<n;i++)
    {
        printf_one(i);
        printf("\n");
    }
    getchar();
    getchar();   
    menu();
}

void order()                           /*排序模块(按平均成绩)*/
{
    int i,j;
    struct plane s;
    system( "cls" );
    for(i=0;i<n;i++)              /*冒泡法排序*/
    {
        
        for(j=i+1;j<n;j++)
        if(strcmp(ti[i].data,ti[j].data)>0)
        {
        s=ti[i];
        ti[i]=ti[j];
        ti[j]=s;}
     }

    browse();

}



void search_time()
{
    int i,m=0;
    struct plane s;
    system( "cls" );
    printf("\n\nEnter the time:");
    scanf("%s",s.data);                /*输入出发的时间*/
    puts("\n--------------------------------------------------------------------");
    printf("\n\t航班代号 起飞地点 降落地点 起飞时间   票价  最大乘客 已售票数\n");
    for(i=0;i<n;i++)
    {
        if(strcmp(s.data,ti[i].data)==0)
        {
            m++;
               if((m!=0)&&(m%10==0))               /*目的是分屏显示*/
               {
                    printf("\n\nPress any key to contiune  . . .");
                    getchar();
                    puts("\n\n");
               }
                printf_one(i);  
                printf("\n");
                /*调用显示一个记录的函数*/
        }
    }
    puts("\n--------------------------------------------------------------------");
    getchar();                          /*按任意健*/
    getchar();   
    menu1();
}



void serch_end()
{
    int i,m=0;
    struct plane s;
    system( "cls" );
    printf("\n\nEnter the end Place:");
    scanf("%s",s.EnPlace);                /*输入要到达的地方*/
    puts("\n--------------------------------------------------------------------");
    printf("\n\t航班代号 起飞地点 降落地点 起飞时间   票价  最大乘客 已售票数\n");
    for(i=0;i<n;i++)
    {
        if(strcmp(ti[i].EnPlace,s.EnPlace)==0)
        {
            m++;
               if((m!=0)&&(m%10==0))               /*目的是分屏显示*/
               {
                    printf("\n\nPress any key to contiune  . . .");
                    getchar();
                    puts("\n\n");
               }
                printf_one(i);  
                printf("\n");
                /*调用显示一个记录的函数*/
        }
    }
    puts("\n--------------------------------------------------------------------");
    getchar();                          /*按任意健*/
    getchar();
    menu1();
}



void menu1()
{
    int n,w1;
    do
    {
        system( "cls" );                   /*清屏*/
        puts("\t\t\t\t  飞机售票操作!\n\n");
        puts("\t\t*********************MENU*********************\n\n");
        puts("\t\t\t\t1.按照时间排序");
        puts("\t\t\t\t2.按照时间查找航班");
        puts("\t\t\t\t3.按照地点查找航班");
        puts("\t\t\t\t4.返回主菜单");
        puts("\n\n\t\t**********************************************\n");
        printf("Choice your number(1-4): [ ]\b\b");
        scanf("%d",&n);
        if(n<1||n>4)                                  /*对选择的数字作判断*/
       {
          w1=1;
          printf("your choice is not between 1 and 4,Please input again:");
          getchar();
          getchar();
        }
       else  w1=0;
    } while(w1==1);
 /*选择功能*/


 switch(n)
 {
     case 1:order();break;      
     case 2:search_time();break;   
     case 3:serch_end();break;     
     case 4:menu();break;     
  }
}



int search()                          /*查找模块*/
{
    int i,k;
    struct plane s;
    k=-1;
    system( "cls" );
    printf("\n\n请输入要订票的起飞地点:");
    scanf("%s",s.BePlace);                /*输入要到达的地方*/
    printf("\n\n请输入要订票的降落地点:");
    scanf("%s",s.EnPlace);
    printf("\n\n请输入要订票的起飞时间:");
    scanf("%s",s.data);                /*输入出发的时间*/

    for(i=0;i<n;i++)                  /*查找要修改的数据*/
    {

        if(strcmp(s.BePlace,ti[i].BePlace)==0&&strcmp(s.EnPlace,ti[i].EnPlace)==0&&strcmp(s.data,ti[i].data)==0)
        {
            k=i;                      /*找到要修改的记录*/
            printf_one(k);
            break;                  /*调用显示一个记录的函数*/
        }
    }
    if(k==-1)
    {
         printf("\n\nNO exist!");
         return -1;
    }
    else
    return k;
}



void book()
{
    int i;
    system( "cls" );
    printf("欢迎进入售票窗口!\n");
    i=search();
    if(i!=-1)
    {
        if(ti[i].num>=ti[i].max)
        {
        printf("\n该趟航班票已售完!");
        }
        else
        {
            ti[i].num++;
            printf("\n订票成功!\n");
        }
    }
    else
    printf("该航班不存在!\n");
    getchar();
    getchar();                         /*按任意健*/
    menu();
}



void back()
{
    int i,k=-1;
    struct plane s;
    system( "cls" );
    printf("欢迎进入退票窗口!\n");
    printf("\n\n输入航班代号:");
    scanf("%s",s.ID);                /*输入要到达的地方*/
   
    for(i=0;i<n;i++)                  /*查找要修改的数据*/
    {

        if(strcmp(s.ID,ti[i].ID)==0)
        {
            k=i;                      /*找到要修改的记录*/
            printf_one(k);
            break;                  /*调用显示一个记录的函数*/
        }
    }
    if(k==-1)
    {
         printf("\n\nNO exist!");
    }
    else
    {
       ti[i].num--;
       printf("\n退票成功!\n");
    }
    getchar();                          /*按任意健*/
    getchar();                          /*按任意健*/
    menu();
}



void save()
{
    int w=1;
    FILE *fp;
    int i;
    system( "cls" );
    if((fp=fopen("\\ticket.txt","wt"))==NULL)    /*以输出打开方式,在此前的记录被覆盖*/
    {
        printf("\nCannot open file\n");
        return ;
    }
    for(i=0;i<n;i++)
    if(fwrite(&ti[i],sizeof(struct plane),1,fp)!=1)
    {      
        printf("file write error\n");
        w=0;
    }
    if(w==1)
    {
       printf("file save ok!\n");
    }
    fclose(fp);
    getchar();
    getchar();   
    menu();
}



void load()
{
    FILE*fp;
   
    int i,w;
    w=1;
   
    system( "cls" );
    if((fp=fopen("\\ticket.txt","rt"))==NULL)
    {
        printf("\nCannotopen file\n");
        w=0;
        return ;
    }
    n=0;
    for(i=0;!feof(fp);i++)
    {
        fread(&ti[i],sizeof( struct plane),1,fp);
        n++;
    }
    n=n-1;
    fclose(fp);
    if(w==1)
        printf("Load file ok!");

    getchar();
    getchar();   
    menu();
}



void menu()
{
    int n,w1;
    do
    {
        system( "cls" ); /*清屏*/                  /*清屏*/
        puts("\t\t\t\t  飞机售票管理系统!\n\n");
        puts("\t\t*********************MENU*********************\n\n");
        puts("\t\t\t\t1.输入新航班");
        puts("\t\t\t\t2.浏览 ");
        puts("\t\t\t\t3.航班操作");
        puts("\t\t\t\t4.订票");
        puts("\t\t\t\t5.退票");
        puts("\t\t\t\t6.保存");
        puts("\t\t\t\t7.载入");
        puts("\t\t\t\t8.退出");
        puts("\n\n\t\t**********************************************\n");
        printf("Choice your number(1-8): [ ]\b\b");
        scanf("%d",&n);
        if(n<1||n>8)                                  /*对选择的数字作判断*/
       {
          w1=1;
          printf("your choice is not between 1 and 8,Please input enter to choice again:");
          getchar();
          getchar();
        }
       else  w1=0;
    } while(w1==1);
 /*选择功能*/
 switch(n)
 {
     case 1:enter();break;      /*输入模块*/
     case 2:browse();break;    /*浏览模块*/
     case 3:menu1();break;     /*查找模块*/
     case 4:book();break;     /*订票模块*/
     case 5:back();break;     /*退票模块*/
     case 6:save();break;     /*保存模块*/
     case 7:load();break;     /*加载模块*/
     case 8:exit(0);
  }
}



void main()
{
   menu();
}

  

搜索更多相关主题的帖子: include return 飞机票价 price 
2014-11-15 16:41
SKYYYF
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:71
专家分:184
注 册:2012-9-23
收藏
得分:10 
可以正常运行啊
2014-11-15 19:27
laybaek
Rank: 2
等 级:论坛游民
帖 子:20
专家分:50
注 册:2014-10-21
收藏
得分:10 
你是不是用的cf啊 把void改成int就好了
2014-11-15 19:40
快速回复:程序代码出现了一点小问题,求帮忙!!!!
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.028934 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved