Từ 1 tới 9 trên tổng số 9 kết quả

Đề tài: Chương trình C | Chương trình trắc nghiệm viết bằng C

  1. #1
    Ngày gia nhập
    02 2007
    Nơi ở
    Thủ Đức - TPHCM
    Bài viết
    49

    Exclamation Chương trình C | Chương trình trắc nghiệm viết bằng C

    mình đangcó bài tập về viết 1 chương trình trắc nghiệm bạn nào có thể hướng dẫn mình làm với được không ?
    Đang rất cần giúp đỡ

  2. #2
    Ngày gia nhập
    01 2007
    Bài viết
    4

    Bạn hỏi thế thì "cụ nội, cụ ngoại" ai có thể trả lời được?
    1.Đầu tiền bạn phải xem chương trình sẽ trắc nghiệm cái gì?
    2.Tìm các yêu cầu của chương trinh?
    3. Phân tích các yêu cầu của chương trình xem phải làm gì.
    .....
    Sau đó nếu có khó khăn gì thì post lên đây,

  3. #3
    Ngày gia nhập
    11 2006
    Bài viết
    1

    Tác giả : Nguyễn Văn Toàn
    Post bài : Huỳnh Minh Vương
    minhitcn2 nè!!!!!
    ông học lớp CD9 tin 29 pải hok?
    ông học lớp A hay B dzậy?
    tui cũng mới kiếm đc cái source đó nè :
    Bài này gồm có 2 phần :
    +ghi DL
    +Doc DL
    ******Ghi DL****
    C Code:
    1. // Ghi mot cau truc.
    2. #include <stdlib.h>
    3. #include <stdio.h>
    4. #include <conio.h>
    5. #include <string.h>
    6.  
    7. const char kt = 35; // kich thuoc theo chuan Zng Ajr.
    8.  
    9. struct cau_hoi
    10. {
    11.     char da; // dap an dung cua cau hoi.
    12.     char hoi [2*kt]; // noi dung cau hoi.
    13.     char a [kt]; // cau tra loi A.
    14.     char b [kt]; // cau tra loi B.
    15.     char c [kt]; // cau tra loi C.
    16.     char d [kt]; // cau tra loi A.
    17. } c_h;
    18.  
    19. void nap_dul (char *ch); // nap du lieu vao cau truc.
    20. void ma_hoa (cau_hoi c_h, char kit); // ma hoa cau hoi.
    21.  
    22. void main ()
    23. {
    24.     FILE *t1, *t2; char ch [6*kt];
    25.     int so; // tong so cau hoi co trong tep.
    26.     textmode (3); clrscr ();
    27.  
    28.     // Mo tep 1.
    29.     if ((t1 = fopen ("dul.txt", "r")) == NULL)
    30.     {
    31.         printf ("Tep dul.txt khong mo duoc...");
    32.         getch (); return;
    33.     }
    34.     fscanf (t1, "%d\n", &so); // nap tong so cau hoi.
    35.  
    36.     // Mo tep 2.
    37.     if ((t2 = fopen ("res.txt", "wb")) == NULL)
    38.     {
    39.         printf ("Tep res.txt khong ghi duoc...");
    40.         getch (); return;
    41.     }
    42.  
    43.     for (int i = 0; i < so; i++)
    44.     {
    45.         fscanf (t1, "%d", &c_h.da); fgets (ch, 6*kt, t1); // doc tep 1.
    46.         nap_dul (ch); // nap du lieu de chuan bi ghi cau truc.
    47.         //ma_hoa (c_h, 'z'); // ma hoa du lieu boi 'z'.
    48.         fwrite (&c_h, sizeof (c_h), 1, t2);
    49.     }
    50.  
    51.     fclose (t1); fclose (t2);
    52.     printf ("Ghi du lieu thanh cong...");
    53.     getch (); return;
    54.     // Het ham main.
    55. }
    56.  
    57. // Nap du lieu vao cau truc.
    58. void nap_dul (char *ch)
    59. {
    60.     int m, n;
    61.     /*
    62.     1int la gi?`so nguyen`so thuc`so phuc`tat ca sai
    63.     int la gi?`so nguyen`so thuc`so phuc`tat ca sai
    64.  
    65.     */
    66.  
    67.     // Lay cau hoi.
    68.     for (m = 0; ch [m] != '`'; m++) c_h.hoi [m] = ch [m];
    69.     c_h.hoi [m] = '\0'; m++;
    70.  
    71.     // Lay dap an A.
    72.     for (n = 0; ch [n + m] != '`'; n++) c_h.a [n] = ch [n + m];
    73.     c_h.a [n] = '\0'; m += n + 1;
    74.  
    75.     // Lay dap an B.
    76.     for (n = 0; ch [n + m] != '`'; n++) c_h.b [n] = ch [n + m];
    77.     c_h.b [n] = '\0'; m += n + 1;
    78.  
    79.     // Lay dap an C.
    80.     for (n = 0; ch [n + m] != '`'; n++) c_h.c [n] = ch [n + m];
    81.     c_h.c [n] = '\0'; m += n + 1;
    82.  
    83.     // Lay dap an D.
    84.     for (n = 0; ch [n + m] != '\0'; n++) c_h.d [n] = ch [n + m];
    85.     c_h.d [n] = '\0';
    86. }
    87.  
    88. // Ma hoa cau hoi.
    89. void ma_hoa (cau_hoi c_h, char kit)
    90. {
    91.     c_h.da ^= kit;
    92.     for (int i = 0; i < strlen (c_h.hoi); i++) c_h.hoi [i] ^= kit;
    93.     for (i = 0; i < strlen (c_h.a); i++) c_h.a [i] ^= kit;
    94.     for (i = 0; i < strlen (c_h.b); i++) c_h.b [i] ^= kit;
    95.     for (i = 0; i < strlen (c_h.c); i++) c_h.c [i] ^= kit;
    96.     for (i = 0; i < strlen (c_h.d); i++) c_h.d [i] ^= kit;
    97. }
    98. ******doc DL*****
    99. // Doc mot cau truc.
    100.  
    101. #include <stdlib.h>
    102. #include <stdio.h>
    103. #include <conio.h>
    104. #include <string.h>
    105.  
    106. const char kt = 35; // kich thuoc theo chuan Zng Ajr.
    107. int dsa [45]; // chua danh sach cac cau hoi san sang.
    108. int dung, sai, scc; // so cau dung, sai, cau hoi duoc chon.
    109. char ten [23]; // ten cua nguoi choi.
    110. char muc_do; // muc do choi.
    111. int so = 0; // tong so cau hoi co trong tep.
    112.  
    113. void khoi_tao (); // khoi tao danh sach cau hoi mot cach ngau nhien.
    114. void chao_mung (); // chao mung nguoi choi, thiet lap thong so.
    115. void choi (); // thiet lap man hinh choi va mot so thong so.
    116. void khung (); // ke khung man hinh.
    117.  
    118. struct cau_hoi
    119. {
    120.     char da; // dap an dung cua cau hoi.
    121.     char hoi [2*kt]; // noi dung cau hoi.
    122.     char a [kt]; // cau tra loi A.
    123.     char b [kt]; // cau tra loi B.
    124.     char c [kt]; // cau tra loi C.
    125.     char d [kt]; // cau tra loi A.
    126. } c_h;
    127.  
    128. void main ()
    129. {
    130.     FILE *tep; char ch [6*kt], chon;
    131.     textmode (3); clrscr ();
    132.  
    133.     // Mo tep 2.
    134.     if ((tep = fopen ("res.txt", "rb")) == NULL)
    135.     {
    136.         printf ("Tep res.txt khong ghi duoc...");
    137.         getch (); return;
    138.     }
    139.  
    140.     chao_mung (); // man hinh chao mung nguoi choi.
    141.     choi (); // giao dien man hinh nguoi choi.
    142.     while (fread (&c_h, sizeof (c_h), 1, tep), !feof (tep)) so++;
    143.     khoi_tao (); // khoi tao cau hoi ngau nhien.
    144.  
    145.     for (int i = 0; i < scc; i++)
    146.     {
    147.         // Chon cau hoi ngau nhien.
    148.         rewind (tep); // tro ve dau tep.
    149.         for (int j = 0; j < dsa [i] ; j++)
    150.             fread (&c_h, sizeof (c_h), 1, tep);
    151.  
    152.         // In noi dung cau hoi va cac dap an.
    153.         gotoxy (4, 8); printf ("Cau hoi %.2d: %s\n", i + 1, c_h.hoi);
    154.         gotoxy (5, 10); printf ("1. %s\n", c_h.a);
    155.         gotoxy (5, 11); printf ("2. %s\n", c_h.b);
    156.         gotoxy (5, 12); printf ("3. %s\n", c_h.c);
    157.         gotoxy (5, 13); printf ("4. %s", c_h.d);
    158.  
    159.         // Cho nguoi choi chon dap an.
    160.         do
    161.         {
    162.             gotoxy (5, 14); printf ("Chon dap an: ");
    163.             chon = getche ();
    164.             if (chon == 27) return;
    165.         } while (chon < '1' || chon > '4');
    166.         chon -= '1'; // dong bo du lieu, vi c_h.da luu [0 -> 3].
    167.         if (chon == c_h.da)
    168.         {
    169.             printf (" dung roi!");
    170.             gotoxy (60, 6); cprintf ("Dung: %.2d", ++dung);
    171.             getch (); choi ();
    172.         }
    173.         else
    174.         {
    175.             printf (" sai roi!");
    176.             gotoxy (70, 6); cprintf ("Sai: %.2d", ++sai);
    177.             getch (); choi ();
    178.         }
    179.     }
    180.  
    181.     fclose (tep);
    182.  
    183.     // Ket qua choi.
    184.     gotoxy (17, 23); printf ("Nguoi choi: %s\n", strupr (ten));
    185.     int diem = dung - sai;
    186.     gotoxy (17, 24); printf ("So diem: %d ", diem);
    187.     if (diem < scc / 2) printf ("->> choi te qua.");
    188.     else if (diem <= 3 * scc / 2) printf ("choi kha day.");
    189.     else printf ("choi tot lam.");
    190.  
    191.     getch (); return;
    192.     // Het ham main.
    193. }
    194.  
    195. // Khoi tao danh sach cau hoi mot cach ngau nhien.
    196. void khoi_tao ()
    197. {
    198.     int i = 0; char tr, tg;
    199.     randomize ();
    200.     while (i < scc)
    201.     {
    202.         dsa [i] = 0;
    203.         tg = random (so);
    204.         tr = 0;
    205.         for (int j = 0; j < i; j++)
    206.             if (dsa [j] == tg) tr = 1;
    207.         if (tr != 1)
    208.         {
    209.             dsa [i] = tg;
    210.             i++;
    211.         }
    212.     }
    213.     for (i = 0; i < scc; i++) dsa [i]++;
    214. }
    215.  
    216. // Chao mung nguoi choi, thiet lap thong so.
    217. void chao_mung ()
    218. {
    219.     khung (); // ke khung man hinh.
    220.     textcolor (13); gotoxy (21, 3);
    221.     cprintf ("® CHAO MUNG BAN DEN VOI TRO CHOI DEET ¯");
    222.  
    223.     // Ke duong gach duoi.
    224.     textcolor (10);
    225.     gotoxy (27, 4); for (int i = 0; i < 27; i++) cprintf ("Ä");
    226.     gotoxy (31, 5); for (i = 0; i < 19; i++) cprintf ("Ä");
    227.  
    228.     // Nhap thong tin nguoi choi.
    229.     gotoxy (13, 12); printf ("Nhap ten: "); gets (ten);
    230.     if (strlen (ten) == 0) strcpy (ten, "KHONG TEN");
    231.     gotoxy (13, 13); printf ("Muc do (1 -> 3):");
    232.     do
    233.     {
    234.         gotoxy (30, 13);
    235.         muc_do = getche ();
    236.     } while (muc_do < '1' || muc_do > '3');
    237.  
    238.     // Nap so cau hoi cho nguoi choi.
    239.     if (muc_do == '1') scc = 15;
    240.     else if (muc_do == '2') scc = 30;
    241.     else scc = 45;
    242. }
    243.  
    244. // Thiet lap man hinh choi va mot so thong so.
    245. void choi ()
    246. {
    247.     khung (); // ke khung man hinh.
    248.     textcolor (12); gotoxy (17, 3);
    249.     cprintf ("® BAN DANG CHOI TRO DEET THIET KE BOI ZNG TFY ¯");
    250.  
    251.     // Ke duong gach duoi.
    252.     textcolor (10);
    253.     gotoxy (27, 4); for (int i = 0; i < 27; i++) cprintf ("Ä");
    254.     gotoxy (31, 5); for (i = 0; i < 19; i++) cprintf ("Ä");
    255.  
    256.     // In mot so thong tin nhu: ten nguoi choi, muc do, so diem.
    257.     textcolor (9); gotoxy (5, 6); cprintf ("%s", strupr (ten));
    258.     gotoxy (26, 6);
    259.     printf ("Muc do: %c - So cau hoi: %d", muc_do, scc);
    260.     gotoxy (60, 6); cprintf ("Dung: %.2d  Sai: %.2d", dung, sai);
    261. }
    262.  
    263. // Ke khung man hinh.
    264. void khung ()
    265. {
    266.     textcolor (7); clrscr ();
    267.     // Ke vien ngang tren cua khung.
    268.     gotoxy (4, 1); for (int i = 0; i < 74; i++) printf ("Ä");
    269.  
    270.     // Ke goc trai tren, goc phai tren cua khung.
    271.     gotoxy (3, 1); printf ("Ú"); gotoxy (i + 4, 1); printf ("¿");
    272.  
    273.     // Ke duong doc trai, doc phai cua khung.
    274.     for (int j = 0; j < 13; j++)
    275.     {
    276.         gotoxy (3, 2 + j); printf ("³");
    277.         gotoxy (i + 4, 2 + j); printf ("³");
    278.     }
    279.  
    280.     // Ke vien ngang duoi cua khung.
    281.     gotoxy (4, 15); for (i = 0; i < 74; i++) printf ("Ä");
    282.  
    283.     // Ke goc trai duoi, goc phai duoi cua khung.
    284.     gotoxy (3, 15); printf ("À"); gotoxy (i + 4, 15); printf ("Ù");
    285.  
    286.     textcolor (14); gotoxy (5, 2); cprintf ("KOS GRE");
    287.     textcolor (14); gotoxy (62, 2); cprintf ("FAZ CBI ALT IEU");
    288. }
    *****Cấu Trúc của file "Dul.txt"****
    số câu hỏi
    <đáp án><câu hỏi> <stt của câu hỏi> 'đáp án 1'đáp án 2'...
    Đã được chỉnh sửa lần cuối bởi online125 : 17-05-2007 lúc 04:53 PM.

  4. #4
    Ngày gia nhập
    07 2006
    Bài viết
    121

    Vậy là câu trắc nghiệm nào cũng chỉ có 1 2 3 4 hay a b c d thôi!
    Theo tới cấu trúc câu hỏi nên là:
    Code:
    typedef struct cauhoi{
    char *NoiDung;
    int dapan;
    };

    OoShinHaoO

  5. #5
    Ngày gia nhập
    10 2006
    Nơi ở
    In Your Bugs
    Bài viết
    823

    uh làm theo kiểu của Shi thì được rồi ! Ở mỗi this->noidung thì có cái đáp án nếu người dùng trả lời đúng thì tăng điểm lên vậy thôi không khó lắm mà .

  6. #6
    Ngày gia nhập
    04 2007
    Bài viết
    128

    Mặc định Chương trình C | Chương trình trắc nghiệm viết bằng C

    Mình thấy cho cấu trúc câu hỏi, phần nội cung chia rac ũng có cái lý của nó, nếu ko muốn xuất ra theo thứ tự mà cho các đáp án chạy random thì sao? lấy từ file ra được 4 câu tách riêng biệt nhau như thế thì tráo các đáp án với nhau được.

  7. #7
    Ngày gia nhập
    09 2006
    Bài viết
    12

    Trích dẫn Nguyên bản được gửi bởi kidkid Xem bài viết
    Trong Dos mà có kèm được hình ảnh thì hay quá .
    cái chương trình của mình thật ra chỉ hỗ trợ DUY NHẤT file dạng BMP 8 bit màu thôi. dạng file này có cấu trúc đơn giản. chỉ cần biết cấu trúc file, bảng màu, kích thước hình, mình cứ load từng byte rồi vẽ lên màn hình thôi. code cũng ngắn, in ra khoảng 1 tờ giấy thôi.

    vì máy tính hư HDD nên mất hết mã, chỉ vì bài này có nộp cho thầy nên còn 1 bản photo, thành thử bạn cần thì liên hệ tui photo tặng.

  8. #8
    Ngày gia nhập
    05 2007
    Bài viết
    6

    hic hic mấy bác tét thử cái code trắc nghiệm em viết này coi có gì không ổn góp ý với
    C Code:
    1. //----------------------------CHUONG TRINH TRAC NGHIEM--------------------------------
    2. /* MO TA : Cho nguoi choi chon lua cac linh vuc de trac nghiem, lap trinh c/c++, english , toan
    3. moi linh vuc co 10 cau hoi ,hoan thanh 10 cau ,bao ket qua cac cau nguoi choi da chon ,tinh so cau dung
    4. nguoichoi co the quay lai choi tiep hoac thoat khoi chuong trinh
    5. cau truc du lieu cua cau hoi nhu sau : cau 0= rong ,
    6. ket thucmot cau bieu hien bang ki tu '#'
    7. ngay sau ki tu '#'la ki tu dap an cua cau ,chuyen qua cau tiep theo
    8. vi du : cau 1. cho biet ......
    9.     a>............
    10.    b>.............
    11.    c>................
    12.    d>...............
    13.    #c  (a la dap an cau 1)
    14.    cau 2......#a */
    15. //--------------------------------------------------------------------------------------------
    16. #include <conio.h>
    17. #include <stdio.h>
    18. #include <stdlib.h>
    19. #include <time.h>
    20. #include <ctype.h>
    21. #define MAX 100
    22. int diem,vitri[MAX],DEM=0,cau[MAX];             // vi tri la co hieu cho biet cau lam dung hay sai
    23.                                                             //DEM la so cau hoi co trong tep
    24. char trloi[MAX],ten[30];
    25. //---------------------------cau truc cau hoi------------------------------
    26. typedef struct
    27. {
    28.     int cau;                                    //vi tri cau (thu 1,2,3.....
    29.     char nd[1000];
    30.     char da;
    31. }cauhoi;
    32. cauhoi dulieu[MAX];
    33. //-----------------------------------khai bao cac ham----------------------
    34. void xuat(int i);
    35. void chao();
    36. void choi();                                // xuat cac cau ngau nhien  cho nguoi choi chon
    37. int nap(int linhvuc);
    38. char traloi() ;
    39. void ketqua();
    40. int chon();
    41. //-------------------------nap cau hoi tu tep vao cau truc--------------------------
    42. int napch(int linhvuc)
    43. {
    44.     int i=1;                                    //khoi tao i =1 de nhap vaocau thu 1
    45.     char c;
    46.     int j;
    47.     FILE *f;
    48.         if(linhvuc==1)
    49.             f=fopen("e:\\mahoa1.txt","rb");
    50.         else if(linhvuc==2)
    51.             f=fopen("e:\\mahoa2.txt","rb");
    52.         else
    53.             f=fopen("e:\\mahoa3.txt","rb");         /*chon lua cac tap du lieu tuong tung ma nguoi choi chon*/
    54.         if(f==NULL)
    55.             {                                                   //Kiem Tra Ton Tai FILE
    56.                 printf("\n khong mo duoc du lieu ");
    57.                 getch();
    58.             return(1);                          //khong mo duoc du lieu tra ve 1
    59.            }
    60.     c=!EOF;
    61.     while(c!=EOF)                                   //Su Ly Viec Nap Du Lieu tu File.
    62.         {
    63.         j=0;
    64.             dulieu[i].cau=i;
    65.             while(c!=EOF&&(c=fgetc(f))!='#')     //trong khi chua ket thuc tep va chua gap ki tu #
    66.                 {
    67.                     dulieu[i].nd[j]=c;              // nap du kieu vao cau thu [i]
    68.                     j++;
    69.                 }
    70.             c=fgetc(f);
    71.             dulieu[i].da=(c^'A');            //nap cau tr loi 1 ki tu sau # giai ma
    72.          DEM=i;                              // so cau hoi =i;
    73.             i++;
    74.       }  printf("\nSO CAU:%d",(DEM-1));
    75.    return(0);
    76. }
    77. //-----------------------chao don-------------------------------------
    78.  
    79. void chao()
    80. {
    81.     gotoxy(30,8);
    82.     printf("\n       -----------.o0o.WELLCOMETO TEST PROGRAM.o0o.----------");
    83.     gotoxy(30,12);
    84.     printf("Copyright by FOREVER7040");
    85.     printf("\n\n         -------------------------o0o--------------------------");
    86.     gotoxy(30,16);
    87.     printf("press any keys to start");
    88.         getche();
    89.     clrscr();
    90.     gotoxy(33,10);
    91.     printf("your name:");
    92.         gets(ten);
    93. }
    94. //---------------------------------ham chon tep du lieu------------------
    95. int chon()
    96. {
    97.  char nhom;
    98.   do
    99.   {
    100.         gotoxy(35,12);
    101.         printf("please choice area");
    102.         gotoxy(17,14);
    103.         printf("A> PROGRAM C/C++     B > ENGLISH        C > MATHEMATIC");
    104.         gotoxy(39,16);
    105.       nhom=toupper(getche());
    106.    }while(nhom!='A'&&nhom!='B'&&nhom!='C');
    107.    if(nhom=='A')
    108.         return(1);
    109.    else if(nhom=='B')
    110.       return(2);
    111.    else
    112.         return(3);
    113. }
    114. //---------------------------bat dau choi-------------------------------
    115.  
    116. void choi()                                                 //lay cac cau hoi ngau nhien
    117. {
    118.   int   MANG[MAX],i;                                        //bat dau choi diem =0
    119.   diem=0;                                               //khoi dau so cau hoi k=0
    120.   srand((unsigned int)time(NULL));
    121.       for ( i = 0; i < DEM-2; i++)                          // Khoi tao ranseed
    122.          {
    123.                 MANG[i] = i;                                                //KHOI TAO CAC GIA TRI CUA MANG [MAX]
    124.                 vitri[i]=0;                                                 // khoi tao gia tri mang vitri =0 lam co hieu
    125.              }
    126.        for (i = DEM - 2; i > 0; i--)                         //lay cac so ngau nhien
    127.             {
    128.                 int r = rand() % (i + 1);
    129.             int tam = MANG[i];
    130.                 MANG[i] = MANG[r];                                      //loai truong hop r=0
    131.                 MANG[r] = tam;
    132.         }
    133.       for(i = 0; i <10; i++)                                            //goi cac cau hoi ngau nhien TRANH GOI 0
    134.             {
    135.              xuat(MANG[i]+1);
    136.             trloi[i]= traloi();
    137.             cau[i]=(MANG[i]+1);                                     //luu cac cau tra loi
    138.             if(dulieu[MANG[i]+1].da==trloi[i])                          //tranhtruong hop vitri[j]=0;
    139.                     {
    140.                        diem++ ;
    141.                         vitri[i]=1;
    142.                     }
    143.             }
    144.  }
    145. //---------------------------xuat cau hoi------------------------------------
    146. void xuat(int i)
    147. {
    148.     char c;
    149.     printf("\n cau %d",dulieu[i].cau);
    150.     printf(" \n%s",dulieu[i].nd);
    151.    printf("\n---------------------------------------------------------------------");
    152. }
    153. //----------------------------tra loi------------------------
    154. char traloi()
    155. {
    156.     char c;
    157.     printf("\n\n\t\tnhap cau tra loi : A hoac B hoac C hoac D:\n\n\t\t\t\t");
    158.     do
    159.         {
    160.             c=toupper(getche());
    161.         }while(c!='A'&&c!='B'&&c!='D'&&c!='C');
    162.     return(c);
    163. }
    164.  
    165. //----------------------------ket qua ---------------------------------
    166.  
    167. void ketqua()
    168. {
    169.     int i;
    170.     char t;
    171.     do
    172.         {
    173.             clrscr();
    174.             printf("\n\n\t\tban da hoan tat bai trac nghiem\n");
    175.             printf("\n\n\t\tcac cau ban da tra loi\t\tdap an :");
    176.             for(i=0;i<10;i++)
    177.                 {
    178.                     printf("\n\n\t\t\tcau:%d",cau[i]);
    179.                     printf("\t%c\t",trloi[i]);
    180.                     printf("\t%c",dulieu[cau[i]].da);
    181.                   if(vitri[i]!=0)
    182.                         printf("\t\t\t dung");
    183.                }
    184.             printf("\n\n\t\ttong so cau tra loi dung %d",diem);
    185.             printf("\n\n\t\ tbam phim T de thoat : ");
    186.             t=toupper(getche());
    187.         }while(t!='T');
    188. }
    189. //---------------------------main------------------------------------
    190. void main()
    191. {
    192.     int linhvuc ,f;
    193.     char c;
    194.     clrscr();
    195.     textbackground(2);
    196.     textcolor(1);
    197.     chao();
    198.     do
    199.         {
    200.             tt:
    201.             f=1;                            //khoi tao co hieu cho f=1;
    202.                 linhvuc=chon();
    203.                 f=napch(linhvuc);
    204.                 if(f==0)                   //mo duoc du lieu moi co the choi() va co ketqua();
    205.                     {
    206.                         choi();
    207.                         ketqua();
    208.                    }
    209.                 clrscr();
    210.                 printf("\n\n\n\n\n\t\t\t ban muon tiep tuc choi ?(Y/N)");
    211.                 c=toupper(getche());
    212.                 if(c!='Y'&&c!='N')
    213.                     goto tt;
    214.         }while( c!='N');
    215. }

    sắp nộp bài này cho thày nhưng không biết thế này đã ổn chưa các bác góp ý nhé ,tập dữ liệu đã bị mã hóa như sau ( post 1 đoạn thôi ,tại giống nhau cả):
    1 . main() { int i; clrscr(); printf("%d", &i)+1; scanf("%d", i)-1; }

    A.Runtime error. Access violation

    B.Compile error. Illegal syntax

    C.None of the above

    D.Runtime error#
    2 . main(int argc, char *argv[]) { (main && argc) ? main(argc-1, NULL) : return 0; }

    A.Gets into Infinite loop

    B.Compile error. Illegal syntax

    C.None of the above

    D.Runtime error.#
    3 . main() { int i; float *pf; pf = (float *)&i; *pf = 100.00; printf("\n %d", i); }

    A.Some Integer not 100

    B.100

    C.Runtime error.

    D.None of the above#
    4 . main() { int i = 0xff ; printf("\n%d", i<<2); }

    A.1020

    B.512

    C.4

    D.1024#

  9. #9
    Ngày gia nhập
    04 2012
    Bài viết
    116

    a,Định nghĩa cấu trúc dữ liệu thích hợp để lư trữ danh sách cấc câu hỏi , các phuơng án trả lờ truơng ứng và phuơng án trả lời đúng , Mỗi câu hỏi có 4 phuơng án trả lờ và chỉ có duy nhất một phuơng án đúng,\
    b,Viet chuong trinh nhập vò danh sách n câu hỏi . các phuơng án trả lời tuơng ứng với mỗi câu hỏi..
    c,Viết chuơng trình cho phép học sinh trả lời n câu hỏi (môti câu hỏi chỉ đựoc phép cọn tối đa một phuơng án trả lời) . Sau khi trả lời các câu hỏi , chưong trình hiển thị số điểm mà học sinh đạt đựoc, Mỗi câu trả lờ đúng đựoc 1 điểm, ngược lại không đựoc điểm,,

    Sau đây là bài mình làm, gần giống yêu cầu đề thôi nha, vì mình cũng mới tiếp xúc với struct đựoc 2 ngày nên không tối ưu được nhiều, vừa học vừa làm bừa thôi,,,,,,, hi..

    Code:
    #include <stdio.h>
    #include <string.h>
    #define max 100
    struct tracnghiem
    {
    	char noidung[100];
    	char dapan[10];
    	//cau tra loi;
    	char A[100];
    	char B[100];
    	char C[100];
    	char D[100];
    };
    
    int chon_cauhoi(struct tracnghiem tn[100],char ketqua[100],int i)
    {
    
    //	int dem=0;
    	//printf("\nchon dap an tra loi cau hoi %d ",i);
    
    	if(strcmp(tn[i].dapan,ketqua)==0)
    
    		return 1;
    
    }
    
    void nhap_cauhoi(struct tracnghiem tn[max],int i)
    {
    	printf("\n nhap vao cau hoi thu  %d ",i);
    	printf("\nnhap vao noi dung cau hoi");
        scanf("%c",tn[i].noidung);
        gets(tn[i].noidung);
    
    
       // if(tn[i].dapan!='A' && tn[i].dapan!='B' && tn[i].dapan!='C' && tn[i].dapan!='D')
     //   {
    //	    printf("\nnhap khong dung dap an");
     //   }
        printf("\n nhap vao noi dung dap an A");
        gets(tn[i].A);
        printf("\n nhap vao noi dung dap an B");
        gets(tn[i].B);
        printf("\n nhap vao noi dung dap an C");
        gets(tn[i].C);
        printf("\n nhap vao noi dung dap an D");
        gets(tn[i].D);
         printf("\nnhap dap an");
         // scanf("%c",tn[i].dapan);
         gets(tn[i].dapan);
    
    }
    void xuat_cauhoi_chuacodapan(struct tracnghiem tn[max],int i)
    {
    	printf("\nCau %d ",i);
    	printf("\n\t %s ",tn[i].noidung);
    //	printf("\n Dap an dung la  %s ",tn[i].dapan);
    //	printf("\n");
    	printf("\n A: %s \t\t B: %s \t\t C: %s \t\t D: %s \t\t ",tn[i].A,tn[i].B,tn[i].C,tn[i].D);
    	printf("\n");
    
    }
    
    void xuat_cauhoi(struct tracnghiem tn[max],int i)
    {
    	printf("\nCau %d ",i);
    	printf("\n\t %s",tn[i].noidung);
    	printf("\n Dap an dung la  %s ",tn[i].dapan);
    	printf("\n");
    	printf("\n A: %s \t\t B: %s \t\t C: %s \t\t D: %s \t\t ",tn[i].A,tn[i].B,tn[i].C,tn[i].D);
    	printf("\n");
    
    }
    int main (int argc, char *argv[])
    {
    	printf ("Hello world!\n");
    	struct tracnghiem t[max];
    	int i,n,dem=0;
    	printf("\n nhap vao so luong cau hoi can nhap; ");
    	scanf("%d",&n);
    	for(i=1;i<=n;i++)
    	{
    		nhap_cauhoi(t,i);
    	//	chon_cauhoi(t,i);
    		//if(chon_cauhoi(t,i)) dem++;
    	}
    
    	for(i=1;i<=n;i++)
    {
    	xuat_cauhoi_chuacodapan(t,i);
    	//	xuat_cauhoi(t,i);
    }
    printf("\n tra loi cau hoi ");
    char traloi[100];
    for(i=1;i<=n;i++)
    {
    printf("\nhap cau tra loi cua cau %d ",i);
    
    gets(traloi);
    if(chon_cauhoi(t,traloi,i)==1) dem++;printf("\nban tra loi dung: ban se duoc cong them 1 diem vao quy diem cua minh: diem cua ban la %d ",dem);
    }
    	for(i=1;i<=n;i++)
    {
    //	xuat_cauhoi_chuacodapan(t,i);
    		xuat_cauhoi(t,i);
    }
     printf("\n TONG DIEM CUA SINH VIEN LA: la %d ",dem);
    	return 0;
    }

