โปรเเกรม เป่า ยิ้ง ชุบ รับ อักขระ เเละ ตัวเลข logic เสร็จเเล้วครับ เเต่หา ไอเดีย เก็บ score เเละ ช่วยด้วยครับ

ตามคำเเนะนำที่ได้มาเมื่อวาน ผมได้เปลี่ยน ตัวรับ input เป็น string เเละ เเยกระหว่าง ROCK กับ 1 bool check_type เเละสร้าง logic output ด้วย if ทำ loop game ด้วย for  นับ รอบด้วย cout<< i ตอนนี้กำลังหาวิธีบันทึก score อยู่ครับ เเบบถ้าสร้าง loop 10 รอบ เก็บ score เรา เเพ้-ชนะ pc เเพ้-ชนะ เเต่ไม่รู้ว่าควรจะใช้อะไรครับ ความรู้ไม่ถึง ขอไอเดียหน่อยครับ ขอบคุณที่เข้ามาคอยช่วยนะครับ comment ของ 3-4 user เเต่ละกระทู้ของผม มีประโยชน์ต่อการเรียนรู้ผมมากจริงๆครับ พาพันขอบคุณพาพันชอบพาพันขอบคุณพาพันขอบคุณ

>>>ถามเพิ่มอีกนิดครับ มีวิธี ให้โปรเเกรมเเยก input stringอักขระ ที่เป็นตัวใหญ่ตัวเล็กได้ไหม
เช่น (ROCK กับ rock) มีฟังก์ชันที่ทำให้โปรเเกรมมันเช็คได้ไหมครับว่า input string ไหนเป็น ตัวอักษรพิมพ์ใหญ้ หรือ ตัวอักษรพิมพ์เล็ก  

#include<iostream>
#include<string>
#include<cstdlib>
#include<ctime>
using namespace std;
bool status,win,draw;

void line();

bool check_type (string player_ch,string system_Rch,string system_Pch,string system_Sch,string system_exit){
  status=0;
  if(player_ch==system_Rch||player_ch==system_Pch||player_ch==system_Sch||player_ch==system_exit)
  status=1;
}
logic_int (int random,string player_ch,string system_1,string system_2,string system_3,string system_4){
  
  if(player_ch==system_1){
    cout<<"Your weapon is ROCK\n";
    if(random==2){
      cout<<"Pc weapon is PAPER\n";
      cout<<"U LOSE\n";
      win=0;
      line();
    }
    if(random==3){
      cout<<"Pc weapon is SCISSOR\n";
      cout<<"U WIN\n";
      win=1;
      line();
    }
    else if(random==1){
    
      cout<<"Pc weapon is ROCK\n";
      cout<<"DRAW\n";
      draw=1;
      line();
    }
  
  
  }
  if(player_ch==system_2){
    cout<<"Your weapon is PAPER\n";
    if(random==1){
      cout<<"Pc weapon is ROCK\n";
      cout<<"U WIN\n";
      win=1;
      line();
     
    }
    if(random==3){
      cout<<"Pc weapon is SCISSOR\n";
      cout<<"U LOSE\n";
      win=0;
      line();
    }
    else if(random==2){
    
      cout<<"Pc weapon is PAPER\n";
      cout<<"DRAW\n";
      draw=1;
      line();
    }
  }//paper
  if(player_ch==system_3){
    cout<<"Your weapon is SCISSOR\n";
    if(random==1){
      cout<<"Pc weapon is ROCK\n";
      cout<<"U LOSE\n";
      win=0;
      line();
     
    }
    if(random==2){
      cout<<"Pc weapon is PAPER\n";
      cout<<"U WIN\n";
      win=1;
      line();
    }
    else if(random==3){
    
      cout<<"Pc weapon is SCISSOR\n";
      cout<<"DRAW\n";
      draw=1;
      line();
    }
  
  
  
}
  if(player_ch==system_4){
  cout<<"program close";
  system;exit(0);
  
  }
  
  else if(player_ch!=system_1&&player_ch!=system_2&&player_ch!=system_3&&player_ch!=system_4){
  cout<<"invalid input, try again\n";
  line();
  
  }
  
  

}//logic_int

