กำลังฝึกทำภาษาซีอยู่ค่ะ แล้วเกิดข้อสงสัย ข้อสอบถามหน่อยนะค่ะ
โจทย์ของข้อนี้
ลองทำตามเฉลยในหนังสือ แล้วก็เกิดข้อสงสัยขึ้นมาว่า ในเฉลยกำหนด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++){
???????????ทำไมยังต้องกำหนด i
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(); ???????????getch
}
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;
}
คำถามภาษาซี 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++){ ???????????ทำไมยังต้องกำหนด i
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(); ???????????getch
}
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;
}