파일입출력 형태로 학생정보를 받아서 학번으로 버블정렬을 할려고 하는데 막혀버렸어요 도와주세요~!
참
상황설명이 너무 조잡하더라도 이해해주세요 ㅎㅎ 초보라서요 ㅠㅠ
혹시 몰라서 소스랑 txt 파일 첨부합니다..
for(a=0;a50;a++) // 소스파일에서 불러서 list 에다가 값을 집어넣음
{
fscanf(fread, %d %s %s %s %s, &list[a].id, list[a].name, list[a].hakg, list[a].phone, list[a].sex);
printf(전-학번: %d 이름: %s 학과: %s 폰번호: %s 성별: %s\n, &list[a].id, list[a].name, list[a].hakg, list[a].phone, list[a].sex);
}
이부분에서 &list[a].id 가 학번을 받는 구조체변수 입니다...
학번을 %d로 받으면 값이 달라져서 나오게 되고 문자열 형태로 받으면 txt파일에 있는 값이 그대로 옵니다..
이걸 버블정렬로 정렬해서 구조체변수 값자체를 통째로 교환하는 방식으로 정렬을 할려고 하는데
구조체변수는 비교가 않되는건가요????
아니면 학번값자체를 문자열로 받아와서 문자열끼리 비교가 않되는건지..
어떻게 하면 해결 방안이 나올까요 ㅠㅠ
새벽까지 해보다가 못하고 자버렸는데...
이렇게 도움을 요청하게 되었습니다 혹시 아시는분은 좀 알려주세요^^
-
베네딕트
학번을 문자열로 받으시고 strcmp를 사용해 보세요..
-
하늘빛눈망울
학번을 정수 형태로 입력받으려면 int[] 타입이 아니라 int 타입의 변수를 사용해야 할 것 같군요.
그러면 문제가 해결되겠네요. -
김슬픔
흠..문자열로 비교하는거 자체가 아닌듯하군요.. txt파일의 내용을 불러들일때 정수형으로 받을순 없나요??