Closed. This question needs details or clarity。它当前不接受答案。
想改善这个问题吗?添加详细信息并通过editing this post阐明问题。
3年前关闭。
该程序的主要目的是在称为“通道”的数组中显示值,但我似乎什么也没显示。显示完成后,我需要提示用户选择四个通道之一,并显示所选“通道”的值。这是我到目前为止所拥有的。我也不能使用任何循环。请帮忙。
//我正在使用一种结构将所有值存储在数组中
//我想在这里显示所有通道及其值...我知道我必须使用printf,但是我需要使用指针吗?
//此部分仅用于所选频道
这将提示用户输入一个索引,该索引表示数组中通道的索引。如果愿意,您也可以先打印所有通道选择。
出于演示目的,我将所选通道保留在变量
编辑:不进行任何错误检查以确保
想改善这个问题吗?添加详细信息并通过editing this post阐明问题。
3年前关闭。
该程序的主要目的是在称为“通道”的数组中显示值,但我似乎什么也没显示。显示完成后,我需要提示用户选择四个通道之一,并显示所选“通道”的值。这是我到目前为止所拥有的。我也不能使用任何循环。请帮忙。
#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
在范围内。这是为了避免显示任何额外的混乱代码。