pahlawankurus 0 Report post Posted October 21, 2007 (edited) #include<iostream.h> void main() {//open body int ujian_naik_bukit , ujian_letak_kereta ,ujian_3_penjuru, pemeriksaan_sebelum , lampu_isyarat, selekoh , kelajuan, penggunaan_gear, ujian_letak_kenderaan,jumlah; cout << "Ujian Naik Bukit[markah untuk lulus ialah 15%]:"; cin >> ujian_naik_bukit; if (ujian_naik_bukit==15) {//open body1 cout << "\nLulus Ujian Naik Bukit[15%]"; }//close body1 else {//open body2 cout << "\nRalat!! Masukkan Sekali Lagi[Markah untuk lulus ialah 15% dan tidak boleh kurang atau lebih daripada 15%]"; cout << "\nUjian Naik Bukit[markah maksimum ialah 15]:"; cin >> ujian_naik_bukit; }//close body2 cout << "\nUjian meletakkan kenderaan[15%]:"; cin >> ujian_letak_kereta; if ((ujian_letak_kereta>=1) && (ujian_letak_kenderaan<=15)) {//open body3 cout << "\nUjian tiga penjuru:"; cin >> ujian_3_penjuru; if((ujian_3_penjuru>=1) && (ujian_letak_kenderaan<=20)) {//open body4 cout << "\nUjian Jalanraya"; cout << "\n---------------------------------------------------------------------------------------------------"; cout << "\n---------------------------------------------------------------------------------------------------"; cout << "\n\n- pemeriksaan sebelum memandu:"; cin >> pemeriksaan_sebelum; if((pemeriksaan_sebelum>=1) && (pemeriksaan_sebelum<=15)) {//open body5 cout << "\n- Lampu Isyarat:"; cin >> lampu_isyarat; if((lampu_isyarat>=1) && (lampu_isyarat<=10)) {//open body6 cout << "\n- Selekoh:"; cin >> selekoh; if((selekoh>=1) && (selekoh<=5)) {//open body7 cout << "\n- Kelajuan:"; cin >> kelajuan; if((kelajuan>=1) && (kelajuan<=10)) {//open body8 cout << "\n- penggunaan gear:"; cin >> penggunaan_gear; if((penggunaan_gear>=1) && (penggunaan_gear<=10)) {//open body9 jumlah=ujian_naik_bukit + ujian_letak_kereta + ujian_3_penjuru + pemeriksaan_sebelum + lampu_isyarat + selekoh + kelajuan + penggunaan_gear; }//close body9 else {//open body10 cout << "\nRALAT!! Masukkan Semula kelajuan"; cout << "\n - Kelajuan:"; cin >> kelajuan; }//close body10 }//close body8 else {//open body11 cout << "\nRALAT!! Masukkan Semula Selekoh"; cout << "\n Selekoh:"; cin >> selekoh; }//close body11 }//close body7 else {//open body12 cout << "\nRALAT!! Masukkan Semula Lampu Isyarat"; cout << "\n- Lampu Isyarat:"; cin >> lampu_isyarat; }//close body12 else {//open body13 cout << "RALAT!! Masukkan Semula pemeriksaan Sebelum memandu"; cout << "pemeriksaan sebelum memandu:"; cin >> pemeriksaan_sebelum; }//close body13 }//close body6 else {//open body14 cout << "RALAT!! Masukkan Semula Pemeriksaan Sebelum Memandu"; cout << "\n- pemeriksaan sebelum memandu:"; cin >> pemeriksaan_sebelum; }//close body14 }//close body5 }//close body4 else {//open body15 cout << "RALAT!! Masukkan Semula Ujian tiga Penjuru"; cout << "\nUjian tiga penjuru:"; cin >> ujian_3_penjuru; }//close body15 {//close body3 else {//open body16 cout << "\nRALAT!! Masukkan Semula meletak kenderaan"; cout << "\nUjian meletakkan kenderaan[15%]:"; cin >> ujian_letak_kereta; }//close body16 jumlah=ujian_naik_bukit + ujian_letak_kereta + ujian_3_penjuru + pemeriksaan_sebelum + lampu_isyarat + selekoh + kelajuan + penggunaan_gear; cout << jumlah; }//close bodyERROR:C:\Documents and Settings\Administrator\My Documents\CPP\Cpp1.cpp(98) : error C2181: illegal else without matching ifC:\Documents and Settings\Administrator\My Documents\CPP\Cpp1.cpp(128) : error C2181: illegal else without matching ifC:\Documents and Settings\Administrator\My Documents\CPP\Cpp1.cpp(146) : fatal error C1004: unexpected end of file foundError executing cl.exe.Cpp1.obj - 3 error(s), 0 warning(s)akum nak minta tolong sikit.. ada error nie.. ntah macam mana nak fix.. banyak sangat {} hehehesori la prog ni lum habis lagi sebenarnya.. tapi leh keluarkan output yang simpel je...aku dah try cari apa sebab dia gini.. maybe kekurangan {} kan? tapi kat mana erk?ok thankx o ya.. sapa sapa yang mahir dalam c,c++,java or other language ada Ym or msn tak? hehehee maklum la nak belajar.. nak tanya trus ok skit thanks akum. Edited October 21, 2007 by pahlawankurus Quote Share this post Link to post Share on other sites
pahlawankurus 0 Report post Posted October 21, 2007 {//close body3 <-- rupanya yang ini yang salah haadoi... ok skg ada lagi error.. tinggal 1 je..C:\Documents and Settings\Administrator\My Documents\CPP\Cpp1.cpp(95) : error C2181: illegal else without matching ifError executing cl.exe. Quote Share this post Link to post Share on other sites
mchammer 0 Report post Posted October 21, 2007 (edited) Ni mesti terlebih else daripada if ni.Sila guna code, bukan codebox untuk code tagging.Buat indent supaya lebih jelas.if(true) { cout << "\nSusah nak baca"; } else { cout << "\nSusah nak debug"; } vs. if(true) { cout << "\nSenang sikit nak baca"; } else { cout << "\nSenang sikit nak debug"; } Edited October 21, 2007 by mchammer Quote Share this post Link to post Share on other sites
pahlawankurus 0 Report post Posted October 21, 2007 ok ok.. dah saya ubah... em... amcam? ada sapa sapa leh tolong sal error ni? adei.. bingung~ Quote Share this post Link to post Share on other sites
mchammer 0 Report post Posted October 21, 2007 (edited) Ok, cuba try code kat bawah ni.Saya ada beberapa komen, nanti saya pos kemudian...#include <iostream> using namespace std; int main() {//open body int ujian_naik_bukit, ujian_letak_kenderaan; int ujian_3_penjuru, pemeriksaan_sebelum; int lampu_isyarat, selekoh, kelajuan; int penggunaan_gear, jumlah; ujian_naik_bukit = ujian_letak_kenderaan = ujian_3_penjuru = 0; pemeriksaan_sebelum = lampu_isyarat = selekoh = 0; kelajuan = penggunaan_gear = jumlah = 0; cout << "Ujian Naik Bukit[markah untuk lulus ialah 15%]:"; cin >> ujian_naik_bukit; if (ujian_naik_bukit==15) {//open body1 cout << "\nLulus Ujian Naik Bukit[15%]"; }//close body1 else {//open body2 cout << "\nRalat!! Masukkan Sekali Lagi[Markah untuk lulus ialah 15\% dan tidak boleh kurang atau lebih daripada 15%]"; cout << "\nUjian Naik Bukit[markah maksimum ialah 15]:"; cin >> ujian_naik_bukit; }//close body2 cout << "\nUjian meletakkan kenderaan[15%]:"; cin >> ujian_letak_kenderaan; if ((ujian_letak_kenderaan>=1) && (ujian_letak_kenderaan<=15)) {//open body3 cout << "\nUjian tiga penjuru:"; cin >> ujian_3_penjuru; if ((ujian_3_penjuru>=1) && (ujian_3_penjuru<=20)) {//open body4 cout << "\nUjian Jalanraya"; cout << "\n---------------------------------------------------------------------------------------------------"; cout << "\n---------------------------------------------------------------------------------------------------"; cout << "\n\n- pemeriksaan sebelum memandu:"; cin >> pemeriksaan_sebelum; if ((pemeriksaan_sebelum>=1) && (pemeriksaan_sebelum<=15)) {//open body5 cout << "\n- Lampu Isyarat:"; cin >> lampu_isyarat; if((lampu_isyarat>=1) && (lampu_isyarat<=10)) {//open body6 cout << "\n- Selekoh:"; cin >> selekoh; if((selekoh>=1) && (selekoh<=5)) {//open body7 cout << "\n- Kelajuan:"; cin >> kelajuan; if((kelajuan>=1) && (kelajuan<=10)) {//open body8 cout << "\n- penggunaan gear:"; cin >> penggunaan_gear; if((penggunaan_gear>=1) && (penggunaan_gear<=10)) {//open body9 jumlah = ujian_naik_bukit + ujian_letak_kenderaan + ujian_3_penjuru + pemeriksaan_sebelum + lampu_isyarat + selekoh + kelajuan + penggunaan_gear; }//close body9 } //close body8 else {//open body10 cout << "\nRALAT!! Masukkan Semula kelajuan"; cout << "\n - Kelajuan:"; cin >> kelajuan; }//close body10 }//close body7 else {//open body11 cout << "\nRALAT!! Masukkan Semula Selekoh"; cout << "\n Selekoh:"; cin >> selekoh; }//close body11 }//close body6 else {//open body12 cout << "\nRALAT!! Masukkan Semula Lampu Isyarat"; cout << "\n- Lampu Isyarat:"; cin >> lampu_isyarat; }//close body12 }//close body5 else {//open body13 cout << "RALAT!! Masukkan Semula pemeriksaan Sebelum memandu"; cout << "pemeriksaan sebelum memandu:"; cin >> pemeriksaan_sebelum; }//close body13 }//close body6 else {//open body15 cout << "RALAT!! Masukkan Semula Ujian tiga Penjuru"; cout << "\nUjian tiga penjuru:"; cin >> ujian_3_penjuru; }//close body15 }//close body3 else {//open body16 cout << "\nRALAT!! Masukkan Semula meletak kenderaan"; cout << "\nUjian meletakkan kenderaan[15%]:"; cin >> ujian_letak_kenderaan; }//close body16 jumlah = ujian_naik_bukit + ujian_letak_kenderaan + ujian_3_penjuru + pemeriksaan_sebelum + lampu_isyarat + selekoh + kelajuan + penggunaan_gear; cout << jumlah; return 0; }//close body Edited October 21, 2007 by mchammer Quote Share this post Link to post Share on other sites
mchammer 0 Report post Posted October 21, 2007 (edited) Ni komen saya:1) cout << "Ujian Naik Bukit[markah untuk lulus ialah 15%]:"; cin >> ujian_naik_bukit; if (ujian_naik_bukit==15) {//open body1 cout << "\nLulus Ujian Naik Bukit[15%]"; }//close body1 else {//open body2 cout << "\nRalat!! Masukkan Sekali Lagi[Markah untuk lulus ialah 15\% dan tidak boleh kurang atau lebih daripada 15%]"; cout << "\nUjian Naik Bukit[markah maksimum ialah 15]:"; cin >> ujian_naik_bukit; }//close body2 Dalam kes ujian naik bukit ni, ralat/error akan dipaparkan jika user masukkan nilai selain daripada 15. Nampaknya user tiada pilihan lain; apa kata remove sahaja code ni? Set kan sahaja ujian_naik_bukit = 15. 2) Kebanyakan if statement yang memaparkan ralat/error jika input yg diberi tidak betul adalah lebih sesuai digantikan dengan while statement. Refer code dalam 1), jika user masukkan input selain 15, ralat/error akan dipaparkan dan user diminta untuk memasukkan input yg baru. Masalahnya, jika user tetap memasukkan input yang salah, program akan diteruskan; di mana ujian meletakkan kenderaan pula yang akan ditanya walaupun input untuk ujian naik bukit sudah pun salah. Ini contoh kalau guna while statement: cout << "Ujian Naik Bukit[markah untuk lulus ialah 15%]:"; cin >> ujian_naik_bukit; while (ujian_naik_bukit != 15) { cout << "Input salah:"; cout << "Ujian Naik Bukit[markah untuk lulus ialah 15%]:"; cin >> ujian_naik_bukit; } Edited October 21, 2007 by mchammer Quote Share this post Link to post Share on other sites
pahlawankurus 0 Report post Posted October 21, 2007 terima kasih,sebenarnya user memang perlu input 15 sahaja.tidak boleh lebih atau kurang.jika lebih atau kurang ia perlu ulang semua sehingga betul. di sini saya menggunakan if dan else. saya tahu memang ia tidak akan berulang selagi ia betul.walaupun salah ia akan tetap di teruskan... saya bingung untuk menggunakan while di sini.saya ingin membuat aturcara jika user itu memasukkan lebih atau kurang daripada 15 ialah akan berulang selagi user tidak input 15 program tidak akan di terus kan. adalah saya perlu menggunakan while?bina satu aturcara yang dapat memaparkankeputusan ujian bagi mendapatkan lesen kenderaan bermotor. antara kriteria kriteria yang perlu di masukkan adalah:1.Ujian naik bukit (15%)- lulus =15%- gagal=0%2.Ujian meletakkan kenderaan(15%)3.Ujian tiga penjuru(20%)4.Ujian jalan raya(50%)- pemeriksaan sebelum memandu =15%-lampu isyarat=10%-selekoh=5%-kelajuan=10%-penggunaan gear=10%Sila nyatakan juga keputusan ujian tersebut lulus ataupun gagalsyarat untuk lulus adalah:1.Jumlah keseluruhan markah mestilah melebihi 50%2.Mesti Lulus Ujian naik bukitdiatas quote tersebut adalah soalan yang saya perlu selesaikan.sy membina 1 prog tetapi lebih kepada menggunakan if else.saya tahu ia tidak begitu baik kepada program ini.encik mchammer,cadangkan saya menggunakan while kan? sebelum ni saya tidak terfikir pula. thx kerana memberi cadangan itu.mchammer,boleh tak bagi contoh :::syrat untuk lulus ujian naik bukit ialah 15 dan tidak boleh kurang dan lebih.bagaimanakah penggunaan while dgn betul?::::syarat ujian meletakkan kenderaan >=1 atau <=15 , user tidak boleh input >15 atau <1.bagaimanakah penggunaan while dgn betul?::terima kasih kerana sudi membantu Quote Share this post Link to post Share on other sites
mchammer 0 Report post Posted October 21, 2007 (edited) Kalau ikutkan soalan, memang syarat untuk lulus ujian naik bukit ialah 15%, tak boleh kurang. Tapi soalan nak kita paparkan keputusan, so tak perlu paparkan error atau loop kalau user masukkan input antara 0 dan 15. Error/loop hanya perlu dipamerkan jika user masukkan input yg tak betul; dalam kes ni, lebih daripada 15 atau kurang daripada 0. Kalau user masukkan input antara 0 dan 15, kita just 'gagalkan' user. Contohnya lebih kurang macam ni:int gagal_naik_bukit = 0; cout << "Ujian Naik Bukit[markah untuk lulus ialah 15%]:"; cin >> ujian_naik_bukit; while (ujian_naik_bukit > 15 || ujian_naik_bukit < 0) { cout << "Input salah:"; cout << "Ujian Naik Bukit [markah untuk lulus ialah 15%]:"; cin >> ujian_naik_bukit; } if (ujian_naik_bukit != 15) { gagal_naik_bukit = 1; } if (gagal_naik_bukit) { cout << "Anda gagal dalam ujian naik bukit"; }Yang lain pun buat macam tu. Edited October 21, 2007 by mchammer Quote Share this post Link to post Share on other sites
pahlawankurus 0 Report post Posted October 21, 2007 ok saya akan cuba... terima kasih banyak mchammer Quote Share this post Link to post Share on other sites
pahlawankurus 0 Report post Posted October 22, 2007 (edited) #include<iostream.h> int main(void){ //declaration int ujian_naik_bukit=0 , ujian_meletakkan_kenderaan=0; int ujian_tiga_penjuru=0 , pemeriksaan_sebelum_memandu=0; int lampu_isyarat=0 , kelajuan=0 , selekoh=0; int penggunaan_gear=0 , jumlah=0 , jumlah2=0 , jumlah3=0; int jum_keseluruhan=0; //ujian naik bukit - mula cout << "\nLULUS = 15%"; cout << "\nGAGAL = 0%"; cout << "\n\nMasukkan Ujian Naik Bukit:"; cin >> ujian_naik_bukit; while ((ujian_naik_bukit <=14 ) || (ujian_naik_bukit >=16)) { cout << "\nInput Salah!--"; cout << "\n------------"; cout << "\nLULUS = 15%"; cout << "\nGAGAL = 0%"; cout << "\n\nMasukkan Ujian Naik Bukit:"; cin >> ujian_naik_bukit; if((ujian_naik_bukit <=14 ) || (ujian_naik_bukit >=16)) { cout << "\nInput Salah!"; cout << "\n------------"; cout << "\nLULUS = 15%"; cout << "\nGAGAL = 0%"; cout << "\n\nMasukkan Ujian Naik Bukit:"; cin >> ujian_naik_bukit; } } //ujian naik bukit - tamat //ujian meletakkan kenderaan - mula cout << "\nUjian meletakkan kenderaan:"; cin >> ujian_meletakkan_kenderaan; while ((ujian_meletakkan_kenderaan<0) || (ujian_meletakkan_kenderaan>=16)) { cout << "\n\nInput Salah!"; cout << "\nUjian meletakkan kenderaan:"; cin >> ujian_meletakkan_kenderaan; if((ujian_meletakkan_kenderaan<0) || (ujian_meletakkan_kenderaan>=16)) { cout << "\n\nInput Salah!"; cout << "\nUjian meletakkan kenderaan:"; cin >> ujian_meletakkan_kenderaan; } } //ujian meletakkan kenderaan - tamat //ujian tiga penjuru - mula cout << "\nUjian Tiga Penjuru:"; cin >> ujian_tiga_penjuru; while ((ujian_tiga_penjuru<0) || (ujian_tiga_penjuru>=21)) { cout << "\n\nInput Salah!"; cout << "\nUjian Tiga Penjuru:"; cin >> ujian_tiga_penjuru; if((ujian_tiga_penjuru<0) || (ujian_tiga_penjuru>=21)) { cout << "\n\nInput Salah!"; cout << "\nUjian Tiga Penjuru:"; cin >> ujian_tiga_penjuru; } } //ujian tiga penjuru - tamat //ujian jalan raya - mula cout << "\nUjian Jalan Raya"; //pemeriksaan sebelum jalan - mula cout << "\n- Pemeriksaan Sebelum Memandu:"; cin >> pemeriksaan_sebelum_memandu; while((pemeriksaan_sebelum_memandu<0) || (pemeriksaan_sebelum_memandu>=16)) { cout << "\n\nInput Salah!"; cout << "\n- Pemeriksaan Sebelum Memandu:"; cin >> pemeriksaan_sebelum_memandu; if((pemeriksaan_sebelum_memandu<0) || (pemeriksaan_sebelum_memandu>=16)) { cout << "\n\nInput Salah!"; cout << "\n- Pemeriksaan Sebelum Memandu:"; cin >> pemeriksaan_sebelum_memandu; } } //pemeriksaan sebelum jalan - tamat //lampu isyarat - mula cout << "\n- Lampu Isyarat:"; cin >> lampu_isyarat; while((lampu_isyarat<0) || (lampu_isyarat>=11)) { cout << "\n\nInput Salah!"; cout << "\n- Lampu Isyarat:"; cin >> lampu_isyarat; if((lampu_isyarat<0) || (lampu_isyarat>=11)) { cout << "\n\nInput Salah!"; cout << "\n- Lampu Isyarat:"; cin >> lampu_isyarat; } } //lampu isyarat - tamat //selekoh - mula cout << "\n- Selekoh:"; cin >> selekoh; while((selekoh<0) || (selekoh>=6)) { cout << "\n\nInput Salah!"; cout << "\n- Selekoh:"; cin >> selekoh; if((selekoh<0) || (selekoh>=6)) { cout << "\n\nInput Salah!"; cout << "\n- Selekoh:"; cin >> selekoh; } } //selekoh - tamat //kelajuan - mula cout << "\n- Kelajuan:"; cin >> kelajuan; while((kelajuan<0) || (kelajuan>=11)) { cout << "\n\nInput Salah!"; cout << "\n- Kelajuan:"; cin >> kelajuan; if((kelajuan<0) || (kelajuan>=11)) { cout << "\n\nInput Salah!"; cout << "\n- Kelajuan:"; cin >> kelajuan; } } //kelajuan - tamat //penggunaan gear - mula cout << "\n- Penggunaan Gear:"; cin >> penggunaan_gear; while((penggunaan_gear<0) || (penggunaan_gear>=11)) { cout << "\n\nInput Salah!"; cout << "\n- Penggunaan Gear:"; cin >> penggunaan_gear; if((penggunaan_gear<0) || (penggunaan_gear>=11)) { cout << "\n\nInput Salah!"; cout << "\n- Penggunaan Gear:"; cin >> penggunaan_gear; } } //penggunaan gear - tamat cout << "\n------------------------------------"; cout << "\nKEPUTUSAN UJIAN MEMANDU JPJ MALAYSIA"; cout << "\n------------------------------------"; cout << "\n\n----------------------------------"; cout << "\n1. Ujian Naik Bukit :" << ujian_naik_bukit; cout << "\n2. Ujian Meletakkan Kenderaan :" << ujian_meletakkan_kenderaan; cout << "\n3. Ujian Tiga Penjuru :" << ujian_tiga_penjuru; cout << "\n4. Ujian Jalanraya :"; cout << "\n\t - Pemeriksaan Sebelum Memandu" << "[ " << pemeriksaan_sebelum_memandu << "]"; cout << "\n\t - Lampu Isyarat " << "[ " << lampu_isyarat << "]"; cout << "\n\t - Selekoh " << "[ " << selekoh << "]"; cout << "\n\t - kelajuan " << "[ " << kelajuan << "]"; cout << "\n\t - Penggunaan Gear " << "[ " << penggunaan_gear << "]"; cout << "\n------------------------------------"; jumlah = ujian_naik_bukit + ujian_meletakkan_kenderaan; jumlah2 = ujian_tiga_penjuru + pemeriksaan_sebelum_memandu; jumlah3 = lampu_isyarat + kelajuan + selekoh + penggunaan_gear; jum_keseluruhan = jumlah + jumlah2 +jumlah3; cout << "\n\nJUMLAH MARKAH KESELURUHAN:"<<jum_keseluruhan; //keputusan if(jum_keseluruhan>=50) { cout << " \nANDA GAGAL-LULUS: LULUS "; } else { cout << " \nANDA GAGAL-LULUS: GAGAL "; } return 0; }thanks atas nasihat bro mchammer .... skg saya dah berjaya buat dan lengkapkan prog ini //output belum lengkpa sebenarnya hihihi tapi perjalanan semua lancar Edited October 22, 2007 by pahlawankurus Quote Share this post Link to post Share on other sites
Paralys3r 0 Report post Posted October 27, 2007 mengikut penerangan awak, (ujian naik bukit), user sepatutnya boleh masukkan input 0 (means gagal) atau 15 (means lulus), selain dari itu, kena input semula.. so boleh laa buat camni :do { cin >> ujian_naik_bukit; if (ujian_naik_bukit != 15 && ujian_naik_bukit != 0) { cout << "Input salah" continue; } if (ujian_naik_bukit == 15) cout << "lulus" else cout << "gagal"; break; } while (true);or something like that.. ia simple dan lebih jelas rasanya. Quote Share this post Link to post Share on other sites