정말 염치 없으시군요.
지금이라도 늦이 않았으니, 중간 중간에 디버그코드를 넣어서 확인해보세요.
약간의 프로그램 지식만 있으면 가능한 일 아닐까요 ?
저의 경험으로 프로그램을 전혀 모르는 디자이너에게 프로그램 가르켜주고,
문제 있다고 하면 디버그 코드를 넣어보라고 합니다.
그러면 대부분은 해결 하더군요.
대략 훑어보니 그렇게 골때리는 코드는 아닌거 같은데..
그리고 이런글을 이 사이트에 올리면 절대 답 얻을수 없다는것도
아시는게 좋을거 같네요.
: 염치없는 놈입니다. 기말고사 숙제로 자판기 프로그램을
: 짜는 것입니다. 염치 불구 하고 이렇게 올립니다.
:
: 소스는 어케어케 구했는데 주석을 달아야 합니다. 제가 프로그래밍에
: 문외한 이라서...구석 좀 달아주세여. 이 소스를 약간 변형하셔도
: 좋구여. 제발 부탁합니다. 오늘 아침 8시까지 입니다
:
: 부탁합니다.
:
:
:
: #include <iostream.h>
: #include <string.h>
: #include <stdlib.h>
:
: //#include "machine2.h"
:
: typedef unsigned short int USint;
:
: class MACHINE
: {
: public:
: char input[10];
: USint get_total;
: char menus[4][20];
: USint price[4];
: static USint LAST_MONEY;
:
: public:
: void MACHINE_start();
: void MACHINE_end();
: void start();
: void show_menu();
: void set_menu();
: int select();
: void naonda(int get_select);
: bool q_again();
: };
:
: USint MACHINE::LAST_MONEY=1;
:
: void MACHINE::MACHINE_start()
: {
: get_total=0;
: char m[4][20]={"콜라","메실","바나나우유","사이다"};
: USint p[4]={500,550,600,700};
: for(int i=0;i<4;i++){
: strcpy(menus[i],m[i]);
: price[i]=p[i];
: }
:
: }
: void MACHINE::MACHINE_end()
: {
: LAST_MONEY=1;
: cout << "잔돈 출구" << get_total << endl;
:
: }
:
: bool MACHINE::q_again()
: {
:
: if(LAST_MONEY==0)
: return false;
: else return true;
: }
:
:
: void MACHINE::start()
: {
:
: cout << "------관리자모드m: x-나가기 -----" << endl;
: cout << "INSERT MONEY->";
: cin >> input;
: }
:
:
:
: void MACHINE::show_menu()
: {
:
: char *coin;
: coin=input;
:
:
: if(0==strcmp(input,"m")){
: set_menu();
: start();
: }
:
:
: else if(0==strcmp(input,"x")) strcpy(input,"x");
:
: else{
: get_total+=atoi(coin);
: char star[4];
: if(get_total != 0 ){
: if(get_total>=price[3]){ star[0]='O';star[1]
='O';star[2]='O';star[3]='O';} //메뉴수량 추가시 보완!
: else if(get_total>=price[2]){star[0]='O';star[1]
='O';star[2]='O';star[3]='X';}
: else if(get_total>=price[1]){star[0]='O';star[1]
='O';star[2]='X';star[3]='X';}
: else if(get_total>=price[0]){star[0]='O';star[1]
='X';star[2]='X';star[3]='X';}
: else { star[0]='X';star[1]='X';star[2]='X';star[3]
='X';}
: }
:
: for(int i=0;i<4;i++) cout << i+1 << "번 -<"<< star
[i] << ">-"<< price[i] << "원 "<< menus[i] << endl;
: }
:
:
:
: }
:
:
:
: void MACHINE::set_menu()
: {
: int sel;
: cout << "1-메뉴변경/2-가격변경/3-나가기 ";
: cin >> sel;
:
:
: while(sel!=3){
:
: switch(sel){
:
: case 1 : {
: cout << "새로운 메뉴를 입
력해주세요";
: for(int i=0;i<4;i++){
: cout << i+1 << "-------
>";
: cin >> menus[i];
:
}
: break;
: }
:
:
: case 2 : {
: cout << "새로운 가격 입력
";
: for(int j=0;j<4;j++){
: cout << j+1 << menus[j]
<< "--------->";
: cin >> price[j];
:
}
: break;
: }
:
: default : {
: cout << "입력이 잘못됬음";
: break;
: }
: }
: cout << "1-메뉴변경/2-가격변경/3-나가기";
: cin >> sel;
: }
:
: }
:
:
:
: int MACHINE::select()
: {
: int sel=0;
: if(q_again()==true){
: cout << "선택=>";
: cin >> sel;
: }
: else sel=5;
:
:
: return sel;
: }
:
:
: void MACHINE::naonda(int get_select)
: {
:
:
: switch(get_select){
:
: case 0 : cout << "-------------";
: case 1 : {
:
: if(get_total >= price[0]){
: cout << menus[0] << "가나왔습니다!"
<< "잔액" << get_total-price[0] << "" ;
: get_total-=price[0];
:
: break;}
: else cout << "잔액부족!"; break;
: }
:
: case 2 : {
: if(get_total >= price[1]){
: cout << menus[1] << "가나왔습니다!"<< "잔
액" << get_total-price[1]<< "" ;
: get_total-=price[1];
:
: break;}
: else cout << "잔액부족!"; break;
: }
:
: case 3 : {
: if(get_total >= price[2]){
: cout << menus[2] << "가나왔습니다!"<< "잔
액" << get_total-price[2]<< "" ;
: get_total-=price[2];
:
: break;}
: else cout << "잔액부족!"; break;
: }
: case 4 : {
: if(get_total >= price[3]){
: cout << menus[3] << "가나왔습니다!"<< "잔
액" << get_total-price[3]<<"";
: get_total-=price[3];
:
: break;}
: else cout << "잔액부족!"<< "잔액" << get_total ;
break;
: }
:
: default : {
: cout << "------"; break;
: }
: }
:
: //----switch 문을 빠저나온후 종료 여부를 판단하기위
한 if문------
:
: if(get_total==0 || 0==strcmp(input,"x")) LAST_MONEY=0;
:
:
: }
:
:
:
:
:
: void main(void)
: {
:
: MACHINE park,kim;
:
:
: park.MACHINE_start();
: while(park.q_again()==true ){
: park.start();
: park.show_menu();
: park.naonda(park.select());
: }
: park.MACHINE_end();
:
:
:
: kim.MACHINE_start();
: while(kim.q_again()==true ){
: kim.start();
: kim.show_menu();
: kim.naonda(kim.select());
: }
: kim.MACHINE_end();
:
:
: }--배우고 확신하는 일에 거하라 !