0

ここに構造体があります

int main() {
    typedef struct {
        char firstName[25];
        char lastName[30];
        char street[35];
        char city[20];
        char state[3];
        int zip;
        char phone[15];
        int accountId;
    }Customer ;

これに x 量のデータを入力するとします。

メンバーに基づいてこの構造体の配列インデックスを検索し、その「顧客」情報を出力する簡単な方法は何ですか。具体的には、州ごとに顧客を探しています。

4

1 に答える 1

2

以下は、何らかの助けになると私が信じている例です。もちろん、顧客の定義、記録の印刷、およびデータの入力を拡張する必要があります。また、この例では customer[] がスタック上にあるため、そのメンバーはゼロに設定されていないため、何らかの方法で意図した値に設定する必要があることに注意してください。

#include <string.h>
#include <stdio.h>

#define NUM_RECORDS   10

int main()
{
    int i;
    typedef struct {
        char state[3];
    } Customer;

    Customer customer[NUM_RECORDS];
    strcpy(customer[2].state, "CA");

    for (i = 0; i < NUM_RECORDS; i++)
    {
        // if this customer record's state member is "CA"
        if (!strcmp(customer[i].state, "CA"))
            printf("state %d: %s\n", i, customer[i].state);
    }

    // Prints "state 2: CA"

    return 0;
}
于 2013-02-23T05:04:00.180 に答える