首页 > 解决方案 > 使用结构数组和文件通过函数传递值

问题描述

我正在从文件中读取输入数据并将其存储在结构数组中。

我成功地做到了这一点,并且能够存储数据并使用结构数组打印它。只是为了确认它确实被存储了。

现在我提示用户输入在文件中输入的名称以选择此人。这样做的目的是将他们给的钱分成最大的可用硬币(例如 80 美分是 50 美分硬币、20 美分硬币和 10 美分硬币。)另一个结构数组,但在这样做时遇到了麻烦。

{
    int choice,I;
    char search[SIZE];
    printf("1. Enter Name\n");
    printf("2. Exit\n");
    scanf("%d", &choice);

    if(choice == 1)
    {
        printf("Please enter the name: ");
        scanf(" %s", &search);

        for(i=0; i < RECIPIENT; i++)
        {
            if(strcmp(search, all[i].allname)==0)
            {
                input[].fcents = all[i].coins;
                strcpy(input[].name, all[i].allname);
                printf("%s %d\n", input[].name, input[].fcents);
            }
        }
        if(strcmp(search, all[i].allname)!=0)
        {
            printf("Name is not in system");
        }
    }
    return(choice);
}

这是我当前的菜单功能。如果我交换all[]数组的 printf 变量,这可以正常工作并且可以正确显示名称。我无法提供input[]数组正在阻止我进一步进行。我还有其他依赖于这个成功的数组分配的函数。我在分配变量时哪里出错了?

标签: carrays

解决方案


推荐阅读