利用C语言开发一个“四则算术运算答题系统”,随机为用户出指定数量的100以内的算术

利用C语言开发一个“四则算术运算答题系统”,随机为用户出指定数量的100以内的算术,第1张

#include <stdio.h>

#include <time.h>

#include <stdlib.h>

int number_jia(int a,int b)

int number_jian(int a,int b)

int number_cheng(int a,int b)

int number_chu(int a,int b)

 int suijishu()

int main()

{

   char username[10]//用户名

   

   int que_count//题目数量

    

   int yunsuan=1//接受用户想进行什么运算

   

int i//循环变量

   

   char yunsuanfu[4]={'+','-','*','/'}//存储运算符

   

   int current_num1=1,current_num2=1//当前进行运算的数字

   int input_result//用户输入的结果

   int score=0//总分

   int (*pfun[4])(int,int)={number_jia,number_jian,number_cheng,number_chu}//函数指针数组

  

   char jixu='y'

     

   while(1)

   {

     if(tolower(jixu)!='y')

 break

     printf("输入用户名\n\t")

   scanf("%s",username)

   printf("输入题目数量\n\t")

   scanf("%d",&que_count)

   printf("选择运要进行的运算\t1:加法\t2:减法\t3:乘法\t4:除法\n")

   scanf("%d",&yunsuan)

   yunsuan<=4?yunsuan:1

   for(i=0i<que_counti++)

   {

 

    current_num1=suijishu()

    current_num2=suijishu()

        printf("\n%d%c%d=",current_num1,yunsuanfu[yunsuan-1],current_num2)

   

scanf("%d",&input_result)

      if(input_result==(pfun[yunsuan-1])(current_num1,current_num2))

   score+=2

   }

   printf("%s你好你一共得分%d\n",username,score)

   

   printf("是否继续\ty:继续")

   scanf(" %c",&jixu)

   }

 return 0

}

//100内随机数

 int suijishu()

 {

   srand(time(NULL)-1)

   return rand()%100

 

 

 }

//下面是四则运算

int number_jia(int a,int b)

{

 return a+b

}

int number_jian(int a,int b)

{

 return a-b

}

int number_cheng(int a,int b)

{

 return a*b

}

int number_chu(int a,int b)

{

if(b!=0)

 return a+b

else

return 0

}

#include <stdio.h>

#include <stdlib.h>

#include <conio.h>

#define Number 10

FILE *fp

char name[20],id[9]

char quest[200],ans[20]

int score=0

char ch

char question[20],answer

void regist()

void take_question()

char get_answer()

void main()

{

int question_num

char people_answer,temp

regist()

if((fp=fopen("question.txt","r"))==NULL)

{

printf("打开文件 *** 作失败!")

exit(0)

}

for(question_num=1question_num<=Numberquestion_num++)//10为题目的数量

{

take_question()

while(1)

{

scanf("%c",&people_answer)

fflush(stdin)

if(people_answer>='A'&&people_answer<='D')

break

printf("输入错误,请重新输入(A,B,C,D):")

}

if(people_answer==answer)

score+=10

}

fclose(fp)

if(score>60)

{

printf("%s 先生/女士 :\n",name)

printf(" 祝贺您,您通过了考试,您的分数是:%d",score)

}

else

{

printf("%s 先生/女士 :\n",name)

printf("抱歉!您没有通过考试,您的分数是:%d",score)

}

printf(" 按任意一键结束")

}

void regist()

{

int w=0,k=0

while(w<1)

{

printf("请输入您的姓名")

gets(name)

printf("请输入您的8位准考证号码")

gets(id)

while(1)

{

if(id[k]=='\0'||id[k]>'9'||id[k]<'0') /* 此处不解输入8位数字,仍然编译不能通过。希望能为我解释一下 请问能不能这样转换 if(id[k]=='\0'&&id[k]>='0'&&id[k]<='9') */

break

k++

}

if(k==8&&id[9]=='\0')

break

else

printf("考生考号应是8位数字,您的输入有误,请重新输入")

}

}

//=============================================================================================================

void take_question()

{

int i

char choice_a[20],choice_b[20],choice_c[20],choice_d[20]

fscanf(fp,"%s",question)

for(i=0question[i]!='='i++)

answer=question[i+1]

question[i+1]='\0'

fscanf(fp,"%s%s%s%s",choice_a,choice_b,choice_c,choice_d)

printf("%s\n%s\n%s\n%s\n%s\n",question,choice_a,choice_b,choice_c,choice_d)

printf("请输入你的选择:")

}

//==============================================================================================================

char get_answer()

{

while(1)

{

printf("%s\n 请键入A、B、C、D作为您的选择:",quest)

ch=getch()

if(ch>='A'&&ch<='D'||ch>='a'&&ch<='d')

break

else

printf("您必须在A、B、C、D之间选择一个")

}

return ch

}

question.txt

1.1+1=A

a.2

b.3

c.4

d.5

2.2+2=B

a.2

b.3

c.4

d.5

3.2as+2=B

a.2

b.3

c.4

d.5

4.2+2=B

a.2

b.3

c.4

d.5

5.2+2=B

a.2

b.3

c.4

d.5

6.2+2=B

a.2

b.3

c.4

d.5

7.2+2=B

a.2

b.3

c.4

d.5

8.2+2=B

a.2

b.3

c.4

d.5

9.2+2=B

a.2

b.3

c.4

d.5

10.2+2=B

a.2

b.3

c.4

d.5

修改最多的就是take_question基本上面目全非

大学c语言搜题app。大学c语言搜题app原名叫做菜鸟学C语言是一款非常好用的学习c语言的手机软件

软件功能

1、选择题:按照考点分类的选择题习题,并有答案解析。

2、错题库:可自动加练习过程中错题加入收藏,以便反复练习。

3、上机 *** 作题:300道上机 *** 作题,程序填空题、程序修改题、程序设计题。

软件优势

1、选择题:按照考点分类的选择题习题,并有答案解析。

2、上级 *** 作题:300道上机 *** 作题,程序填空题、程序修改题、程序设计题。

3、最新押题:最新考试押题3套。

4、考点汇总:包含复习的考点。

5、错题库:可自动加练习过程中错题加入收藏,以便反复练习。

6、收藏夹:可在练习过程中自行收录题目到收藏夹,形成自己的小题库,针对性练习,提高通过率。

软件特色

1、随时随地都能够学习,而且还支持下载保存你学习内容离线继续学习。

2、同学们能够直接通过搜索引擎来查询寻找你感兴趣对你内容。

3、解答问题的办法非常多,可以选择通过拍照来答题,也可以选择输入题目来解答。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/8102793.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-13
下一篇 2023-04-13

发表评论

登录后才能评论

评论列表(0条)

保存