Daim2604 1 Report post Posted April 11, 2014 (edited) Salam dan selamat sejahtera, nak mintak tlng sapa2 yang tahu dalam C programming untuk semak code saya ni. Tujuan saya buat benda ni hanyalah sekadar nak menambahkan ilmu(takde idea nak buat apa jadi cuba2 buat sistem ni). Saya newbie/beginner dlm programming(C). Bawah ni code saya, saya nak buat sistem convert keluasan tanah. Masalah saya bermula pada perkataan yang warna merah dalam kotak code tu. Kalau saya compile dan run code saya, apa yang saya nak dah jadi. contoh jika saya masukkan 500 meter persegi , die akan darabkan dan dapat keluasan dalam kaki. Tapi selepas dah dapat jawapan tu saya nak buat, kalau User tekan huruf Y atau y code tu akan ulang semula pada bahagian yang merah tu untuk orang tu isi semula jika die nak tukar sekali lagi keluasannya. Dengan kod yang sedia ada sekarang , selepas dah dapat jawapan untuk pertama kali apabila user tekan Y atau y pada keyboard , automatik code mati atau console terpadam, macam while loop saya tak berfungsi. #include <stdio.h> int main() { int pilihanawal; int jawapan; int pilihan_meter; int pilihan_meter2; char pilihan_meter3; int campur_meter; int meter_ekar; int meter_ekar2; int meter_ekar3; pilihan_meter3 = 'Y'; printf("Selamat Datang ke Sistem Pertukaran Unit Keluasan Tanah \n Designed by D"); printf("\nSila pilih pertukaran yang anda inginkan mengikut senarai yang terpapar\n1. Meter\n2. Kaki\n3. Ekar\n4. Hektar\nPilihan : "); scanf("%d", &pilihanawal); printf("\n\nAnda telah memilih %d\n" , pilihanawal); if(pilihanawal == 1){ printf("\n\nTerima kasih untuk pilihan anda. Sila pilih daripada senarai yang terpapar\n1. Meter kepada Kaki\n2. Meter kepada Ekar\n3. Meter kepada Hektar\nPilihan anda : "); scanf("%d", &pilihan_meter); if(pilihan_meter == 1){ // <------------ Masalah bermula dari sini while((pilihan_meter3 == 'Y') || (pilihan_meter3 == 'y')){ printf("\n\nSila isi keluasan dalam ukuran meter yang ingin ditukar kepada kaki.\nKeluasan : "); scanf("%d", &pilihan_meter2); campur_meter = pilihan_meter2*10.763; printf("Jawapannya : %d kaki persegi", campur_meter); printf("\nAdakah anda ingin melakukannya semula? (Y)a atau (T)idak \nJawapan : "); scanf("%c", &pilihan_meter3); // Jika pengguna taip Y / y atau T / t , code ini akan ulang semula bermula dari tempat if(pilihan_meter == 1) } } getch(); } Adakah salah penggunaan while loop saya? atau kod yang saya gunakan langsung tak sesuai. Mohon bantuan semua. Maaf kalau kod berterabur atau penjelasan tak jelas. Mohon Juga user2 lain beri tunjuk ajar mcm mana nk pendekkan atau kemaskan lagi coding saya ni. Terima kasih banyak2 ye Semua. **kalau ada tutorial2 C programming yang menarik mohon share juga. Edited April 11, 2014 by Daim2604 Quote Share this post Link to post Share on other sites
Chuki2 32 Report post Posted April 12, 2014 Salam, Kalau tanya pada saya, saya akan pakai do while do { printf("\n\nSila isi keluasan dalam ukuran meter yang ingin ditukar kepada kaki.\nKeluasan : "); scanf("%d", &pilihan_meter2); campur_meter = pilihan_meter2*10.763; printf("Jawapannya : %d kaki persegi", campur_meter); printf("\nAdakah anda ingin melakukannya semula? (Y)a atau (T)idak \nJawapan : "); scanf("%c", &pilihan_meter3); // Jika pengguna taip Y / y atau T / t , code ini akan ulang semula bermula dari tempat if(pilihan_meter == 1) } } while (pilihan_meter3 == 'y' || pilihan_meter3 == 'Y'); Sebab do while akan check syarat pada end of statement. Gud luck... :D Quote Share this post Link to post Share on other sites
Daim2604 1 Report post Posted April 15, 2014 (edited) Terima kasih Bang. Tapi masih sama :( , adakah sebab saya buat do while tu duduk bawah if dan tak boleh mcm tu? #include <stdio.h> #include <stdlib.h> int main() { int pilihanawal; int jawapan; int pilihan_meter; int pilihan_meter2; char pilihan_meter3; int campur_meter; int meter_ekar; int meter_ekar2; int meter_ekar3; pilihan_meter3 = 'Y'; printf("Selamat Datang ke Sistem Pertukaran Unit Keluasan Tanah \n Designed by D"); printf("\nSila pilih pertukaran yang anda inginkan mengikut senarai yang terpapar\n1. Meter\n2. Kaki\n3. Ekar\n4. Hektar\nPilihan : "); scanf("%d", &pilihanawal); printf("\n\nAnda telah memilih %d\n" , pilihanawal); if(pilihanawal == 1){ printf("\n\nTerima kasih untuk pilihan anda. Sila pilih daripada senarai yang terpapar\n1. Meter kepada Kaki\n2. Meter kepada Ekar\n3. Meter kepada Hektar\nPilihan anda : "); scanf("%d", &pilihan_meter); if(pilihan_meter == 1){ //<--------------------- do{ // <---------------------- printf("\n\nSila isi keluasan dalam ukuran meter yang ingin ditukar kepada kaki.\nKeluasan : "); scanf("%d", &pilihan_meter2); campur_meter = pilihan_meter2*10.763; printf("Jawapannya : %d kaki persegi", campur_meter); printf("\nAdakah anda ingin melakukannya semula? (Y)es atau (N)o \nJawapan : "); scanf("%c", &pilihan_meter3); } while(pilihan_meter3 == 'y' || pilihan_meter3 == 'Y'); } } getchar(); } Satu lagi bang. dkat windows apabila saya compile dan run, console/command prompt sy hang, keluar command prompt/console tpi tak ada tulisan , nak tutup pun tak boleh, kalau run command prompt secara manual ok. cuma tak boleh run code yang sy buat daripada C je.. Sy compile dan run code yang sme pd Ubuntu ok. masih boleh cuma yang masalah sebelum ni je tak boleh lagi. Maaf ye bang, terima kasih. Edited April 15, 2014 by Daim2604 Quote Share this post Link to post Share on other sites