| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 630 人关注过本帖, 1 人收藏
标题:火车管理系统 但是有错误,希望那个能指点一下
只看楼主 加入收藏
赤壁男儿
Rank: 1
等 级:新手上路
帖 子:33
专家分:0
注 册:2009-12-26
结帖率:66.67%
收藏(1)
已结贴  问题点数:2 回复次数:4 
火车管理系统 但是有错误,希望那个能指点一下
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#define N 50;
 struct train
{
    char checi[10];//车次
    char start[20];
    char zhondian[20];
    int starttime;
    int daozhantime;
};




int input(struct train a[]);
void output(struct train a[],int n)
int find(struct train a[],int n,int time);
int correct(struct train a[],int n);

main()
{
    struct train train[N];//定义数组
    int choice;
    int k;//判断是否找到
    int number;//记录列车的数量
    int time;// 要查询的时间
    while(1)
    {
        menu();
        scanf("%d",&choice);
        switch(choice)
        {
        case 1:
            number=input(train);
            printf("共有%的量火车\n",number);
            break;
        case 2:
            output(train,number);
            break;
        case 3:
            printf("请输入你要查询的时间\n");
            scanf("%d",&time);
            k=find(train,number,time);
            if(i)
                printf("找到了\n");
            else
                printf("没有找到\n");
        case 4:
            k=correct(train,number);
            if(k)
                output(train,number);
            else
                printf("没有此车次的列车\n");
        case 5:
            exit(0);
            break;
        }
    }
}
void menu()
{
    printf("\t1|火车信息的录入\n");
    printf("\t2|火车信息的输出\n");
    printf("\t3|火车信息的查询\n");
    printf("\t4|火车信息的修改\n");
    printf("\t5|退出系统\n");
    printf("\t请选择\n");
}
//火车信息的录入
int input(struct train a[])
{
    int i=0;
    int choice=1;
    getchar();//清除回车
    if(i<N&&choice==1)
    {
        printf("请输入车次\n");
        gets(a[i].checi);
        printf("请输入起点站\n");
        gets(a[i].start);
        printf("请输入终点站\n");
        gets(a[i].zhondian);
        printf("请输入发车时间\n");
        scanf("%d",a[i].starttime);
        printf("请输入到站时间\n");
        scanf("%d",&a[i].daozhantime);
        i++;
        printf("是否继续 是(1) 或否(0)");
        scanf("%d",&choice);
        getchar();//清除回车
    }   
    return i;
}

//火车信息的输入
void output(struct train a[],int n)
{
    int i;
    printf("\t\t列车时刻表如下\n");
    printf("\t车次\t\t发车时间\t\t起点站\t\t终点站\t\t到站时间\n");
    for(i=0;i<n;i++)
    {
        printf("\t%s",a[i].checi);
        printf("\t\t%d",a[i].starttime);
        printf("\t\t%s",a[i].start);
        printf("\t\t%s",a[i].zhondian);
        printf("\t\t%d\n",a[i].daozhantime);
    }
}

//查询列车
int find(struct train a[],int n,int time)
{
    int i=0;
    for(i=0;i<n;i++)
    {
        if(time==a[i].starttime)
            break;
    }
    if(i=n)
        return 0;
    else
    {
        printf("\t车次\t\t发车时间\t\t起点站\t\t终点站\t\t到站时间\n");
        printf("\t%s",a[i].checi);
        printf("\t\t%d",a[i].starttime);
        printf("\t\t%s",a[i].start);
        printf("\t\t%s",a[i].zhondian);
        printf("\t\t%d\n",a[i].daozhantime);
        return 1;
    }
}

//修改列车信息
int correct(struct train a[],int n)
{
    char name[20];
    int i;
    int j;//判断是否找到
    getchar();
    printf("请输入你要修改信息的车次名\n");
    gets(name);
    for(i=0;i<n;i++)
    {
        if(strcmp(a[i].checi,name)==0)
            break;
    }
    if(i<n)
    {
        printf("请输入新的发车时间\n");
        scanf("%d",a[i].starttime);
        printf("请输入终点站\n");
        getchar();
        scanf("%s",a[i].zhondian);
        printf("请输入到站时间\n");
        scanf("%d",&a[i].daozhantime);
        return 1;
    }
    else
    return 0;
}
搜索更多相关主题的帖子: 系统 火车 管理 
2010-06-05 21:08
luochengwww
Rank: 2
等 级:论坛游民
帖 子:40
专家分:48
注 册:2010-3-31
收藏
得分:1 
悲哀呀没有编程软件
大问题没找到小问题找到一个
        case 1:
            number=input(train);
            printf("共有%量火车\n",number);=======>>>>>>>>printf("共有%d量火车/n",number);
            break;
        case 2:
            output(train,number);
            break;

2010-06-05 22:23
wu6325170
Rank: 1
等 级:新手上路
帖 子:3
专家分:1
注 册:2010-5-16
收藏
得分:1 
1.#define N 50;此处不能有分号。
2.void output(struct train a[],int n)没加分号。
3. menu();没有声明。
4.  case 3:
            printf("请输入你要查询的时间\n");
            scanf("%d",&time);
            k=find(train,number,time);
            if(i)
                printf("找到了\n");
            else
                printf("没有找到\n");其中的i是干啥用的?!应该是k吧!
5.int correct(struct train a[],int n)
{
    char name[20];
    int i;
    int j;//判断是否找到
  最后一个子函数中的j是干啥用的?!
就找到这么多。
2010-06-06 11:19
wu6325170
Rank: 1
等 级:新手上路
帖 子:3
专家分:1
注 册:2010-5-16
收藏
得分:0 
又一发现:
int input(struct train a[])
{
    int i=0;
    int choice=1;
    getchar();//清除回车
    if(i<N&&choice==1)
    {
        printf("请输入车次\n");
        gets(a[i].checi);
        printf("请输入起点站\n");
        gets(a[i].start);
        printf("请输入终点站\n");
        gets(a[i].zhondian);
        printf("请输入发车时间\n");
        scanf("%d",a[i].starttime);有没有发现这里少了一个&

        printf("请输入到站时间\n");
        scanf("%d",&a[i].daozhantime);
        i++;
        printf("是否继续 是(1) 或否(0)");
        scanf("%d",&choice);
        getchar();//清除回车
    }   
    return i;
}
2010-06-06 11:25
luochengwww
Rank: 2
等 级:论坛游民
帖 子:40
专家分:48
注 册:2010-3-31
收藏
得分:0 
同意2。3楼
2010-06-06 11:57
快速回复:火车管理系统 但是有错误,希望那个能指点一下
数据加载中...
 
   



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

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