플라칸
[C++]스도쿠 풀어주는 프로그램 만드는 과정2 본문
#include<iostream> using namespace std; void putQ(int a,int b,int c,int *Q); void match33(int a,int b,int c,int *Q); void printsu(int a,int b,int,int *Q); void runwidth(int a,int b,int c,int*Q); int main() { int Q[81]; while(true) { cout<<"select number"<<endl<<"1을 누르고 x좌표, y좌표, 원하는 숫자를 입력하시오."<<endl<<"3을 누를 시 프로그램을 종료합니다."; int a,b,c,d; cin>>d; switch(d){ case 1: cout<<"case 1"<<endl; cin>>a>>b>>c; putQ(a,b,c,&Q[0]); printsu(a,b,c,&Q[0]); break; case 2: cout<<"case 2"<<endl; cin>>a>>b; printsu(a,b,c,&Q[0]); break; case 3: cout<<"case 3"<<endl; return 0; default: cout<<"default"; cin>>d; } //s } return 0; } void putQ(int a,int b,int c,int *Q) { int *W=Q; Q=Q+sizeof(int)*a*9+sizeof(int)*b; *Q=c; Q=W; /*delete Q,W; free Q,W;*/ return; //sdfsdfsdfsdfds } void match33(int a,int b,int c, int *Q) { return; } void printsu(int a,int b,int,int *Q) { cout<<*(Q+sizeof(int)*a*9+sizeof(int)*b); //delete Q; return; } void runwidth(int a,int b,int c,int*Q) {
return; } |
이렇게 여태까지 만들어둔 코드가 있다.
switch case에서 default는 더이상 필요하지 않으므로 지워주고 포인터 관련 버그를 고쳐준다.
Q=Q+sizeof(int)*a*9+sizeof(int)*b;을 Q=Q*a*9+b;로 고쳐주면 해결
그리고 케이스 1에서의 printsu를 제거해주자. 이젠 필요가 없다.
#include<iostream> using namespace std; void putQ(int a,int b,int c,int *Q); void match33(int a,int b,int c,int *Q); void printsu(int a,int b,int,int *Q); void runwidth(int a,int b,int c,int*Q); int main() { int Q[81]; while(true) { cout<<"select number"<<endl<<"1을 누르고 x좌표, y좌표, 원하는 숫자를 입력하시오."<<endl<<"3을 누를 시 프로그램을 종료합니다."; int a,b,c,d; cin>>d; switch(d){ case 1: cout<<"case 1"<<endl; cin>>a>>b>>c; putQ(a,b,c,&Q[0]); printsu(a,b,c,&Q[0]); break; case 2: cout<<"case 2"<<endl; cin>>a>>b; printsu(a,b,c,&Q[0]); break; case 3: cout<<"case 3"<<endl; return 0; } //s } return 0; } void putQ(int a,int b,int c,int *Q) { int *W=Q; Q=Q+a*9+b; *Q=c; Q=W; /*delete Q,W; free Q,W;*/ return; //sdfsdfsdfsdfds } void match33(int a,int b,int c, int *Q) { return; } void printsu(int a,int b,int,int *Q) { cout<<*(Q+a*9+b); //delete Q; return; } void runwidth(int a,int b,int c,int*Q) {
return; } |
어느 기능을 추가해야할지 잘 정하지 못했지만 일단 버그를 수정한것이다.
이젠 오류가 뜨지 않는다. 완벽하다
'정보보호전문가가 되자!' 카테고리의 다른 글
[C++]스도쿠 풀어주는 프로그램 만드는 과정3(비교) (0) | 2018.10.09 |
---|---|
[C++]포인터의 개념 및 정리 (0) | 2018.10.01 |
[C++]스도쿠 풀어주는 프로그램 만드는 과정1 (0) | 2018.09.28 |
여태까지의 메모중 일부 (0) | 2018.09.26 |
2018 09월 26일날의 경과 (0) | 2018.09.26 |