게시판 즐겨찾기
편집
드래그 앤 드롭으로
즐겨찾기 아이콘 위치 수정이 가능합니다.
C언어와 DB연동(최근데이터로 랭킹매기기) 질문드립니다.
게시물ID : programmer_17515짧은주소 복사하기
작성자 : 고양이네임
추천 : 0
조회수 : 984회
댓글수 : 3개
등록시간 : 2016/06/06 21:59:43
옵션
  • 본인삭제금지
안녕하세요
대학교 C언어 프로젝트 중인 학생입니다.
테트리스 관련해서 프로그램을 짜고 매주마다 발표를 해야하는데 
인터페이스화면에 게임 한사람들의 데이터를가지고 순위를 매겨서 1~3위까지 출력하는 화면까지는 만들었는데
데이터중에 최근 5개의 데이터만을가지고 1~3위 까지의 순위를 다시 매겨오라고 하시더군요..

캡처asdrsad.JPG


일단 칼럼이 몇갠지 세봐야하니깐 칼럼갯수를 먼저 긁어야하는데
49가 나왔다는것은(5개넘으면 -5시키려는 루프짤려고 일단 계산식만들어놔서..) 칼럼이 1개 생성되어있다는게 아스키로 표기되어있다는것 까지는 알겠는데요 다시 그만큼 숫자를빼줘서 쿼리문에 넣고 실행을할려고하니 저렇게 오류가뜨네요..
3시간째 찾아보고있는데 혹시 해결방법있나요? ㅠㅠ

루프상으로는 게시판확인 다음에 바로 테트리스게임 화면으로 넘어가는건데 printf 로 다 실험해보니 빨간선 부분부터 오류가뜹니다.


int sql_inter_sort() { //인터페이스 랭킹화면
int i = 0;
int column = 0;
len = mysql_query(conn, "select COUNT(*) from User_Score");

res = mysql_use_result(conn);

while ((row = mysql_fetch_row(res)) != NULL) {
column = *row[0];
}


if (column > 5) {
column -= 5;
}
printf("%d", column);
sprintf(myquery, "SET @rownum = 0; SELECT Name, level, Score, (SELECT COUNT(*) + 1 FROM User_Score WHERE Score > t.Score ) AS rank FROM User_Score AS t where (@rownum:=@rownum+1) > %d ORDER BY rank asc ", column);
len = mysql_query(conn, myquery);
res = mysql_use_result(conn);
---------------------------정상범위-----------------------------------
while ((row = mysql_fetch_row(res)) != NULL) {
---------------------------오       류-----------------------------------
gotoxy(46, 23); printf("명 예 의 전 당");
if (i == 0) {
gotoxy(40, 25); printf("금  상 : %-10s %-3s 점", row[0], row[2]);
}
if (i == 1) {
gotoxy(40, 26); printf("은  상 : %-10s %-3s 점", row[0], row[2]);
}
if (i == 2) {
gotoxy(40, 27); printf("동  상 : %-10s %-3s 점", row[0], row[2]);
break;
}
i++;
}
len = 0;
mysql_free_result(res);
return 0;
}
전체 추천리스트 보기
새로운 댓글이 없습니다.
새로운 댓글 확인하기
글쓰기
◀뒤로가기
PC버전
맨위로▲
공지 운영 자료창고 청소년보호