• LF몰 이벤트
  • 파일시티 이벤트
  • 서울좀비 이벤트
  • 탑툰 이벤트
  • 닥터피엘 이벤트
  • 아이템베이 이벤트
  • 아이템매니아 이벤트

[c언어] c프로그래밍 시뮬레이션 [매장 계산대 구현]

*민*
최초 등록일
2008.01.07
최종 저작일
2007.12
13페이지/파일확장자 압축파일
가격 3,000원 할인쿠폰받기
다운로드
장바구니

소개글

c언어로 구현한 시뮬레이션 프로그래밍 입니다.
이마트, 홈플러스 등등에 있는 계산대를 구현하였습니다.
소스는 깔끔하고 보기좋게 모든 연산은 함수로 구현하였으며, 모든 라인별로 주석을 달아놓았습니다.
제가 제출할때 냈던 보고서까지 첨부하였으며, 본 자료는 학기말 텀 프로젝트로 제작 하였으며, 교수님께 만점을 받은 프로그램 입니다.
제작기간은 약 4일정도 소요 되었습니다.

아래는 소스 일부 입니다.-------------------------------------------------------
void customer() //손님 발생함수
{
double temp;
int goods, line;

srand(time(NULL));

temp=Uniform(); //유니폼을 호출하여 리턴값을 temp 에 저장

if (0.4 < temp && temp < 0.6) //만약 temp 가 0.4보다 크고 0.6보다 작으면
{
goods=rand()%30 + 1; //goods에 1부터 30까지 랜덤값 저장
line=select_line(); //select_line()을 호출하여 line에 저장
Q_put(line,goods); //해당 계산대의 큐에 goods값 저장
}
}

void counter_1() //계산대 1 함수
{
int i;

queue_num(); //queue_num() 호출
gotoxy(17,22);
printf("%2d", counter1.line); //현제 대기자수 출력

if(counter1.state==0) //계산중이지 않으면
{
gotoxy(17,16);
printf("O"); //입장가능 ('O') 출력
}


if (counter1.line>0 && counter1.state==0) //대기손님이 있으나, 계산중이지 않으면
{
if(rear[0] != front[0]) //큐에 데이터가 있으면
{
waiting_time[0][front[0]] = clk - queue[0][front[0]].time_start; //대기시간 = 현제시간 - 줄을 선 시간
gotoxy(16,14);
printf("%3.1lf",waiting_time[0][front[0]]); //현제손님 대기시간 출력

if(waiting_time[0][front[0]] > 0.0) //대기시간이 0보다 크면
{
total_delay[0]++; //누적 대기손님 1 증가
}
gotoxy(101,12);


아래는 보고서 일부 입니다.-------------------------------------------------------
1. 문제정의

- 주제선정
강의 마지막 주차 때 배운 Simulation 을 큰 주제로 잡아 세부 주제를 선정 하였습니다. 누구나 한 달에도 몇 번씩은 방문하는 대형할인마트를 모델로 삼아 Simulation을 구현하였습니다.

- 세부조건
계산대는 총 3개가 갖추어져 있다. 손님들은 제각각 필요한 물건들을 모두 구매하면 계산대로 향하는데, 누구나 그렇듯이 계산대 중에 대기 중인 손님이 있다면 줄이 가장 적은 곳에 줄을 선다. 하지만 1, 2, 3 번 계산대의 대기 줄이 같으면 출구에 가까운 1번 계산대에 줄을 선다. 각각 구매한 상품은 해당 계산대의 직원이 바코드를 찍으며 계산을 시작한다. 각 계산대별 직원들의 상품 바코드 찍은 속도는 똑같으며, 상품을 계산대에 꺼내어 놓는 시간과, 금액을 결제하는 시간은 생략한다. 각 계산대별 누적 손님과, 누적 판매금액, 누적 대기 손님, 평균 대기시간은 매장의 중앙관리소에 기록되며, 통계가 나온다.

- 구현방법
․ 계산할 손님의 발생
void customer()
Uniform 값을 발생시켜 발생한 값이 0.4부터 0.6 사이의 값이면 손님이 발생한다.
손님이 구매한 물품의 수는 random 함수를 사용하여 1부터 30사이의 수를 발생시킨다. (rand()%30+1) 즉 손님의 최소 1개부터 30개까지의 물품을 구매한다.

---------------------------------------------------------------------------------

현제 프로그램은 오류업이 정상적으로 동작하며, 받으신 분들이 간단한 수정이 용이하도록 만들어 졌습니다.
필요하신분은 받으세요. 받으셔도 정말 후회 없습니다.

컴파일 실행환경

Microsoft visual c++

압축파일 내 파일목록

2007년 2학기 프로그래밍실습 Term Project.hwp
c 텀프로젝트.dsp
c 텀프로젝트.dsw
c 텀프로젝트.ncb
c 텀프로젝트.opt
c 텀프로젝트.plg
term.c
Debug/c 텀프로젝트.exe
Debug/c 텀프로젝트.ilk
Debug/c 텀프로젝트.pch
Debug/c 텀프로젝트.pdb
Debug/term.obj
Debug/vc60.idb
Debug/vc60.pdb

참고 자료

없음
*민*
판매자 유형Bronze개인

주의사항

저작권 자료의 정보 및 내용의 진실성에 대하여 해피캠퍼스는 보증하지 않으며, 해당 정보 및 게시물 저작권과 기타 법적 책임은 자료 등록자에게 있습니다.
자료 및 게시물 내용의 불법적 이용, 무단 전재∙배포는 금지되어 있습니다.
저작권침해, 명예훼손 등 분쟁 요소 발견 시 고객센터의 저작권침해 신고센터를 이용해 주시기 바랍니다.
환불정책

해피캠퍼스는 구매자와 판매자 모두가 만족하는 서비스가 되도록 노력하고 있으며, 아래의 4가지 자료환불 조건을 꼭 확인해주시기 바랍니다.

파일오류 중복자료 저작권 없음 설명과 실제 내용 불일치
파일의 다운로드가 제대로 되지 않거나 파일형식에 맞는 프로그램으로 정상 작동하지 않는 경우 다른 자료와 70% 이상 내용이 일치하는 경우 (중복임을 확인할 수 있는 근거 필요함) 인터넷의 다른 사이트, 연구기관, 학교, 서적 등의 자료를 도용한 경우 자료의 설명과 실제 자료의 내용이 일치하지 않는 경우
최근 본 자료더보기
탑툰 이벤트
[c언어] c프로그래밍 시뮬레이션 [매장 계산대 구현]
  • 레이어 팝업
  • 레이어 팝업
  • 레이어 팝업
  • 레이어 팝업