<p>그냥 흔한 컴공과 1학년 학생인데요 </p><p>이번 텀프로젝트로 2인1조 주제 자유여서 저희 팀은 오목을 하기로했는데 </p><p>교수님이 네트워크대전방식과 DB로 로그인+전적 저장기능을 넣으라고하셔서</p><p>도서관에서 책 빌려서 배우지도않은 2,3학년껄 공부하다 결국 멘붕하고</p><p>네트워크는 TCP/IP 입문까지 했는데 발표일까지 얼마 안남아서 결국 포기하고</p><p>DB도 노력했는데 SQL 멘붕.. 모르겠어서ㅠㅠ 결국 배웠던것중 파일입출력을 이용해서</p><p>전적을 저장하자! 라고 결정! </p><p>해서... 우선 전역변수를 a,b를 두고</p><p>오목 메인함수를</p><p>void main()</p><p>{</p><p><span class="Apple-tab-span" style="white-space:pre"> </span>init_board();</p><p><span class="Apple-tab-span" style="white-space:pre"> </span>while(1)</p><p><span class="Apple-tab-span" style="white-space:pre"> </span>{</p><p><span class="Apple-tab-span" style="white-space:pre"> </span>show_board();</p><p><span class="Apple-tab-span" style="white-space:pre"> </span>if( input_user() )</p><p><span class="Apple-tab-span" style="white-space:pre"> </span>{</p><p><span class="Apple-tab-span" style="white-space:pre"> </span>if( check_win() )</p><p><span class="Apple-tab-span" style="white-space:pre"> </span>{</p><p><span class="Apple-tab-span" style="white-space:pre"> </span>printf("%s가 승리했습니다.\n", (user==1)?"●":"○");</p><p><span class="Apple-tab-span" style="white-space:pre"> </span>if(user==1)</p><p><span class="Apple-tab-span" style="white-space:pre"> </span>{</p><p><span class="Apple-tab-span" style="white-space:pre"> </span>a++;</p><p><span class="Apple-tab-span" style="white-space:pre"> </span>}</p><p><span class="Apple-tab-span" style="white-space:pre"> </span>else</p><p><span class="Apple-tab-span" style="white-space:pre"> </span>{</p><p><span class="Apple-tab-span" style="white-space:pre"> </span>b++;</p><p><span class="Apple-tab-span" style="white-space:pre"> </span>}</p><p><span class="Apple-tab-span" style="white-space:pre"> </span>printf("● %d승 ○ %d승\n", a,b);</p><p><span class="Apple-tab-span" style="white-space:pre"> </span>record();</p><p><span class="Apple-tab-span" style="white-space:pre"> </span>break;</p><p><span class="Apple-tab-span" style="white-space:pre"> </span>}</p><p><span class="Apple-tab-span" style="white-space:pre"> </span>// 흑과백 교대하기.</p><p><span class="Apple-tab-span" style="white-space:pre"> </span>user = (user==1)?2:1;</p><p><span class="Apple-tab-span" style="white-space:pre"> </span>}</p><p><span class="Apple-tab-span" style="white-space:pre"> </span>system("cls");</p><p><span class="Apple-tab-span" style="white-space:pre"> </span>}</p><p>}</p><p><br></p><p>이렇게 두고 이기면 txt파일로 </p><p><br></p><p>int record()</p><p>{</p><p><span class="Apple-tab-span" style="white-space:pre"> </span>FILE * fp = fopen("winrecord.txt", "wt");</p><p><span class="Apple-tab-span" style="white-space:pre"> </span>fprintf(fp, "● %d승 ○ %d승\n", a,b);</p><p><span class="Apple-tab-span" style="white-space:pre"> </span>fclose(fp);</p><p><span class="Apple-tab-span" style="white-space:pre"> </span>return main();</p><p>}</p><p><br></p><p><br></p><p>이렇게 저장하게끔 했는데 이기면 txt파일로 잘 저장됩니다. </p><p>계속하면 계속 올라가는데 문제는! </p><p>스위치로 케이스해서 x 누르면 쇼 꺼지게 하거나 아니면 그냥 닫기하고 </p><p>다시 실행하면 아직까진 txt파일에 기존 전적이 저장되있는데 이제 </p><p>다시 새로킨 쇼에서 흑돌이나 검은돌이 이기면 여태 있던 전적이 사라지고 다시 1:0 이렇게</p><p>전적이 초기화됩니다 ㅠ 아마 저 record함수에서</p><p>쇼를 새로 시작하면 기존에 txt파일이 있던 없던 다시 파일 스트림을 같은 이름으로 열어버리니깐</p><p>원래 있던건 사라지고 새로 저장되는것같은데</p><p>원래 있던 데이터에 계속 누적해서 승률이 + 되게끔 어떻게 할수없을까요..?ㅠ </p><p><br></p><p>발표일까지 3일 남았는데 답이 안나와서 이렇게 글을 올려봅니다ㅠ</p><p><br></p>
댓글 분란 또는 분쟁 때문에 전체 댓글이 블라인드 처리되었습니다.