2014-02-09 1 views
1

최근에 구조체에 소개되었으며 실험적으로 해결책을 찾지 못하는 문제가 발생했습니다.자동 생성 구조체 멤버 이름 C

여러 멤버가있는 구조체를 만들고 싶지만이 작업을 수동으로 수행하는 지루한 과정을 피하기 위해 각 멤버의 이름을 자동으로 생성해야합니다. 지금까지 멤버를 만드는 데 사용하려는 구조와 함수가 있습니다.

STRUCT

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

PROTOTYPE

void newCustomer(Customers *Customer); 

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

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

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

MAIN FUNCTION

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 전화, 정적 정수 변수를 사용할 수 있습니다에 미리 감사하고, 증가.