Tujuan saya adalah mengambil arahan dari pengguna dan akhirnya file teks untuk menggerakkan robot. Tangkapannya adalah saya harus menggunakan Cstring (seperti char word[];) daripada std::string dan memberi token untuk digunakan.
kodenya terlihat seperti ini:
void Navigator::manualDrive()
{
char uinput[1];
char delim[] = " ";
char *token;
cout << "Enter your directions below: \n";
cin.ignore();
cin.getline (uinput, 256);
token=strtok(uinput, delim);
if(token == "forward")
{
int inches;
inches=token+1;
travel(inches);
}
}
Saya belum pernah menggunakan Cstring. Saya belum pernah membuat token apa pun sebelumnya, dan saya tidak tahu cara menulisnya. TA kami mengharapkan kami untuk mencari di Google dan menemukan semua jawaban karena mereka sadar kami belum pernah diajari metode ini. Semua orang di lab saya mengalami lebih banyak masalah daripada biasanya.
Saya tidak tahu kode apa yang harus ditulis tetapi saya tahu apa yang saya ingin program saya lakukan.
Saya ingin program tersebut dijalankan seperti ini:
1) Menanyakan arah.
2) cin.getline yang dimasukkan pengguna
3) memberi token pada string yang dimasukkan
4) jika kata pertama token == "maju" pindah ke token berikutnya dan cari tahu caranya beberapa inci untuk maju lalu maju
5) else jika token pertama == "putar" pindah ke token berikutnya. jika token berikutnya == "kiri" pindah ke token berikutnya dan cari tahu berapa derajat untuk berbelok ke kiri
Saya harus melakukan ini untuk maju x, mundur x, belok kiri x, belok kanan x, dan berhenti (di mana x dalam inci atau derajat). Saya sudah menulis fungsi yang memberi tahu robot cara bergerak maju satu inci dan memutar derajat. Saya hanya perlu mengetahui cara mengonversi string yang dimasukkan ke semua huruf kecil dan berpindah dari token ke token dan mengonversi atau mengekstrak angka dari string untuk menggunakannya sebagai bilangan bulat.
Jika semuanya belum jelas Anda dapat membaca tulisan lab saya di tautan ini: http://www.cs.utk.edu/~cs102/robot_labs/Lab9.html
Jika ada yang kurang jelas, harap beri tahu saya, dan saya akan mengklarifikasi sebaik mungkin.