C언어 coffee shop
- 최초 등록일
- 2014.12.23
- 최종 저작일
- 2012.10
- 5페이지/ 한컴오피스
- 가격 1,000원
목차
1. 과제설명
2. 이론
3. 소스코드 설명
4. 실행결과 및 설명
5. 고찰
6. 전체 소스코드
본문내용
실행방법
•돈을 투입 후, 잔액에 대해서도 반복적으로 구입이 가능.
•금액이 모자랄 경우, “000원 금액이 모자랍니다.” 라고 출력 후 투입과 반환이 가능하도록 구현. (* 구입이 이뤄질 수 없음)
•반환을 누르면, 잔액에 대해서 반환 후 프로그램 종료.
•기본적으로 3개의 제품은 고정되어있으며, “americano", “lattee", “hub_tea" O
•그 이상 제품이 추가가 가능하며 추가된 제품들은 다시 수정 또는 삭제가 가능
•추가될 제품의 개수는 한정되어있지 않음. (malloc)
–주의사항
•고정된 3개의 제품의 이름을 동일하게 통일. “americano", “lattee", “hub_tea"
•메모리의 동적할당(malloc)을 이용하여 프로그램 구현.
2, 이론
malloc() - malloc()함수의 인수로 크기를 넘겨주면 운영체제에서 비어있는 영역을 할당하여 그 시작주소를 반환해 준다. malloc()함수는 호출 시 메모리를 할당받을 수 없는 상태라면 null값을 반환할 것이다.
malloc()함수의 이용한 메모리 할당
char *ptr;
ptr=(char*)malloc(80);
이때 malloc() 함수 앞의 (char*)는 cast 연산자로 왼쪽에 이TSms 포인터 변수 ptr의 자료형과 일치시키기 위한 표현이다.
만약 malloc()함수가 운영체제, 즉 시스템으로부터 메모리를 할당받지 못하면 이 함수는 null 포인터를 반환한다. 따라서 malloc()을 호출하면 항상 그 반환값이 null인지를 검사해야한다.
그러나 메모리 할당이 성공적이면 힙 영역에 80byte의 메모리를 할당받으며 할당받은 선두 번지를 ptr변수에게 넘겨주게 된다.. 이때 힙 영역의 80byte 공간에는 쓰리기값이 남아있으므로 할당받은 영역을 초기화한다음 사용하여야 한다.
3, 소스코드 설명
printf("현재 남아있는 잔액은 %d 입니다.",change=b-d*2000);
남아있는 잔돈을 계산하는 코드이다 b는 기존에 남겨져 있는 돈이고, d는 선택한수량, 그리고 2000은 제품의 가격이므로, 남은 돈에서 제품의 수량에 가격을 곱한 값을 빼는 그런 방식이다.
참고 자료
없음