#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<windows.h>
void jm() {
printf("\n");
printf(" **************\n");
printf(" 开始猜单词游戏\n");
printf(" **************\n");
printf(" 1.开始 2.退出\n");
}
void change(char a[100],char b[100]) {
int d, f;
char t;
for (int i = 0;i < strlen(a);i++) {
d = rand() % (strlen(a));
f = rand() % (strlen(a));
t = a[f];
a[f] = a[d];
a[d] = t;
}
}
int jg(int pd) {
int score=0;
if (pd == 0) {
printf("right\n");
score++;
printf("目前得分:%d\n", score);
}
if (pd != 0) {
printf("wrong\n");
score--;
printf("目前得分:%d\n", score);
}
return score;
}
int main()
{
int x,n;
int score ;
FILE *fp = NULL;
char a[100], b[100], c[100];
fp = fopen("C:\\Users\\噢噢噢\\Desktop\\word.txt", "r");
if (fp == NULL) {
printf("open error\n");
return -1;
}
jm();
scanf("%d", &x);
if (x == 1) {
Sleep(200);
system("CLS");
for (int i = 0;i <= 50;i++) {
printf(" ");
printf(" %d", 2 * i);
printf("\b\b");
Sleep(50);
}
printf("请输入你想猜多少单词:");
scanf("%d", &n);
while (fgets(a, 30, fp)&&n>0) {
int pd = 0;
a[strlen(a) - 1] = '\0';
strcpy(b, a);
change(a, b);
printf("请猜下这个单词原型:%s\n", a);
scanf("%s", c);
pd = strcmp(b, c);
score=jg(pd);
n--;
}
printf("最终得分为:%d", score);
fclose(fp);
}
else if (x == 0)
return 0;
void change(char a[100],char b[100])
这是随机交换数组中任意两个字母的位置的函数,但函数比较扯淡,b数组根本就没用上
int jg(int pd)
这个是裁判函数,jg的意思是结果,如果pd为0,则猜对了,加1分,否则不加分,给出相应提示
void jm()是显示菜单函数,jm是啥中文词的首字母?
main里面比较好玩,好像词库文件有无穷的单词,随便你要玩多少单词都有
第一个循环不知道要干啥,感觉像玩进度条
后面循环就是根据你选择玩多少单词,从文件里去取,取出来后用change打乱,然后让你猜出单词,你输入的结果会用strcmp字符串比较函数进行比较,将比较结果有jg函数进行处理,单词玩玩后就结束了