printf 및 scanf 사용에 문제가 있었습니다.
자세히 보지 않아 다른 문제가 있는지는 모르겠지만 4가지 기능이 동작하는걸 보았습니다.
처음 메모리 할당할때 double로 할당했는데 실제 데이타 입력에서는 %ld로 scanf를 사용했기에 long형 값이 들어갔으며 실제 디버그창에서 값이 깨져있었습니다.
double형 변수를 입력 받는 scanf에서도 그렇고 출력하는 printf에서도 그렇고 ...
모두 %ld를 사용했는데 실제 메모리 생성에는 double(%lf)로 되어있던게 문제되었습니다.
김기현 님이 쓰신 글 :
: 안녕하세요~
:
: 학교과제로 프로그램을 하나 짜는데요... (turbo c로)
:
: malloc function이랑 pointer을 사용해서 dynamic array를 생성 해서 거기에 값을 저장하는건데요..
:
: 주된 용도가 사용자가 날자 일수를 정해주면..(예로 10일) malloc function으로 dynamic array를 생성하구요
:
: 개별 array에 온도를 입력해주고 나면 4선택 혹은 5선택지의 메뉴로 넘어갑니다.
:
: 메뉴에서 사용자의 선택은 입력받은 온도들을 오름차순 혹은 내림차순 으로 정렬을 하는거와 온도들의 평균값, 그리고
:
: 사용자가 일정범위의 (최소, 최고 온도) 온도를 입력해주면 그 범위 온도에 해당되는 날이 총 몇일인지
:
: 알아주는 프로그램이며 각 메뉴는 적절한 function을 불러주어야 하구요.. 그리고 array는 반드시 function들에게
:
: 포인터로써 넘겨져야 하구요..
:
: 나름대로 짜 보았는데요.. malloc function으로 array를 생성하구 거기에 온도값을 저장하는것 까지는 제가
:
: 아무이상이 없는것 같은데, 오름 혹은 내림차순으로 정렬하는 곳에서 결과가 이상하게 나오네요..
:
: 그리고 평균값을 구하는곳과 일정 범위온도에 해당되는 일수 계산하는것도요..
:
: ㅠ.ㅠ.. 으.. 도저히 혼자선 뾰족한 수가 없네요.. 꼭 좀 도와주세요~~~~~~~~~
:
: 파일도 같이 첨부합니다~!!
|