Các đề tài tương tự

  1. Viết chương trình bài trắc nghiệm bằng Shell
    Gửi bởi bluelightning trong diễn đàn Thắc mắc lập trình shell Linux
    Trả lời: 0
    Bài viết cuối: 09-07-2013, 05:14 PM
  2. ý tưởng làm web trắc nghiệp viết bằng asp.net?
    Gửi bởi minhlieng trong diễn đàn Nhập môn lập trình C#, ASP.NET
    Trả lời: 4
    Bài viết cuối: 18-04-2012, 07:55 AM
  3. Viết chương trình thi trắc nghiệm !!!
    Gửi bởi minhhieu0108 trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 0
    Bài viết cuối: 21-06-2011, 11:46 PM
  4. Viết chương trình thi trắc nghiệm bằng ngôn ngữ C++
    Gửi bởi dangnghean trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 0
    Bài viết cuối: 25-03-2011, 11:51 PM
  5. viết chương trình thi trắc nghiệm bằng C++
    Gửi bởi hoang minh nguyen trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 4
    Bài viết cuối: 26-07-2010, 09:22 AM

Quyền hạn của bạn

  • Bạn không thể gửi đề tài mới
  • Bạn không thể gửi bài trả lời
  • Bạn không thể gửi các đính kèm
  • Bạn không thể chỉnh sửa bài viết của bạn