标题:C语言,如何多维数组输出时,无值的地方显示空白?
只看楼主
eileenliai
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2015-10-20
结帖率:100%
已结贴  问题点数:20 回复次数:18 
C语言,如何多维数组输出时,无值的地方显示空白?



如两个附件里的图片所示,我希望能够写一个程序让他显示出来的时候如图所示,这是一个模拟的火车票预定系统其中一部分的节选,然后并且当用户选择定某一张车票后,对应地方的值要被减掉,然后输出后入图二所示。

具体题目是程序一开始:

用户被告知三个选项
1、购买车票:
2、查询余票:
2、退出

当用户选择1时:
{首先显示一个列表:

序号   站名
1      站1
2      站2
3      站3
.      .
.      .
.      .
然后进行一系列程序用户购买车票成功(略过因为这一部分没有问题)
返回主菜单。


然后如果用户输入:2
就显示表格(如附件1所示)
如果之前用户已经买过票,就显示进行过步骤一之后的表格(附件二所示)



我现在的问题就是不知道如何让结果显示的和图片一样。

我想用数组,就是赋值之后整体一行打印出来,但是如何让那些没有值的地方就空着,而且打印出来的结果不是进凑在一起的而是有间隔的啊???


(大一初学者,请大神帮帮忙喔)
搜索更多相关主题的帖子: 火车票预定 C语言 如图所示 图片 如何 
2015-10-20 14:15
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
得分:1 
看看你的數據結構和數據文件

授人以渔,不授人以鱼。
2015-10-20 14:45
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
得分:0 
這個怎麽會用“多維數組”的?

授人以渔,不授人以鱼。
2015-10-20 15:44
eileenliai
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2015-10-20
得分:0 
回复 3楼 TonyDeng
错了,是二维数组。。

然后不知道怎么写,,
2015-10-20 16:28
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
得分:0 
2樓你就不答了啊?

授人以渔,不授人以鱼。
2015-10-20 16:39
eileenliai
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2015-10-20
得分:0 
回复 5楼 TonyDeng
大神版主,我才学一个星期多,所以没太明白您说的让我看看数据结构和数据文件是什么意思,数据结构和数据文件指的是。。。- -!!
2015-10-20 16:44
蓝色风暴cl
Rank: 8Rank: 8
来 自:新疆
等 级:蝙蝠侠
威 望:3
帖 子:163
专家分:704
注 册:2015-9-6
得分:19 
Tony 版主很适合当老师啊,我记得我们C语言上机的时候老师什么也不讲,遇到问题,他给你解决了  有时候看不明白,给Tony 版主赞一个。

欢迎大家加好友哦,多找我聊聊吧!
2015-10-20 18:08
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
得分:0 
以下是引用边小白在2015-10-20 18:17:14的发言:

这显然是作业帮,而T版主已做好帮作业的准备。

偏不幫,讓你預言失敗。

授人以渔,不授人以鱼。
2015-10-20 21:08
eileenliai
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2015-10-20
得分:0 
回复 9楼 TonyDeng
//6515767 zy15767 AiLi
#include<stdio.h>
#include<stdlib.h>
#define trainsta 9
int main(void)
{
int a;
do
{
printf("1£©Book ticket(s):/n");
printf("2£©List available tickets:/n");
printf("3) Quit/n");
printf("Enter option:  /n");

scanf("%d",&a);
if (a==1)
{
    int b,c,d;
    char distance[trainsta][9]={0};
    distance[0][1]=155,distance[0][5]=380,
    distance[1][0]=155,distance[1][3]=210,distance[1][4]=180,distance[1][7]=180,distance[1][8]=280;
    distance[2][3]=95,distance[2][4]=90;
    distance[3][1]=210,distance[3][2]=95,distance[3][8]=130;
    distance[4][1]=180,distance[4][2]=90;
    distance[5][0]=380,distance[5][6]=610;
    distance[6][5]=610,distance[6][7]=235;
    distance[7][1]=180,distance[7][6]=235;
    distance[8][1]=280,distance[8][3]=130;

char tickets[trainsta][9]={-1};
    tickets[0][1]=10,tickets[0][5]=10,
    tickets[1][0]=10,tickets[1][3]=10,tickets[1][4]=10,tickets[1][7]=10,tickets[1][8]=10;
    tickets[2][3]=10,tickets[2][4]=10;
    tickets[3][1]=10,tickets[3][2]=10,tickets[3][8]=10;
    tickets[4][1]=10,tickets[4][2]=10;
    tickets[5][0]=10,tickets[5][6]=10;
    tickets[6][5]=10,tickets[6][7]=10;
    tickets[7][1]=10,tickets[7][6]=10;
    tickets[8][1]=10,tickets[8][3]=10;


    char stations[9][8]={"Ningbo","Hangzhou","Suzhou","Changzhou","Shanghai","Taizhou","Wenzhou","Jinhua","Nanjing""null"};
    printf("Num/tStation/n");
    int i;
    for(i=0;i<10;i++)
    {
        printf("%d/t%s/n",i+1,station[i]);
    }
    printf("Origin station: /n");
    scanf("%d",&b);
    if (b<1)
    {
        printf("Invalid station number./n");
    }
    else if (b>9)
    {printf("Invalid station number./n");
    }
    printf("Destination station number:/n");
    scanf("%d",&c);
     if (c<1)
    {
        printf("Invalid station number./n");
    }
    else if (c>9)
    {printf("Invalid station number./n");
    }
    else if (c==b)
    {
        printf("No train between %s and %s/n",stations[c-1],stations[c-1]);
    }
    else if(distance[b][c]==0)
    {
        printf("No train between %s and %s/n",stations[b-1],stations[c-1]);
    }
    printf("Number of tickets:  /n");
    scanf("%d",&d);
    if (d<0)
    {
        printf("Invalid number of tickets./n");
    }
    else if (d>tickets[b-1][c-1])
    {
        printf("Not enough tickets available (%d requested,%d remaining)./n",d,tickets[b-1][c-1]);
    }
    if(distance[b-1][c-1]>500)
    {
        printf("Tickets booked, total cost is %d RMB./n",300*d);
    }
    else if(distance[b-1][c-1]<500&&distance[b-1][c-1]>250)
    {
        printf("Tickets booked, total cost is %d RMB./n",200*d);
    }
2015-10-20 21:30
eileenliai
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2015-10-20
得分:0 
回复 9楼 TonyDeng
大神版主,This is the program written by me.

my school's computer don't have the 中文输入法 so i only can reply you in english.

when i ran my program, there are many many error and warning

i have tried to fix some of them.

and this is the best and final version that i can do.


but there is still many errors, i totally have no idea about those.  ppppppplease    help me
2015-10-20 21:37



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-458356-1-1.html




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

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