當前位置:編程學習大全網 - 編程語言 - 問答如何用C語言編程?

問答如何用C語言編程?

我直接給妳寫了代碼。代碼相對簡單,基本模塊都有註釋。有什麽不明白的請再問。如果妳不知道我用的文件中的數據存儲方式,可以先用這個系統加壹個題目。

**************************************************************************************

# include & ltstdio.h & gt

# include & ltconio.h & gt

int問題編號;//題庫中問題的數量

int得分= 0;//正確回答的問題數

//顯示菜單

void showMenu() {

Printf("1。回答問題\ n”);

Printf("2。查看分數\ n ");

Printf("3。添加新的問題和答案\ n ");

Printf("4。查看題庫中的問題和答案\ n ");

Printf("5。退出系統\ n ");

Printf("請選擇:");

}

//閱讀問題,isAnswer = 1表示回答問題,isAnswer = 0表示顯示題庫。

無效問題(int isAnswer) {

//打開題庫

FILE * f = fopen("question.data "," r ");

if(f == 0) {

printf(" \ n \ n問題不存在,請先添加!");

返回;

}

長度長;

//讀取文件長度

fseek(f,0,2);

長度= ftell(f);

倒帶(f);

char行[1000],標簽;

line[0]= 0;

question number = 0;

while(ftell(f)& lt;長度){

//顯示問題

fgets(行,1000,f);

printf(" \ n \ n問題% d:% s \ n ",++問題編號,行);

//顯示四個選項

for(tag = ' A ';標簽& lt= ' Dtag++) {

fgets(行,1000,f);

printf("%c :%s\n ",標記,行);

}

//得到答案

fscanf(f," %c\n ",& amp標簽);

If(isAnswer) {//如果是回答問題,則需要輸入答案。

for(;;) {

Printf("請選擇答案(A,B,C,D):");

switch(getche()) {

案例“A”:

case ' A ':if(tag = = ' A ')score++;打破;

案例“B”:

case ' B ':if(tag = = ' B ')score++;打破;

案例“C”:

case ' C ':if(tag = = ' C ')score++;打破;

案例“D”:

case ' D ':if(tag = = ' D ')score++;打破;

默認值:printf(" \ n ");繼續;

}

打破;

}

} else {//如果顯示題庫,直接顯示答案。

Printf("答案:%c ",標簽);

}

}

fclose(f);

}

//添加主題

void addQuestion() {

//打開題庫

FILE * f = fopen("question.data "," a ");

char行[1000],標簽;

//輸入問題

line[0]= 0;

while(line[0] == 0) {

Printf("請輸入問題:");

獲取(行);

}

fprintf(f," %s\n ",line);

//輸入四個選項。

for(tag = ' A ';標簽& lt= ' Dtag++) {

line[0]= 0;

while(line[0] == 0) {

Printf("請輸入選項% c:",標簽);

獲取(行);

}

fprintf(f," %s\n ",line);

}

//輸入答案

for(;;) {

Printf("請輸入答案(A,B,C,D):");

switch(tag = getche()) {

案例“A”:

案例“B”:

案例“C”:

案例“D”:

案例“a”:

案例“b”:

案例“c”:

case 'd' : fprintf(f," %c\n ",tag & gt= 97 ?tag - 32:標簽);打破;

默認值:printf(" \ n ");繼續;

}

打破;

}

fclose(f);

}

int main(int argc,char * argv[]) {

showMenu();

for(;;){//循環操作,直到用戶退出系統。

switch(getche()) {

案例“1”:分數= 0;問題(1);打破;

案例“2”:printf(" \ n \ n您的分數是:%d ",score == 0?0:分數* 100/question number);打破;

事例“3”:printf(" \ n \ n ");add question();打破;

案例“4”:問題(0);打破;

案例“5”:出口(0);打破;

默認:printf(" \ n \ n輸入錯誤,請重新輸入:");繼續;

}

printf(" \ n \ n ");

showMenu();

}

}

  • 上一篇:誰能給壹份最新版的PMP考試大綱?什麽時候啟用新版大綱?會能PMP通過率有影響嗎
  • 下一篇:靈武編程
  • copyright 2024編程學習大全網