C语言编写一个简单答题系统

学校:怀化学院计算机与人工智能学院22级软工5班

学号:第一组2200130516

做一个答题系统
一、填空题数据:20道题
(1)题干
(2)正确答案 Five five

二、需要随机出题,题目出现顺序要不一致
C语言需要学会如何随机抽取
(1)产生随机数 1~20 
https://blog.csdn.net/weixin_46022083/article/details/106661495
(2)解决运气不好的问题1-18 极少出现19 20

三、及时反馈正确情况,记录同学的准确率

四、自定义特性
(1) 大小写答案不区分
(2) 答错之后,要告诉我正确答案是什么
(3) 自己再增加一些人性化的功能
(比如:一开始什么都不输入,就只输出回车或者空格,就判断为错误不太好)
_5 5 5_是否算同一个答案?
_A A A_是否算同一个答案?

一·怎样随机出题

我们如何随机出题,需要用到rand函数

rand函数原型:

#include<stdio.h>
#include<stdlib.h>

int rand(void);

题目要求从1~20随机出题,其中1~18题容易抽到,19~20不容易抽到。

我们需要写出:

int num = rand() % 20 + 1;

这样我们就可以出1~20的随机数啦

然后再将题目和数字再一一对应就行啦

(虽然我看懂了代码,但我不会用在自己的代码里!我的作业根本没有用随机数······QAQ)

二· 如何判断答案是否正确

我们若需要判断答案是否正确,需要用到strcmp函数

strcmp函数原型

#include<stdio.h>
#include<string.h>

int strcmp(const char *s1,const char *s2);

strcmp函数是用来比较两个字符串

若s1、s2字符串相等,则返回零;若s1大于s2,则返回大于零的数;否则,则返回小于零的数。

这样我们就可以判断答案是否正确啦!

三·还可以增加小设计——字体颜色设计

因为我写作业太赶了,再想去完善也来不及了QAQ

#include<stdio.h>
#include<conio.h>
#include <windows.h>

void textcolor(int color)
{
    HANDLE hc=GetStdHandle(STD_OUTPUT_HANDLE);
    SetConsoleTextAttribute(hc,0|color);
}

这个就是关于设置字体颜色函数啦

 

/*
颜色函数SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),前景色 | 背景色 | 前景加强 | 背景加强);
    前景色:数字0-15 或 FOREGROUND_XXX 表示    (其中XXX可用BLUE、RED、GREEN表示) 
    前景加强:数字8 或 FOREGROUND_INTENSITY 表示
    背景色:数字16 32 64 或 BACKGROUND_XXX 三种颜色表示 
    背景加强: 数字128 或 BACKGROUND_INTENSITY 表示
主要应用:改变指定区域字体与背景的颜色
前景颜色对应值: 
  0=黑色                8=灰色  
   1=蓝色                9=淡蓝色        十六进制                                  
  2=绿色                10=淡绿色       0xa          
  3=湖蓝色              11=淡浅绿色     0xb 
  4=红色                12=淡红色       0xc  
  5=紫色                13=淡紫色       0xd          
  6=黄色                14=淡黄色       0xe          
  7=白色                15=亮白色       0xf 
  也可以把这些值设置成常量。
*/

四·小结 

 这次作业真的让我很慌张······让我真的去自学了一次。这次作业真的让我发现我还是个菜鸟QAQ

我还是得继续努力!!!

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值