求大神幫忙C語言程式設計 做簡單的問題回答小系統。要求程式運

時間 2021-10-15 00:32:17

1樓:匿名使用者

分析:問題庫(qas)用外部的配置檔案儲存,每次執行前先載入庫中已經建立的問題。然後再進入操作選擇。

完整**如下:

/*1. 暫時不考慮漢字;

2. 可以用連結串列優化;

3. 將每一種操作封裝成一個函式;

*/#include

#include

#include

#include

// 字串最大長度

#define max_str_len 2048

// 題庫上限

#define max_qas_len 1024

// 配置檔案路徑

#define qas_file_path "d:\\qasconfig.txt"

// 問題結點

typedef struct tagqasnode

qasnode;

// 問題庫

qasnode *g_qaslib[max_qas_len];

int g_qasindex = 0;

// 新增

bool inserttolib(char *pquestion, char *panswer, double score)

// 隨機一個不重複的序號

int getquestionindex()

}return retval;

int main()

// 載入已有的qas

fseek(pstream, 0l, seek_end);

int filesize = ftell(pstream);

fseek(pstream, 0l, seek_set);

while ( !feof(pstream) && filesize )

, tempa[max_str_len] = ;

double temps = 0.0;

fscanf_s(pstream, "%s", tempq, max_str_len);

fscanf_s(pstream, "%s", tempa, max_str_len);

fscanf_s(pstream, "%lf", &temps);

inserttolib(tempq, tempa, temps);}}

// 累計得分

double totalsocore = 0.0;

int currentindex = -1;

// 獲取操作型別

int optype = -1;

printf_s("請選擇操作型別:\n 1. 回答問題;\n 2.

檢視分數;\n 3. 新增新問題;\n 4. 檢視問題庫裡的問題和答案;\n 0.

退出系統;\n\n");

while (optype != 0)

break;

case 1:

srand((unsigned)time(null));

currentindex = getquestionindex();

if (currentindex != -1)

;fflush(stdin);gets_s(tempa, max_str_len);

if (strcmp(tempa, g_qaslib[currentindex]->answer) == 0)

else

}else

}break;

case 2:

else

}break;

case 3:

, tempa[max_str_len] = ;

double temps = 0.0;

printf_s("請輸入新問題:\n");

fflush(stdin);gets_s(tempq, max_str_len);

printf_s("請輸入對應的答案:\n");

fflush(stdin);gets_s(tempa, max_str_len);

printf_s("請輸入對應的分值:\n");

fflush(stdin);scanf_s("%lf", &temps);

inserttolib(tempq, tempa, temps);

// 新增到題庫

fprintf_s(pstream, "%s %s %f\n", tempq, tempa, temps);}}

break;

case 4:

for (int i=0; iquestion, g_qaslib[i]->answer, g_qaslib[i]->score);}}

break;

default:

break;}}

printf("\n");

return 0;

}執行起來後先建立問題庫!

2樓:匿名使用者

天涯其實一點也不遠。。。因為人已經在天涯。。。天涯還遠嗎。。。”

3樓:匿名使用者

這個似乎太簡單了,本地模組資料庫,用結構體連結串列做,呵呵。

c語言做一個小系統,先設計一個選單程式,再具體寫出。

4樓:

#include

#include

#define num1 20

#define num2 20

#define num3 10

#define n 4

int num=0;

typedef struct studentstudent;

void newstring()

if(u[m]==0)

} }

}printf("%s\n",u);

}void fun()

printf("the result is %d\n",num);

}void studentgoal()

score=score/4.0;

printf("score=%f\n",score);

}void goodbye()

void main()

printf("do you want to continue(y/n)?");

scanf("%c",&start);

getchar();}}

c語言程式設計求大神解答,C語言程式設計題,求助大神!

陸仁淼 我給你看看我的程式吧 有不懂的再問我,可以私聊 include include int main for int i 1 i n i float sj jbgz i jj i 0.05 float sfgz jbgz i jj i bx i sj printf 編號 d bh i print...

C語言新手,求大神解惑,C語言程式設計!!求大神幫助!!!!急啊!!!

比如產生0 9的隨機數,你可以統計0 9的產生次數,然後除以總次數,看看頻率是否為0.1。如果是說明隨機性較好。 int rand void 返回的n是一個界於0 32767 0x7fff 之間的偽隨機數,包括0和32767。include include include 必須要引用的標頭檔案 sr...

C語言程式設計題,求大神幫助,謝謝,C語言程式設計題目,求大神幫忙解答下,謝謝!

include void main include int main void if kscj 95 printf 考試成績 d 分的等級為 優 n n kscj if kscj 84 kscj 95 printf 考試成績 d 分的等級為 良 n n kscj if kscj 69 kscj 85...