안녕하세요. 질문 좀 드리겠습니다.
큐티베이비
나름 c++을 통해 로또코드를짜봤는데요.
try catch를 어째쓰는지 아직도 잘 적응이 안되네요;;
게다가 프로그램을 실행시키니 제대로 작동을 안해서 디버그 모드로 가보았더니
많은 예외처리가 되어있다면서 안되네요;;;
그래서 제가 드리는 질문은
1. 오류 해결법
2. 지금 코드에서 try catch를 어떻게 사용하는지;;(앞으로 더 많은 코드를 짜보며 알아가야될 부분같네요;)
3. class로도 링크드 리스트 구현이 가능한가요?
(구조체가 아닌 클래스로도 구현이 가능할거 같은데 비슷하게 구현하면 되는지 여쭤봅니다.)
4. 제가 짠 코드가 c++스러운 코드인지도 평가 좀 부탁드리겠습니다;ㅂ;ㅋ
위 네가지 입니다.
빠르고 친절한 답변 감사하구요~ 즐거운 명절 남은 마무리 잘하시길 바랍니다 ^ -^
아래는 제가 일단 대충 짜본 코드입니다.
================
lotto.h
#ifndef _LOTTO_H_
#define _LOTTO_H_
#include iostream
#include string
#include fstream
#include time.h
#pragma warning(disable : 4290)
using namespace std;
#define MAX 6
#define PATH c:\\LottoNum.txt
#define COUNT c:\\CountNum.txt
int menu();
int calLotto();
int fOutput();
int theEnd();
class Lotto
{
public :
Lotto();
protected :
int count;
int array[MAX];
Lotto *NextNode;
private :
Lotto *Head;
Lotto *Tail;
};
class LottoSetNum : public Lotto
{
public :
int setCount();
int setRandNum();
int getCount();
int getRandNum();
int isCompare();
};
class LottoOutput : public Lotto
{
public :
int outputFile();
};
/*
class LottoSearch : public Lotto
{
public :
LottoSearch();
};
*/
#endif
lotto.cpp
#include Lotto.h
Lotto::Lotto()
{
count = 0;
for(int i = 0 ; i MAX ; i++)
{
array[i] = 0;
}
NextNode = NULL;
Head = NULL;
Tail = NULL;
}
int LottoSetNum::setRandNum()
{
srand(time(NULL));
for(int i = 0; i MAX ; i++)
{
this-array[i] = (rand()%45)+1;
}
return 0;
}
int LottoSetNum::getRandNum()
{
ofstream fText;
fText.open(PATH);
if(fText.fail())
throw PATH;
this-count++;
cout this-count 회차. ;
for(int i = 0 ; i MAX ; i++)
{
fText this-array[i] . ;
cout this-array[i] . ;
}
fText endl;
cout endl;
fText.close();
return 0;
}
int LottoSetNum::isCompare()
{
for(int i = 1 ; i MAX ; i++)
{
if(this-array[0]==this-array[i])
{
return 1;
}
}
return 0;
}
int LottoSetNum::setCount()
{
ifstream fText;
fText.open(COUNT);
if(fText.fail())
throw COUNT;
fText this-count;
fText.close();
return 0;
}
int LottoSetNum::getCount()
{
ofstream fText;
fText.open(COUNT);
if(fText.fail())
throw COUNT;
fText this-count;
fText.close();
return 0;
}
int LottoOutput::outputFile()
{
char ch = NULL;
ifstream fText;
fText.open(PATH);
if(fText.fail())
throw PATH;
while(fText.eof()==false)
{
fText ch;
cout ch;
}
fText.close();
return 0;
}
lottoctl.cpp
#include Lotto.h
int main()
{
int result = 0;
do
{
result = menu();
switch(result)
{
case 1 : calLotto();
break;
case 2 : fOutput();
break;
case 3: theEnd();
break;
default :
throw result;
}
} while (result != 3);
return 0;
}
int menu()
{
int input = 0;
cout 1. 로또번호 추출 endl;
cout 2. 로또번호 출력 endl;
cout 3. 프로그램 종료 endl;
cout 입력 ;
cin input;
return input;
}
int calLotto()
{
int result = 0;
LottoSetNum lotto;
//try
//{
do
{
lotto.setCount();
lotto.setRandNum();
result = lotto.isCompare();
} while (result != 0);
lotto.getRandNum();
lotto.getCount();
//}
//catch(CException* e)
//{
//cout e 를 열지 못하였습니다. endl;
//}
return 0;
}
int fOutput()
{
LottoOutput lotto;
lotto.outputFile();
return 0;
}
int theEnd()
{
cout 프로그램을 종료하겠습니다.;
return 0;
}
번호 | 제 목 | 글쓴이 | 날짜 |
---|---|---|---|
2676124 | 함수선언관련 질문이에요~...털썩..수정완료 (2) | 가지 | 2024-11-24 |
2676092 | C언어 책 (2) | 아서 | 2024-11-24 |
2676065 | 웹사이트 또는 메신저 등에서 원하는 텍스트를 검사하는방법?? (1) | 모든 | 2024-11-23 |
2676033 | 배열 기초연습중 발생하는 에러 ㅠㅜ... | Creative | 2024-11-23 |
2676005 | keybd_event 게임 제어 | 영글 | 2024-11-23 |
2675900 | 진짜기본적인질문 | 글길 | 2024-11-22 |
2675845 | 수정좀해주세요ㅠㅠㅠ | 해골 | 2024-11-21 |
2675797 | 병합 정렬 소스 코드 질문입니다. (2) | 도래솔 | 2024-11-21 |
2675771 | 큐의 활용이 정확히 어떻게 되죠?? | 해긴 | 2024-11-21 |
2675745 | 도서관리 프로그램 질문이요 | 도리도리 | 2024-11-20 |
2675717 | 2진수로 변환하는것! (3) | 동생몬 | 2024-11-20 |
2675599 | for문 짝수 출력하는 법 (5) | 널위해 | 2024-11-19 |
2675575 | Linux 게시판이 없어서.. | 첫삥 | 2024-11-19 |
2675545 | 구조체 이용할 때 함수에 자료 넘겨주는 것은 어떻게 해야 하나요? | 아연 | 2024-11-19 |
2675518 | 사각형 가로로 어떻게 반복해서 만드는지좀.. 내용 | 신당 | 2024-11-18 |
2675491 | !느낌표를 입력하는것은 어떻게합니까~~?ㅠㅠ (5) | 사지타리우스 | 2024-11-18 |
2675411 | 파일입출력으로 받아온 파일의 중복문자열을 제거한 뒤 파일출력 | 앨버트 | 2024-11-17 |
2675385 | 링크드리스트 주소록 질문드립니다. (1) | 겨루 | 2024-11-17 |
2675356 | 2진수를 10진수로 바꾸려고 하는데 막히네요.. | 풀잎 | 2024-11-17 |
2675297 | Prity 비트 발생기 | 한란 | 2024-11-16 |