คำถามภาษาซี getch และการกำหนดตัวแปร

ยิ้มกำลังฝึกทำภาษาซีอยู่ค่ะ แล้วเกิดข้อสงสัย ข้อสอบถามหน่อยนะค่ะ


โจทย์ของข้อนี้



ลองทำตามเฉลยในหนังสือ แล้วก็เกิดข้อสงสัยขึ้นมาว่า ในเฉลยกำหนดr=row และ c=column แล้ว
ทำไมในเฉลยยังมีการกำหนด i และ j ขึ้นมาอีก


และขถามอีกข้อสงสัยนึงนะ ตรงgetch() ทำผิดยังไงถึงerror เป็นแบบนี้หรอ
'getch': The POSIX name for this item is deprecated. Instead, use the ISO C++ conformant name: _getch.



#include<iostream>
#include<time.h>
#include<stdlib.h>
#include<conio.h>
#define max_row 5
#define max_col 5
#define max_random 10
using namespace std;
int main()
{
    int num[max_row][max_col];
    int i,j,r,c,current_num,next_num,score,answer;
    srand((unsigned int)time(NULL));
    score=0;
    r=0;
    c=0;
    for(r=0;r<5;r++){
        for(c=0;c<5;c++)
            num[r][c]=-1;
        cout<<num[r][c]<<"\t";
        if((r%5)==0){
            cout<<"\n";
        }
    }

    for(r=0;r<5;r++){
        for(c=0;c<5;c++)

        if(r<max_row){
            if((r==0) && (c==0)){
                next_num=rand()%9+1;
                current_num=next_num;
                num[r][c]=next_num;
                }

            }else{
                system("cls");
                for(i=0;i<max_row;i++){         ???????????ทำไมยังต้องกำหนด iFacepalm
                    for(j=0;j<max_col;j++)   ???????????ทำไมยังต้องกำหนด j
                        cout<<"%5d"<<num[j];
                    cout<<"\n";
            }
                cout<<"Curent namber= "<<current_num;
                cout<<"Next number H:High,L:Low= ";
                cin>>answer;

                next_num=rand();
                num[r][c]=next_num;

                if( ((next_num>current_num)&& ( answer==' H ')) ||
                    ((next_num<current_num)&& ( answer==' L '))){
                        score++;
                        cout<<"correct, The number is "<<next_num<<"\n";
                }else
                    cout<<"wrong, The number is "<<next_num<<"\n";
                current_num=next_num;
                cout<<"your score= "<<score<<"\n";
                cout<<"press enter to cintinue";getch(); ???????????getchFacepalm
        }

            if (score>20){
                cout<<"excellent\n";
            }else if(score>15){
                cout<<"perfect\n";
            }else if(score>10){
                cout<<"good\n";
            }else{
                cout<<"poor\n";
            }
            system("pause");
            return 0;

    }
แสดงความคิดเห็น
โปรดศึกษาและยอมรับนโยบายข้อมูลส่วนบุคคลก่อนเริ่มใช้งาน อ่านเพิ่มเติมได้ที่นี่