|
돌아다니다가 님의 사이트를 봤습니다...
그럼.. 점 부탁드립니다...^^
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);
}
}
|