logic (int random,string player_ch,string system_Rch,string system_Pch,string system_Sch,string system_exit){
  
  
  if(player_ch==system_Rch){
    cout<<"Your weapon is ROCK\n";
    if(random==2){
      cout<<"Pc weapon is PAPER\n";
      cout<<"U LOSE\n";
      line();
    }
    if(random==3){
      cout<<"Pc weapon is SCISSOR\n";
      cout<<"U WIN\n";
      line();
    }
    else if(random==1){
    
      cout<<"Pc weapon is ROCK\n";
      cout<<"DRAW\n";
      line();
    }
  
  }//rock
  if(player_ch==system_Pch){
    cout<<"Your weapon is PAPER\n";
    if(random==1){
      cout<<"Pc weapon is ROCK\n";
      cout<<"U WIN\n";
      line();
     
    }
    if(random==3){
      cout<<"Pc weapon is SCISSOR\n";
      cout<<"U LOSE\n";
      line();
    }
    else if(random==2){
    
      cout<<"Pc weapon is PAPER\n";
      cout<<"DRAW\n";
      line();
    }
  }//paper
  if(player_ch==system_Sch){
    cout<<"Your weapon is SCISSOR\n";
    if(random==1){
      cout<<"Pc weapon is ROCK\n";
      cout<<"U LOSE\n";
      line();
     
    }
    if(random==2){
      cout<<"Pc weapon is PAPER\n";
      cout<<"U WIN\n";
      line();
    }
    else if(random==3){
    
      cout<<"Pc weapon is SCISSOR\n";
      cout<<"DRAW\n";
      line();
    }
  
  }//Scissor
  if(player_ch==system_exit){
  
    cout<<"Program close";
    system;exit(0);
  }
  
  else if(player_ch!=system_Rch&&player_ch!=system_Pch&&player_ch!=system_Sch&&player_ch!=system_exit){
    cout<<"Invalid input, Try again";
    line();
    
  }
  
}

void game(){
int i,random,score;

string player_ch;
string system_Rch="ROCK";
string system_Pch="PAPER";
string system_Sch="SCISSOR";
string system_1="1";
string system_2="2";
string system_3="3";
string system_4="4";
string system_exit="EXIT";
  
  for(i=0;i<10;i++){
  
  random=1+(rand()%3);
  cout<<"ROUND :"<<i+1<<endl;
  cout<<"ROCK PAPER SCISSOR GAME!!!\n";
  cout<<"1:ROCK\n2เค้าล้อเล่นAPER\n3:SCISSOR\n4.Exit \n";
  
  cout<<"Choose number to select your weapon or type it down:";
  getline (cin,player_ch);
  
  
    if(check_type(string (player_ch),string (system_Rch),string (system_Pch),string (system_Sch),string (system_exit))==1){
    
    
      (logic(int (random),string (player_ch),string (system_Rch),string (system_Pch),string (system_Sch),string (system_exit)));{
        
      }
      
      
    
    
    }//check_type
    else {
    
      (logic_int(int (random),string (player_ch),string (system_1),string (system_2),string (system_3),string (system_4)));{
      
      }
      
    
  }
  
    }//for
  
  }//GAME
int main(){
  srand(time(0));
  
  
  game();
  

return 0;

}
void line(){
  cout<<">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>\n\n\n";
}
แก้ไขข้อความเมื่อ
คำตอบที่ได้รับเลือกจากเจ้าของกระทู้
ความคิดเห็นที่ 1
>
>   ให้โปรเเกรมเเยก input stringอักขระ ที่เป็นตัวใหญ่ตัวเล็กได้ไหม
>

อีกวิธีคือปัดขึ้นให้หมด  หรือปัดลงให้หมด  แล้วค่อยเทียบครับ
[LIVE]         [Spoil] คลิกเพื่อดูข้อความที่ซ่อนไว้



ถ้าถามว่าเช็คตัวใหญ่เล็กยังไง
กูเกิล => ascii binary chart

A : 0100'0001    a : 0110'0001    
B : 0100'0010    b : 0110'0010
...
Z : 0101'1010    c : 0111'1010

นั่นคือ
capital:  (5 บิตล่าง ∈ 1..26) && (3 บิตบน == 010)
lower: (5 บิตล่าง ∈ 1..26) && (3 บิตบน == 011)
[LIVE]

หรือใช้ std::isupper, std::islower
[LIVE]
แสดงความคิดเห็น
โปรดศึกษาและยอมรับนโยบายข้อมูลส่วนบุคคลก่อนเริ่มใช้งาน อ่านเพิ่มเติมได้ที่นี่