TI

Pertanyaan

Buatlah program pengambil keputusan:

Buat 10 pertanyaan yang nantinya akan menyimpulkan skor.
Contoh: pertanyaan nomor 1 memuat jawaban dengan skor yg berbeda2, bila a atau 1 maka skor sekian, bila b atau 2 maka skor sekian.
Hasil dari skor2 tadi akan ditotalkan dan total skor tersebut memiliki range sehingga akan membuahkan suatu keputusan.

Contoh:
Bila total skor 0-2, maka keputusan a.
Bila total skor 3-5, maka keputusan b.
Bila total skor 6-8, maka keputusan c.
Bila total skor 9-10, maka keputusan d.

contonya seperti pd gambar dalam bahasa C
Buatlah program pengambil keputusan: Buat 10 pertanyaan yang nantinya akan menyimpulkan skor. Contoh: pertanyaan nomor 1 memuat jawaban dengan skor yg berbeda2,

1 Jawaban

  • Untuk menyelesaikan soal ini, kita hanya perlu menyimpan data soal dan print lalu meminta input jawaban.
    dan cek diakhir program berapa score.
    Mungkin ada beberapa yang tidak kamu pahami.
    Berikut codenya:

    #include <stdio.h>
    int main(){
         char Quest[10][200]={"Tipe data variable apa yang dapat menampung bilangan bulat?\na. int\nb. float\nc. string\nd. char\n",
                             "Header library yang digunakan untuk scanf dan printf?\na. conio.h\nb. windows.h\nc. stdio.h\nd. stdlib.h\n",
                             "Apa yang mencetak baris baru setelah melakukan output secara default?\na. printf\nb. puts\nc. scanf\nd. return 0\n",
                             "Dalam melakukan input data, diperlukan sintaks?\na. scanf\nb. printf\nc. return 0\nd. if\n",
                             "Dalam mengecek kondisi, kode yang digunakan adalah?\na. scanf\nb. printf\nc. if\nd. puts\n",
                             "Untuk melakukan pembagian nilai pecahan, diperlukan tipe data?\na. int\nb. char\nc. float\nd. string\n",
                             "Berikut ini tipe data yang valid dalam bahasa C kecuali?\na. int\nb. string\nc. float\nd. char\n",
                             "Berikut ini tipe daya yang digunakan untuk menyimpan 1 karakter?\na. int\nb. char\nc. return\nd. #include\n",
                             "Berikut ini kode yang benar untuk mencetak tab adalah?\na. \\t\nb. tab\nc. print(tab)\nd. puts(tab)\n",
                             "Berikut ini kode yang benar, kecuali?\na. cetak(a)\nb. printf(\"a\");\nc. puts("");\nd. scanf(\"%d\",&var);\n"};
         char ans[10]="acbaccbbaa";
         int i;
         char jawab;
         char keluar;
         int score=0;
         for (i=0; i<10; i++){
            printf("===========Pertanyaan ke %d===========\n\n", i+1);
            puts(Quest[i]);

            printf("Jawab : ");

            scanf("%c",&jawab);
            printf("\nNilai -> 10\n\n");

            if (jawab==ans[i]){
                printf("->Selamat, jawaban anda benar.");
                score+=10;
            }
            else printf("->Maaf, jawaban anda salah.");

            printf(" Ingin lanjut ke pertanyaan selanjutnya? (y/t): ");
            keluar=getchar();
            scanf("%c",&keluar);
            if (keluar=='t'){
                break;
            }
            keluar=getchar();
            //else puts("Salah");
         }
         if (score>84){
            printf("Selamat anda mendapat nilai A.");
         }
         else if (score > 74){
            printf("Selamat anda mendapat nilai B.");
         }
         else if (score >50){
            printf("Maaf, Anda mendapat nilai C.");
         }
         else{
            printf("Maaf, anda gagal dalam test ini.");
         }
         getch();
         return 0;
    }

    Semoga membantu, jangan lupa tandai sebagai jawaban terbaik.