typedef struct _Person
{
char name[100] ;
char phone[100];
} Person;
Person person[100] = {NULL,};
이런식으로 미리 여러개 만들어둔다음에
int i = 0;
for (; person[i].name != 0; i++);
cout << "Input Name : ";
cin >> Person[i].name;
이런식으로 여태 입력된 데이터 다음배열에다가 입력받을려고 하는데..
전혀 안되네 .. ㅠㅠ
for (; person[i].name != 0; i++); 이게 자료들어있지않은 배열찾으려고만든건데 전혀 의도대로 작동안하는듯..
뭐가 문제일까요
간단한 방법으로는 구조체안에 count를 넣어서 구조체에 뭔가를 넣을 때마다 count를 1씩 증가시키면 되겟지?
ㄴ 중간중간 썼다 지웠다 하려면 저렇게 어디까지 자료입력되었는지찾는게 꼭 필요해서요...
다른 방법으로는 간단하게 used 변수를 하나 선언한 다음에. 0으로 초기화를 해놓고 뭔가를 쓰면 1로 바꾸고 지우면 다시 0으로 바꾸고 그래도 되고
ㄴ 제 코드상에 문제점은 알수없을까요?? ㅠㅠ
for (; person[i].name != 0; i++); 이게 잘못된건 확실한대.. 왜 잘못된건질 모르겠어요
맨처음 죄다 NULL로 초기화했으니까 아무것도 입력안한상태에서 i가 0이되어야 정상인데 , 0 이 아니라 이상한 쓰레기값이 나오네요
님 코드를 제가 고치는 거는 넘 귀찮은 일이라.....
ㅋㅋㅋㅋ - DCW
for (; person[i].name != NULL; i++); cout << i << endl;
이렇게했을때 I 가 0이 찍히는게 아니라 이상한 쓰레기값이 찍혀요... 분명히 null로 초기화했으면 0이 찍혀야되는데.. 이것만이라도 알려주세요 ㅠㅠ
그래도.... person[i].name는 주소값을 반환하는데 그 주소값이랑 0을 비교하니까 문제가 생기는 것으로 보입니당...
아.. char이니까 주소값 반환.. 감사합니다. ㅋㅋㅋ *( person[i].name)으로 수정하니까 잘되네요~!~!
올 ㅊㅋㅊㅋ
ㄳㄳ
http://dblack.tk
커뮤니티 사이트 입니다 많은 이용 부탁 드립니다.