C++Builder Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
C++빌더 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
메신저 프로젝트
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C++빌더 Q&A
C++Builder Programming Q&A
[10038] 안녕하세요...^^
허진오 [] 748 읽음    2001-08-18 22:00
돌아다니다가 님의 사이트를 봤습니다...
그럼.. 점 부탁드립니다...^^
hershy5@hanmail.net 이 제 멜입니다... 부탁드립니다...^^


struct name {
    char firstname[10];
    char middlename[10];
    char lastname[10];
};

struct privates {
    int pirnumber;
    struct name *target;
};

이렇게 구조를 정의했습니다...
그리고 함수를 inputinfo(struct privates *temp, int i)
이런식으로 정의를 했구요....
여기서 inputinfo에서 저기 name구조의 배열에 입력시키는 방법은 무엇이죠??
전 gets(temp->target->firstname);
하면 될줄 알았는대... 안돼더 군요....물론 저기 pirnumber 에 입력시키는 것은
scanf("%d", &temp->pirnumber)
하면 됩니다....
아 그리고요...
위에게 안돼서 제가

struct privates {
    int pirnumber;
    char firstname[10];
    char middlename[10];
    char lastname[10];
};

그냥 이렇게 했습니다..
그런대 여기서 배열에 입력을 했는지 않했는지 알아볼려면 어떻게 해야 하죠??
if(temp->middlename != "\n")
    printf("%s %s %s. %d\n", temp->firstname, temp->middlename, temp->lastname, temp->pirnumber);
이런식이라든가, if(temp->middlename != NULL) 그리고 if(temp->middlename[0] != '\0') 이런식으로 여러가지
해 봤지만 안돼더군요.. ㅡㅡ;;
c를 오랜만에 해보는 거라... 잘 기억이 안나는군요...^^
그럼 고수님들의 많은 조언 부탁드립니다..


#include<stdio.h>
#define LIMIT 2
/*
struct name {
    char firstname[10];
    char middlename[10];
    char lastname[10];
};
*/

struct privates {
    int pirnumber;
    char firstname[10];
    char middlename[10];
    char lastname[10];

//    struct name *target;
};

void showinfo(struct privates *, int);
void inputinfo(struct privates *, int);

int main(void)
{
    struct privates templet[LIMIT];

    printf("이름과 주민등록 번호를 입력하세요...");
    inputinfo(templet, LIMIT);
    showinfo(templet, LIMIT);

    return 0;
}

void inputinfo(struct privates *temp, int l)
{
    int i;
    for(i = 0; i < l; i++, temp++)
    {
        printf("\n성을 입력하세요.");
        gets(temp->firstname);
        printf("\n중간 이름을 입력하세요. 만일 중간 이름이 없다면 그냥 엔터를 치세요.");
        gets(temp->middlename);
        printf("\n마지막 이름을 입력하세요.");
        gets(temp->lastname);
        printf("\n주민등록번호를 입력하세요.");
        scanf("%d", &temp->pirnumber);
        while(getchar() != '\n')
            continue;
    }
}


void showinfo(struct privates *temp, int l)
{
    int i;
    for(i = 0; i < l; i++, temp++)
    {
        if(temp->middlename != "\n")
            printf("%s %s %s. %d\n", temp->firstname, temp->middlename, temp->lastname, temp->pirnumber);
    }
}

+ -

관련 글 리스트
10038 안녕하세요...^^ 허진오 748 2001/08/18
10040     Re:안녕하세요...^^ 서영재 767 2001/08/19
10041         Re:Re:그런대요..^^ 허진오 746 2001/08/19
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.