수다닷컴

  • 해외여행
    • 괌
    • 태국
    • 유럽
    • 일본
    • 필리핀
    • 미국
    • 중국
    • 기타여행
    • 싱가폴
  • 건강
    • 다이어트
    • 당뇨
    • 헬스
    • 건강음식
    • 건강기타
  • 컴퓨터
    • 프로그램 개발일반
    • C언어
    • 비주얼베이직
  • 결혼생활
    • 출산/육아
    • 결혼준비
    • 엄마이야기방
  • 일상생활
    • 면접
    • 취업
    • 진로선택
  • 교육
    • 교육일반
    • 아이교육
    • 토익
    • 해외연수
    • 영어
  • 취미생활
    • 음악
    • 자전거
    • 수영
    • 바이크
    • 축구
  • 기타
    • 강아지
    • 제주도여행
    • 국내여행
    • 기타일상
    • 애플
    • 휴대폰관련
  • 프로그램 개발일반
  • C언어
  • 비주얼베이직

안녕하세요. 질문 좀 드리겠습니다.

하예진

2023.04.01

나름 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;
}

신청하기





COMMENT

댓글을 입력해주세요. 비속어와 욕설은 삼가해주세요.

번호 제 목 글쓴이 날짜
2699476 끌어올림;;달력 짜봤는데요 이 소스 줄일 수 있나요? - 스샷첨부 (2) 클라우드 2025-06-26
2699444 [좀 급함] system("explorer [주소] ") 문에 변수를 사용할 수 있나요? 알 2025-06-26
2699415 파일//read//와 배열 아란 2025-06-25
2699386 구조체 안에 일부분만 char 배열에 복사하려면 어떻게 해야하나요? (1) 미즈 2025-06-25
2699361 연결리스트 정렬하는 부분에 대해서 질문 드립니다 아이처럼 2025-06-25
2699304 [기초]아직 안주무시는분 계신가요..?포인터배열? 좀 도와주세요. 놀리기 2025-06-24
2699272 printf() 함수이용해서 프로그램 만들기 질문요! (5) 다가 2025-06-24
2699221 PUSH와 POP코드를 더 간단하게 어떻게 해야할까요? 파라미 2025-06-24
2699192 설치오류가 자꾸 나요 한번봐주세여~ (1) 소녀틳향기 2025-06-23
2699161 for loop안에 있는 if문 (9) Orange 2025-06-23
2699105 링크더리스트 이전 링크값 출력함수. 꼬꼬마 2025-06-23
2699078 정수를 한자리씩 배열에 담는 법은 어떻게 하나요.. (4) 귀염포텐 2025-06-22
2699024 C언어 공부하려는데 도와주세요!!! (2) 달님 2025-06-22
2698994 날짜 계산하는 C 코드 짜고 있는데 꽉 막혀서 질문드립니다.. (6) 별 2025-06-22
2698967 파일삭제 윈도우 폴더까지 접근하게하는 함수가 뭔가요 (2) 샤인 2025-06-21
2698938 c언어 메모리질문 (3) 나래 2025-06-21
2698909 서비스 요청 고객 관리 프로그램 짜는것좀 도와주세요ㅜㅜ (4) 궁수자리 2025-06-21
2698882 프로그래밍좀 짜주세요 (3) 황예 2025-06-21
2698855 카프-라빈 알고리즘 코딩 분석좀 도와주세요.. 꽃봄 2025-06-20
2698829 학점계산기 (7) MyWay 2025-06-20
<<  이전  1 2 3 4 5 6 7 8 9 10  다음  >>

수다닷컴 | 여러분과 함께하는 수다토크 커뮤니티 수다닷컴에 오신것을 환영합니다.
사업자등록번호 : 117-07-92748 상호 : 진달래여행사 대표자 : 명현재 서울시 강서구 방화동 890번지 푸르지오 107동 306호
copyright 2011 게시글 삭제 및 기타 문의 : clairacademy@naver.com