Jump to content
Daim2604

Mohon Bantuan Semak Code Ni , C Programming

Recommended Posts

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 by Daim2604

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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 by Daim2604

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...

×
×
  • Create New...