2014-02-09 57 views
1

我最近已經介紹到結構並在試驗中,我遇到了一個問題,我似乎無法找到解決方案。自動生成結構C中的成員名稱

我想創建一個有幾個成員的結構,但我希望每個成員的名字能夠自動生成,以避免手動執行此操作的繁瑣過程。到目前爲止,我有我的結構和一個我想用來創建成員的函數。

STRUCT

struct Customers 
{ 
    char name[30]; 
    int age; 
} 

原型

void newCustomer(Customers *Customer); 

FUNCTION

void newCustomer(Customers *Customer) 
{ 
    char gender; 
    int age; 

    scanf_s("%c", 1, &gender); 
    scanf_s("%d", &age); 

    Customer->gender = gender; 
    Customer->age = age; 
} 

MAIN

int main() 
{ 
    int noOfCustomers; 
    int i = 0; 

    printf("How many customers will you be entering? : "); 
    scanf_s("%d", &noOfCustomers); 

    for(i = 0; i < noOfCustomers; i++) 
    { 
     Customers i; 
     newCustomer(&i); 
    } 
    return 0; 
} 

基本上我想做這樣的事情......每個成員都由一個ID或號碼自動錶示。我明白,上面的例子將不會工作,因爲是作爲一個結構化成員而不是一個int在循環中本地聲明,但我想知道是否有一種方法實現這一點。

預先感謝任何幫助:)

+1

這是一個數組嗎?正如客戶[0],客戶[1],...? –

+0

你的意思是「實例」而不是「成員」? –

+0

小問題(與問題相比),但在'Customer-> gender'中,'gender'沒有在你的結構中定義。 –

回答

1

您可以使用靜態整型變量,調用itoa將其轉換爲字符串,然後遞增。