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

#include<stdio.h>
#include<string.h>
#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文本,一个存题目,一个存选项。

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

 

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值