C语言——简易客观题答题系统

#include
#include
#define F 1000      //定义选项的最大数量

void readWord();
void chooseOutput();
void readTopic();


char choose1[F],choose3[F],line[1024];
char *choose2[F];

int main()
{
    readTopic();
    readWord();
    chooseOutput();
    printf("正确答案为%s",choose1);
    return 0;
}

void chooseOutput()
{
    int j = 0, k = 0;
    printf("请输入你的答案:\n");

    for (int i = 0; i < (strlen(choose1)); i++)
    {

        choose2[i] = &choose3[i];
        scanf("%c", choose2[i]);         //获取你的答案
        strupr(choose2[i]);         //将输入的字母转化为大写字母
        if (choose1[i] == choose3[i])
        {
            j++;
            printf("你答对了第%d题\n", i + 1);       //输出答对的题号并记录答对的个数
        }
        else
        {
            k++;
            printf("你答错了第%d题\n", i + 1);       //输出答错的题号并记录答错的个数
        }
    }
    printf("你答对了%d个题,答错了%d个题\n", j, k);        //输出答对个数和答错个数
}
void readWord()
{
    FILE *fin;
    fin= fopen("write_choose.txt","r");         //打开文件并读取选项
    if(fin==NULL)
    {
        printf("文件打开时发生错误!\n");
    }
    fscanf(fin,"%s",choose1);           //将选项保存到choose1中
    strupr(choose1);            //将choose1转化为大写
    fclose(fin);                //关闭文件
    printf("\n共%d个题,开始答题\n", strlen(choose1));
}

void readTopic()        //读取题目
{
    FILE *fp = fopen("write_topic.txt", "r");
    if (fp == NULL)
    {
        printf("文件打开时发生错误!\n");
    }
    while (fgets(line, 1024, fp) != NULL)
    {
        printf(line);       //打印题目
    }
    fclose(fp);
}

运行时需要在程序所在项目新建两个txt文本,一个存题目,一个存选项。

纪念一下自己写的第一个有实际意义的程序。

 

你可能感兴趣的:(c语言,蓝桥杯,开发语言)