• 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏吧

如何显示数组的内容并提示用户进行选择{C}

c/c++ 来源:aaa 3次浏览

该程序的主要目标是显示数组内的值,名为“channels”,但我似乎无法获得任何内容显示。显示屏显示后,我需要提示用户选择四个通道中的一个并显示所选的“通道”值。这是我迄今为止。我也不能使用任何循环。请帮忙。如何显示数组的内容并提示用户进行选择{C}

#include <stdio.h> 

//我使用的是结构到所有的值存储阵列

typedef struct 

{ 
    char* name; 
    double n; //roughness 
    double slope; 
    double width; 
    double depth; 

} CHANNEL; 


main() 
{ 

    CHANNEL channels [4] = { 
    {"Channel1", 0.035, 0.0001, 10.0, 2.0}, 
    {"Channel2", 0.020, 0.0002, 8.0, 1.0}, 
    {"Channel3", 0.015, 0.0010, 20.0, 1.5}, 
    {"Channel4", 0.030, 0.0007, 24.0, 3.0} 
    }; 

内//我想在这里显示所有频道和他们的价值观……我知道我必须使用printf,但我需要使用指针吗?

printf("Please note:\n 0 = Channel 1 \n 1 = Channel 2 \n 2 = Channel 3 \n 3 = Channel 4); 

//这部分只是针对所选择的通道

printf(Pick a channel from 0-3\n"); 
    int c = 0; 
    scanf("%i", &c); 
    CHANNEL chosen = channels [c]; 

} 


===========解决方案如下:

首先,进行Daniel Litvak建议的更改。然后,从用户那里得到的信息,你应该这样做:

int main(void) { 

    // ... 
    printf("Pick a channel from 0-3\n"); 
    int c = 0; 
    scanf("%i ", &c); 

    CHANNEL chosen = channels[c]; 

    printf ("The channel chosen is %s, n = %f, slope = %f and the depth = %f", chosen.name, chosen.n, chosen.slope, chosen.depth); 
} 

这将提示用于索引数组中表示该通道的指数用户。如果您愿意,您还可以首先打印出所有的频道选项。

为了演示目的,我将所选频道留在变量chosen中,您可以按需要继续。

编辑:没有进行错误检查以确保c在范围内。这是为了避免显示任何额外的,令人困惑的代码。


版权声明:本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系管理员进行删除。
喜欢 (0)