脑筋急转弯50Word文档下载推荐.docx
《脑筋急转弯50Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《脑筋急转弯50Word文档下载推荐.docx(13页珍藏版)》请在冰点文库上搜索。
![脑筋急转弯50Word文档下载推荐.docx](https://file1.bingdoc.com/fileroot1/2023-4/29/ff7bce04-eeb1-48b9-b58c-e57f368b8c7c/ff7bce04-eeb1-48b9-b58c-e57f368b8c7c1.gif)
intret;
fp=fopen("
D:
\\1.txt"
"
r+"
);
//打开文本文件
for(count=1;
!
feof(fp);
count++){
fscanf(fp,"
%d\n%s\n%s\n%s\n%s\n%c\n\n"
&
game[count].num,&
game[count].title,//把文本中题库传给结构体数组
&
game[count].contain,&
game[count].choice1,&
game[count].choice2,&
game[count].answer);
}
for(i=1;
i<
count;
i++){//检验是否存在相同题目
if(game[i].num==game[i+1].num){count=count-1;
share=count;
fclose(fp);
//关闭文本文件
start:
printf("
\n★脑筋急转弯系统★Version5.0\nByWillson修改日期:
2009-06-27\n――――――――――――――――――――――――――――――――――――――――\n\n
进入◇游戏测试◇请输入
(1)\n进入◇系统管理◇请输入
(2)\n退出◇本系统◇请输入(0)\n"
);
scanf("
%d"
&
function);
//测试功能调用
if(function==1){
printf("
您选择的是◇游戏测试◇\n\n现在进入◇游戏测试◇!
\n\n"
//test();
if(test()==1)
gotostart;
elseexit(0);
//管理功能调用
elseif(function==2){
step2:
您选择的是管理,现在进入◇系统管理菜单◇!
\n"
(1)新增题目\n
(2)修改题目\n(3)删除题目\n(4)浏览题目\n(5)返回上一层菜单\n(0)退出本系统\n"
scanf("
mag);
//新增题目调用
if(mag==1){
您选择的是
(1)新增题目,现在进入新增题目功能!
if(add()==1)gotostart;
//修改题目调用
elseif(mag==2){
printf("
您选择的是
(2)修改题目,现在进入修改题目功能!
if(mod()==1)gotostep2;
elseif(mod()==2)gotostart;
}
//删除题目调用
elseif(mag==3){
您选择的是(3)删除题目,现在进入删除题目功能!
if(del()==1)gotostep2;
//浏览题目调用
elseif(mag==4){
printf("
您选择的是(4)浏览题目,现在进入浏览题目功能!
\n--------------------------------------------------------------------------------"
if(sca()==1)gotostep2;
//返回上一层菜单
elseif(mag==5){gotostart;
//退出系统
elseif(mag==0){exit(0);
else{printf("
系统提示:
对不起!
您的输入有误,系统将自动退出!
\n--------------------------------------------------------------------------------\n"
exit(0);
elseif(function==0){printf("
\n系统即将退出!
exit(0);
else{printf("
//测试功能函数
inttest(){
inti,j,a[100],b[100],re,r=0,n=0;
charcheck;
srand(time(NULL));
//以系统时间为seed获取变化的随机数
系统将为您自动选取题目,请稍候!
\n\n--------------------------------------------------------------------------------"
for(i=1;
=5;
i++){
loop:
a[i]=rand()%(count-1)+1;
b[i]=a[i];
//校验随机数是否重复,重复则返回再次获取
for(j=0;
j<
i;
j++){
if(b[j]==a[i])
gotoloop;
题目编号:
%d\n\n题目标题:
%s\n\n题目内容:
%s\n\n选项:
%s%s\n\n"
game[a[i]].num,game[a[i]].title,game[a[i]].contain,game[a[i]].choice1,game[a[i]].choice2);
请输入您的选择:
"
%s"
check);
if((int)check==(int)game[a[i]].answer)//校验答案
{
r++;
\n回答正确!
else
\n回答错误,正确答案是:
%c\n--------------------------------------------------------------------------------\n"
game[a[i]].answer);
if(r==5)
{//此处实现根据答对题数输出评语功能
\n◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆酷毙了!
◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆\n"
elseif(r<
=2)
\n◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆哎,你运气木老老差啊!
◆◆◆◆◆◆◆◆◆◆◆◆◆◆\n"
else{
\n◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆继续努力!
\n
(1)返回上一层菜单\n\n
(2)退出本系统\n"
scanf("
re);
if(re==1)
returnre;
elseprintf("
输入错误,退出系统!
//新增题目函数
intadd(){inttag;
inti;
for(;
;
count++){//获得题库中已存在的题目数
game[count].num=count;
//新增题目到结构体数组
你选择的是◇新增◇脑筋急转弯系统的题目!
\n请输入◇新增◇的脑筋急转弯的标题:
game[count].title);
\n请输入脑筋急转弯的内容:
game[count].contain);
\n请输入脑筋急转弯的选项1:
game[count].choice1);
\n请输入脑筋急转弯的选项2:
game[count].choice2);
\n请输入脑筋急转弯的答案:
game[count].answer);
fp=fopen("
a"
//打开文本
//将新增到结构体数组的内容写入文本
fprintf(fp,"
\n%d\n%s\n%s\n%s\n%s\n%c\n"
game[count].num,game[count].title,
game[count].contain,game[count].choice1,game[count].choice2,game[count].answer);
fclose(fp);
//关闭文本
count=count+1;
//总题数+1
//返回成功信息
\n新增脑筋急转弯题库成功!
\n--------------------------------------------------------------------------------\n是否需要继续新增?
\n
(1)继续新增\n
(2)返回上一层菜单\n(0)退出系统\n"
tag);
if(tag==1);
elseif(tag==2)return1;
elseif(tag==0)exit(0);
//修改题目函数
intmod(){FILE*fp;
intmodnum,tag=0,i,flag;
modstep:
你选择的是◇修改◇脑筋急转弯系统的题目!
\n请输入想要◇修改◇的脑筋急转弯题目的编号:
modnum);
for(share=1;
share<
=count;
share++){
if(game[share].num==modnum){//通过要修改的题目编号,获得对应结构体数组
tag=share;
break;
if(tag==0){
\n错误!
不存在这个编号!
系统将自动退出!
}//修改特定编号的结构体数组
else{
%d题目信息如下:
\n--------------------------------------------------------------------------------\n标题:
%s\n题目:
%s\n\n选项:
%s%s\n答案:
%c\n\n--------------------------------------------------------------------------------\n"
game[tag].num,game[tag].title,game[tag].contain,game[tag].choice1,game[tag].choice2,game[tag].answer);
请输入更改后的标题:
game[tag].title);
请输入更改后的内容:
game[tag].contain);
请输入更改后的选项1:
game[tag].choice1);
请输入更改后的选项2:
game[tag].choice2);
请输入更改后的答案:
game[tag].answer);
修改成功!
//返回成功信息
w"
//更新结构体数组之后更新文本
for(i=1;
fprintf(fp,"
%d\n%s\n%s\n%s\n%s\n%c\n"
game[i].num,game[i].title,
game[i].contain,game[i].choice1,game[i].choice2,game[i].answer);
\n修改脑筋急转弯题库成功!
\n是否需要继续修改?
(1)继续修改
(2)返回上一层菜单(3)返回主菜单(0)退出系统\n"
flag);
if(flag==1)gotomodstep;
elseif(flag==2)return1;
elseif(flag==3)return2;
elseif(flag==0)exit(0);
//删除题目函数
intdel(){FILE*fp;
intdelnum,tag=0,i,re;
printf("
你选择的是◇删除◇脑筋急转弯系统的题目!
\n请输入想要◇删除◇的脑筋急转弯题目的编号:
delnum);
//获得要删除题目编号
if(game[share].num==delnum){//获得对应结构体数组
if(tag==0){
退出系统!
else{//输出要删除题目信息
\n--------------------------------------------------------------------------------\n标题:
%s\n题目:
%s%s\n答案:
game[tag].num,game[tag].title,game[tag].contain,game[tag].choice1,game[tag].choice2,game[tag].answer);
for(i=tag;
count-1;
i++){//用下一个结构体数组信息依次覆盖来删除特定题目
game[i].num=game[i+1].num;
game[i].title=game[i+1].title;
game[i].contain=game[i+1].contain;
game[i].choice1=game[i+1].choice1;
game[i].choice2=game[i+1].choice2;
game[i].answer=game[i+1].answer;
i++){//更新文本内容
count=count-1;
删除成功!
\n
(1)返回上一层菜单\n\n(0)退出本系统\n"
if(re==1)returnre;
elseif(re==0){
系统提示:
elseprintf("
\n输入错误!
//浏览题目函数
intsca(){inti,re;
charc;
=count-1;
%d\n\n标题:
%s\n\n题目:
%s%s\n\n答案:
game[i].num,game[i].title,game[i].contain,game[i].choice1,game[i].choice2,game[i].answer);
system("
pause"
//实现按任意键继续功能
cls"
//清屏实现分屏浏览功能