这是背单词系统中的一部分,需要用户从上次背到的地方开始做选择题(我想创建一个单独文档存储背到的单词编号 ),统计每个单词的正确率和出现频率,但是老是出错。没法问到身边的人,qwq
1>已启动生成: 项目: 第十一章复习, 配置: Debug Win32
1>生成启动时间为 2023/4/14 11:39:01。
1>InitializeBuildStatus:
1> 正在对“Debug\第十一章复习.unsuccessfulbuild”执行 Touch 任务。
1>ClCompile:
1> 第十一章复习.c
1>d:\program files (x86)\microsoft visual studio 10.0\vc\include\cmath(19): error C2061: 语法错误: 标识符“acosf”
1>d:\program files (x86)\microsoft visual studio 10.0\vc\include\cmath(19): error C2059: 语法错误:“;”
1>d:\program files (x86)\microsoft visual studio 10.0\vc\include\cmath(19): error C2061: 语法错误: 标识符“asinf”
1>d:\program files (x86)\microsoft visual studio 10.0\vc\include\cmath(19): error C2059: 语法错误:“;”
1>d:\program files (x86)\microsoft visual studio 10.0\vc\include\cmath(20): error C2061: 语法错误: 标识符“atanf”
1>d:\program files (x86)\microsoft visual studio 10.0\vc\include\cmath(20): error C2059: 语法错误:“;”
1>d:\program files (x86)\microsoft visual studio 10.0\vc\include\cmath(20): error C2061: 语法错误: 标识符“atan2f”
1>d:\program files (x86)\microsoft visual studio 10.0\vc\include\cmath(20): error C2059: 语法错误:“;”
1>d:\program files (x86)\microsoft visual studio 10.0\vc\include\cmath(20): error C2061: 语法错误: 标识符“ceilf”
1>d:\program files (x86)\microsoft visual studio 10.0\vc\include\cmath(20): error C2059: 语法错误:“;”
1>d:\program files (x86)\microsoft visual studio 10.0\vc\include\cmath(21): error C2061: 语法错误: 标识符“cosf”
1>d:\program files (x86)\microsoft visual studio 10.0\vc\include\cmath(21): error C2059: 语法错误:“;”
1>d:\program files (x86)\microsoft visual studio 10.0\vc\include\cmath(21): error C2061: 语法错误: 标识符“coshf”
1>d:\program files (x86)\microsoft visual studio 10.0\vc\include\cmath(21): error C2059: 语法错误:“;”
1>d:\program files (x86)\microsoft visual studio 10.0\vc\include\cmath(21): error C2061: 语法错误: 标识符“expf”
1>d:\program files (x86)\microsoft visual studio 10.0\vc\include\cmath(21): error C2059: 语法错误:“;”
1>d:\program files (x86)\microsoft visual studio 10.0\vc\include\cmath(22): error C2061: 语法错误: 标识符“fabsf”
1>d:\program files (x86)\microsoft visual studio 10.0\vc\include\cmath(22): error C2059: 语法错误:“;”
1>d:\program files (x86)\microsoft visual studio 10.0\vc\include\cmath(22): error C2061: 语法错误: 标识符“floorf”
1>d:\program files (x86)\microsoft visual studio 10.0\vc\include\cmath(22): error C2059: 语法错误:“;”
1>d:\program files (x86)\microsoft visual studio 10.0\vc\include\cmath(22): error C2061: 语法错误: 标识符“fmodf”
1>d:\program files (x86)\microsoft visual studio 10.0\vc\include\cmath(22): error C2059: 语法错误:“;”
1>d:\program files (x86)\microsoft visual studio 10.0\vc\include\cmath(23): error C2061: 语法错误: 标识符“frexpf”
1>d:\program files (x86)\microsoft visual studio 10.0\vc\include\cmath(23): error C2059: 语法错误:“;”
1>d:\program files (x86)\microsoft visual studio 10.0\vc\include\cmath(23): error C2061: 语法错误: 标识符“ldexpf”
1>d:\program files (x86)\microsoft visual studio 10.0\vc\include\cmath(23): error C2059: 语法错误:“;”
1>d:\program files (x86)\microsoft visual studio 10.0\vc\include\cmath(23): error C2061: 语法错误: 标识符“logf”
1>d:\program files (x86)\microsoft visual studio 10.0\vc\include\cmath(23): error C2059: 语法错误:“;”
1>d:\program files (x86)\microsoft visual studio 10.0\vc\include\cmath(24): error C2061: 语法错误: 标识符“log10f”
1>d:\program files (x86)\microsoft visual studio 10.0\vc\include\cmath(24): error C2059: 语法错误:“;”
1>d:\program files (x86)\microsoft visual studio 10.0\vc\include\cmath(24): error C2061: 语法错误: 标识符“modff”
1>d:\program files (x86)\microsoft visual studio 10.0\vc\include\cmath(24): error C2059: 语法错误:“;”
1>d:\program files (x86)\microsoft visual studio 10.0\vc\include\cmath(24): error C2061: 语法错误: 标识符“powf”
1>d:\program files (x86)\microsoft visual studio 10.0\vc\include\cmath(24): error C2059: 语法错误:“;”
1>d:\program files (x86)\microsoft visual studio 10.0\vc\include\cmath(25): error C2061: 语法错误: 标识符“sinf”
1>d:\program files (x86)\microsoft visual studio 10.0\vc\include\cmath(25): error C2059: 语法错误:“;”
1>d:\program files (x86)\microsoft visual studio 10.0\vc\include\cmath(25): error C2061: 语法错误: 标识符“sinhf”
1>d:\program files (x86)\microsoft visual studio 10.0\vc\include\cmath(25): error C2059: 语法错误:“;”
1>d:\program files (x86)\microsoft visual studio 10.0\vc\include\cmath(25): error C2061: 语法错误: 标识符“sqrtf”
1>d:\program files (x86)\microsoft visual studio 10.0\vc\include\cmath(25): error C2059: 语法错误:“;”
1>d:\program files (x86)\microsoft visual studio 10.0\vc\include\cmath(26): error C2061: 语法错误: 标识符“tanf”
1>d:\program files (x86)\microsoft visual studio 10.0\vc\include\cmath(26): error C2059: 语法错误:“;”
1>d:\program files (x86)\microsoft visual studio 10.0\vc\include\cmath(26): error C2061: 语法错误: 标识符“tanhf”
1>d:\program files (x86)\microsoft visual studio 10.0\vc\include\cmath(26): error C2059: 语法错误:“;”
1>d:\program files (x86)\microsoft visual studio 10.0\vc\include\cmath(28): error C2061: 语法错误: 标识符“acosl”
1>d:\program files (x86)\microsoft visual studio 10.0\vc\include\cmath(28): error C2059: 语法错误:“;”
1>d:\program files (x86)\microsoft visual studio 10.0\vc\include\cmath(28): error C2061: 语法错误: 标识符“asinl”
1>d:\program files (x86)\microsoft visual studio 10.0\vc\include\cmath(28): error C2059: 语法错误:“;”
1>d:\program files (x86)\microsoft visual studio 10.0\vc\include\cmath(29): error C2061: 语法错误: 标识符“atanl”
1>d:\program files (x86)\microsoft visual studio 10.0\vc\include\cmath(29): error C2059: 语法错误:“;”
1>d:\program files (x86)\microsoft visual studio 10.0\vc\include\cmath(29): error C2061: 语法错误: 标识符“atan2l”
1>d:\program files (x86)\microsoft visual studio 10.0\vc\include\cmath(29): error C2059: 语法错误:“;”
1>d:\program files (x86)\microsoft visual studio 10.0\vc\include\cmath(29): error C2061: 语法错误: 标识符“ceill”
1>d:\program files (x86)\microsoft visual studio 10.0\vc\include\cmath(29): error C2059: 语法错误:“;”
1>d:\program files (x86)\microsoft visual studio 10.0\vc\include\cmath(30): error C2061: 语法错误: 标识符“cosl”
1>d:\program files (x86)\microsoft visual studio 10.0\vc\include\cmath(30): error C2059: 语法错误:“;”
1>d:\program files (x86)\microsoft visual studio 10.0\vc\include\cmath(30): error C2061: 语法错误: 标识符“coshl”
1>d:\program files (x86)\microsoft visual studio 10.0\vc\include\cmath(30): error C2059: 语法错误:“;”
1>d:\program files (x86)\microsoft visual studio 10.0\vc\include\cmath(30): error C2061: 语法错误: 标识符“expl”
1>d:\program files (x86)\microsoft visual studio 10.0\vc\include\cmath(30): error C2059: 语法错误:“;”
1>d:\program files (x86)\microsoft visual studio 10.0\vc\include\cmath(31): error C2061: 语法错误: 标识符“fabsl”
1>d:\program files (x86)\microsoft visual studio 10.0\vc\include\cmath(31): error C2059: 语法错误:“;”
1>d:\program files (x86)\microsoft visual studio 10.0\vc\include\cmath(31): error C2061: 语法错误: 标识符“floorl”
1>d:\program files (x86)\microsoft visual studio 10.0\vc\include\cmath(31): error C2059: 语法错误:“;”
1>d:\program files (x86)\microsoft visual studio 10.0\vc\include\cmath(31): error C2061: 语法错误: 标识符“fmodl”
1>d:\program files (x86)\microsoft visual studio 10.0\vc\include\cmath(31): error C2059: 语法错误:“;”
1>d:\program files (x86)\microsoft visual studio 10.0\vc\include\cmath(32): error C2061: 语法错误: 标识符“frexpl”
1>d:\program files (x86)\microsoft visual studio 10.0\vc\include\cmath(32): error C2059: 语法错误:“;”
1>d:\program files (x86)\microsoft visual studio 10.0\vc\include\cmath(32): error C2061: 语法错误: 标识符“ldexpl”
1>d:\program files (x86)\microsoft visual studio 10.0\vc\include\cmath(32): error C2059: 语法错误:“;”
1>d:\program files (x86)\microsoft visual studio 10.0\vc\include\cmath(32): error C2061: 语法错误: 标识符“logl”
1>d:\program files (x86)\microsoft visual studio 10.0\vc\include\cmath(32): error C2059: 语法错误:“;”
1>d:\program files (x86)\microsoft visual studio 10.0\vc\include\cmath(33): error C2061: 语法错误: 标识符“log10l”
1>d:\program files (x86)\microsoft visual studio 10.0\vc\include\cmath(33): error C2059: 语法错误:“;”
1>d:\program files (x86)\microsoft visual studio 10.0\vc\include\cmath(33): error C2061: 语法错误: 标识符“modfl”
1>d:\program files (x86)\microsoft visual studio 10.0\vc\include\cmath(33): error C2059: 语法错误:“;”
1>d:\program files (x86)\microsoft visual studio 10.0\vc\include\cmath(33): error C2061: 语法错误: 标识符“powl”
1>d:\program files (x86)\microsoft visual studio 10.0\vc\include\cmath(33): error C2059: 语法错误:“;”
1>d:\program files (x86)\microsoft visual studio 10.0\vc\include\cmath(34): error C2061: 语法错误: 标识符“sinl”
1>d:\program files (x86)\microsoft visual studio 10.0\vc\include\cmath(34): error C2059: 语法错误:“;”
1>d:\program files (x86)\microsoft visual studio 10.0\vc\include\cmath(34): error C2061: 语法错误: 标识符“sinhl”
1>d:\program files (x86)\microsoft visual studio 10.0\vc\include\cmath(34): error C2059: 语法错误:“;”
1>d:\program files (x86)\microsoft visual studio 10.0\vc\include\cmath(34): error C2061: 语法错误: 标识符“sqrtl”
1>d:\program files (x86)\microsoft visual studio 10.0\vc\include\cmath(34): error C2059: 语法错误:“;”
1>d:\program files (x86)\microsoft visual studio 10.0\vc\include\cmath(35): error C2061: 语法错误: 标识符“tanl”
1>d:\program files (x86)\microsoft visual studio 10.0\vc\include\cmath(35): error C2059: 语法错误:“;”
1>d:\program files (x86)\microsoft visual studio 10.0\vc\include\cmath(35): error C2061: 语法错误: 标识符“tanhl”
1>d:\program files (x86)\microsoft visual studio 10.0\vc\include\cmath(35): error C2059: 语法错误:“;”
1>d:\program files (x86)\microsoft visual studio 10.0\vc\include\cmath(37): error C2061: 语法错误: 标识符“abs”
1>d:\program files (x86)\microsoft visual studio 10.0\vc\include\cmath(37): error C2059: 语法错误:“;”
1>d:\program files (x86)\microsoft visual studio 10.0\vc\include\cmath(39): error C2061: 语法错误: 标识符“acos”
1>d:\program files (x86)\microsoft visual studio 10.0\vc\include\cmath(39): error C2059: 语法错误:“;”
1>d:\program files (x86)\microsoft visual studio 10.0\vc\include\cmath(39): error C2061: 语法错误: 标识符“asin”
1>d:\program files (x86)\microsoft visual studio 10.0\vc\include\cmath(39): error C2059: 语法错误:“;”
1>d:\program files (x86)\microsoft visual studio 10.0\vc\include\cmath(40): error C2061: 语法错误: 标识符“atan”
1>d:\program files (x86)\microsoft visual studio 10.0\vc\include\cmath(40): error C2059: 语法错误:“;”
1>d:\program files (x86)\microsoft visual studio 10.0\vc\include\cmath(40): error C2061: 语法错误: 标识符“atan2”
1>d:\program files (x86)\microsoft visual studio 10.0\vc\include\cmath(40): error C2059: 语法错误:“;”
1>d:\program files (x86)\microsoft visual studio 10.0\vc\include\cmath(40): error C2061: 语法错误: 标识符“ceil”
1>d:\program files (x86)\microsoft visual studio 10.0\vc\include\cmath(40): error C2059: 语法错误:“;”
1>d:\program files (x86)\microsoft visual studio 10.0\vc\include\cmath(41): error C2061: 语法错误: 标识符“cos”
1>d:\program files (x86)\microsoft visual studio 10.0\vc\include\cmath(41): fatal error C1003: 错误计数超过 100;正在停止编译
1>
1>生成失败。
1>
1>已用时间 00:00:00.12
生成: 成功 0 个,失败 1 个,最新 0 个,跳过 0 个
#include<stdio.h>
#include<stdlib.h>
#include<string>
#include<time.h>
#define WORD_len 50
#define MEANINIG_len 80
#define number 4000
typedef struct WORD
{int xu;
char spelling[WORD_len];
char meanning[MEANINIG_len];
int displaytimes_right;
int displaytimes_wrong;
}Word;//单词结构体
int Readfile(char *fname, Word wo[]);//读取文件
int zhengquefrequency(char *fname,int num);//求正确率
int chuxianfrequency(char *fname,int num);//出现频率
int duqubianhao(char *fname);//读取单词编号
void chucunweizhi(char *fname,int xu);//存储学到的单词的编号
void xuanzeti(char *fname,int i);//创建选择题
int main()
{int i=0,choose;
char yonghuming[20];
//创建单词的编号
printf("请输入用户名(可再修改)");
scanf("%s",yonghuming);
i=duqubianhao(yonghuming);
printf("请选择");
for(;i<=number;i++)
{printf("1.下一题\n");
printf("2.停止答题\n");
scanf("%d",&choose);
switch(choose)
{case 1:break;
case 2:xuanzeti(yonghuming,i);
}
}chucunweizhi(yonghuming,i);
return 0;
}
void xuanzeti(char *fname,int i)
{int a,b,c,z,t,character,j;
char temp[MEANINIG_len];
FILE *fp;
Word choice[4];//三个错误选项和一个正确选项
Word words[number];
char userschoice[MEANINIG_len];
fp=fopen(fname,"r");//读取所有单词
if(fp==0)
{printf("source error\n");
exit(0);
}
fscanf(fp,"%s%s",words[z].spelling,words[z].meanning);
while(!feof(fp))
{z++;
fscanf(fp,"%s%s",words[z].spelling,words[z].meanning);
}
//产生随机数、选出三个错误选项
int j=0,random,a,b,c;
srand((unsigned int) time(0));
for(j=0,z=0;j<1000&&z<3;j++)
{random=rand()%10;
if(random<=number&&random!=i)
{strcpy(choice[z].meanning,words[random].meanning);
z++;
}
}
strcpy(choice[3].meanning,words[number].meanning);
//打乱选项
for(a=0;a<4-1;a++)
{c=1;
for(b=a+1;b<4;b++)
if(strcmp(choice[c].meanning,choice[b].meanning)>0)
c=b;
if(c!=a)
{strcpy(temp,choice[a].meanning);
strcpy(choice[a].meanning,choice[c].meanning);
strcpy(choice[c].meanning,temp);
}
}
//选择界面
printf("请选择%s的正确释义\n",words[i].spelling);
printf("1.%s\n",choice[0].meanning);
printf("2.%s\n",choice[1].meanning);
printf("3.%s\n",choice[2].meanning);
printf("4.%s\n",choice[3].meanning);
scanf("%d",&character);
strcpy(userschoice,choice[character].meanning);
t=strcmp(userschoice,words[i].meanning);
if(!t)
{printf("回答正确!");
words[i].displaytimes_right++;
}
else
{printf("回答错误,正确答案为%s",words[i].meanning);
words[i].displaytimes_wrong++;
}
}
//该单词的出现频率
int chuxianfrequency(char *fname,int num)
{int i=0;//控制数组
int sumt,sumf,sum=0,frequency;
Word wo[number];
FILE *fp;
fp=fopen(fname,"r+");
if(fp==0)
{printf("file error");
exit(1);}
fscanf(fp,"%d%d",&wo[i].displaytimes_right,&wo[i].displaytimes_wrong);
while(!feof(fp))
{i++;
fscanf(fp,"%d%d",&wo[i].displaytimes_right,&wo[i].displaytimes_wrong);
}
fclose(fp);
for(i=0;i<=number;i++)
{sum=wo[i].displaytimes_right+wo[i].displaytimes_wrong;
}
frequency=(wo[number].displaytimes_right+wo[number].displaytimes_wrong)/sum;
}
//该单词的正确率
int zhengquefrequency(char *fname,int num)
{int i=0;
int sumt,sumf,sum=0,frequency;
Word wo[number];
FILE *fp;
fp=fopen(fname,"r+");
if(fp==0)
{printf("file error");
exit(1);}
fscanf(fp,"%d%d",&wo[i].displaytimes_right,&wo[i].displaytimes_wrong);
while(!feof(fp))
{i++;
fscanf(fp,"%d%d",&wo[i].displaytimes_right,&wo[i].displaytimes_wrong);
}
fclose(fp);
frequency=wo[number].displaytimes_right/(wo[number].displaytimes_right+wo[number].displaytimes_wrong);
}
//
int duqubianhao(char *fname)//输入文档名和用户名有关,读取用户上次学到的那个单词的编号
FILE *fp;
int bianhao;
fp=fopen(fname,"r+");
if(fp==0)
{printf("用户开始学习第一个单词");
exit(1);
fopen(fname,"w+");
bianhao=0;
}
else
{fscanf(fp,"%d",&bianhao);
}
return bianhao;
}
void chucunweizhi(char *fname,int xu)//输入文档名和用户名有关
{FILE *fp;
fp=fopen(fname,"w+");
if(fp==0)
{printf("file error");
exit(1);}
fprintf(fp,"%d",xu);
fclose(fp);
}