c - 打印数据并给出开始和结束

标签 c arrays

有关如何打印给定开始和结束中的所有内容的帮助

首先这是main中的函数

for (i = 0; i < 30; i++) {
    printf("%s\n", Codes[i]);
    OneStock_ManyDailyData( DS, DS[i].Nametag, "10/2/2017", "11/6/2017" );        
    printf("\n\n");
}

这会调用该函数

void OneStock_ManyDailyData(struct company DS[30], Symbol code, StrDate start, StrDate end) {
    int i;
    int c;
    int x;
    int y;
    int a;

    for(i=0; i<30; i++) {
        //printf("Entered Loop\n");

        if(strcmp(DS[i].Nametag, code) == 0) {
            //printf("Gotcha!\n");

            for(c=0; c<DS[i].ndd; c++){
                //printf("Entered Second Loop\n");

            }
        }
    getch();
} 

应该在第二个 for 循环中放入哪些代码才能获取开始和结束的范围

最后一部分显示可以插入 for 循环内,但它只显示 1 个开始或给定日期

if(strcmp(DS[i].Values[c].date, date)==0){
    printf("%s \t%.2f \t%.2f \t%.2f \t%.2f \t%.0f\n", DS[i].Values[c].date, DS[i].Values[c].open, DS[i].Values[c].high, DS[i].Values[c].low, DS[i].Values[c].close, DS[i].Values[c].volume);
    printf("\n");
}

最佳答案

嗯,你必须研究 C 中的函数。要学习并遵循一些教程。 在这里你可以写:

void OneStock_ManyDailyData(struct company DS[30], Symbol code, StrDate start, StrDate end)

首先,你不能在 C 中将数组作为参数传递。你必须传递数组开头的指针。所以

void OneStock_ManyDailyData(struct company* ds, Symbol code, StrDate start, StrDate end)

我们在这里所做的是传递数组第一个元素的指针(这是我们在 C 中所做的) 现在您需要迭代 ds[30]。为此,我们还需要向函数告知元素的数量,以便迭代知道在哪里停止。 我们还需要知道迭代的步长有多大,在这种情况下,通常我们可以通过 sizeof(our_element) 找到它。

迭代是这样的:

void iterate_ds(struct company* ds , int elements , ... , ...)
{
    int i;
    for ( i = 0 , i < 30 , i ++)
    {
        do_what_you_want(ds[i]);
    }
}

您没有向我提供您的结构的结构,因此我无法说出您在 do_what_you_want(ds[i]); 中的内容。但是我认为您可以进行另一次迭代通过像我们对 ds 数组所做的那样传递参数来进行检查或其他操作。 我希望这有帮助:)

PS:指针是我们在C语言中传递给函数的,指针只是一个整数,它保存我们创建的元素所在的地址。

关于c - 打印数据并给出开始和结束,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47346514/

相关文章:

c - Pascal 的重复...直到与 C 的重复...而

c - 父级向子级发送命令行参数

用 C 创建更高效​​的矩阵转置代码

javascript - 在 componentDidUpdate 后获取添加到 JavaScript 数组中的新对象

javascript - 使用 knockout 将数组中某些输入的值与跨度绑定(bind)

PHP post 中的 html 多 <select> 数组

c - Opencv cvSetImageROI坐标问题

c - 有读写二进制文件格式(PE 和 ELF)的库吗?

arrays - Xcode Swift 检查数组是否包含对象

arrays - 具有数学属性的 Excel VBA 字符串转换