
这个里面的记录不同用户的成绩还要再弄文件来保存吗?
不同用户怎么区别?
怎么访问选择词库来访问?
#include<stdio.h>
#include<string.h>
int F=20,N=100,k=0;
int score[100];
int count=0;
void hello();
void add();
void preview();
void mdelete();
void etc();
void cte();
void mscore();
void recompose();
struct word{
char e[20];
char c[20];
}words[300];
int main()
{
hello();
return 0;
}
void hello()
{
int num,mexit=1;
while(mexit)
{
printf("┌▽▽▽▽▽▽▽▽▽▽▽▽▽▽▽▽▽▽▽▽┐\n");
printf("│ │\n");
printf("│ Welcome to recite words system │\n");
printf("│ ☆ 欢迎来到背单词系统 ☆ │\n");
printf("│ │\n");
printf("│ (っ。ω。)っ 学习计划走起 │\n");
printf("│****************************************│\n");
printf("│ │\n");
printf("│ 1.单词预览 2.英译汉 │\n");
printf("│ 3.汉译英 4.查询分数 │\n");
printf("│ │\n");
printf("│****************************************│\n");
printf("│后台登录: │\n");
printf("│ │\n");
printf("│ 5.单词添加 6.单词删除 │\n");
printf("│ 7.单词修改 8.退出程序 │\n");
printf("│ │\n");
printf("└△△△△△△△△△△△△△△△△△△△△┘\n");
printf("请输入要操作的选项:\n\n");
scanf("%d",&num);
switch(num)
{
case 1:preview();
break;
case 2:etc();
break;
case 3:cte();
break;
case 4:mscore();
break;
case 5:add();
break;
case 6:mdelete();
break;
case 7:recompose();
break;
case 8:mexit=0;
break;
default:printf("请重新输入编号1~8\n\n");
break;
}
}
}
void add()
{
int m;
int b=1;
char c;
while(b)
{
for(m=k;m<=300;m++)
{
printf("现在录入词库\n\n");
printf("请输入你想录入的单词:\n");
printf("请输入英文:\n\n");
scanf("%s",words[m].e);
printf("请输入中文:\n\n");
scanf("%s",words[m].c);
k++;
printf("是否继续录入?\n\n");
scanf(" %c",&c);
if(c=='Y')
{
b=1;
break;
}
else(c=='N');
{
b=0;
printf("输入完成!\n");
break;
}
}
}
}
void preview()
{
int i;
printf("英文 中文\n");
for(i=0;i<k;i++)
{
printf("%s %s\n",words[i].e,words[i].c);
}
}
void mdelete()
{
char s[20];
int i;
int j;
for(i=0;i<k;i++)
{
printf("请输入您想删除的单词英文:\n");
scanf("%s",s);
if(strcmp(s,words[i].e)==0)
{
printf("已经成功删除\n\n");
for(j=i;j<k;j++)
{
words[j]=words[j+1];
k--;
}
break;
}else
{
printf("该词库没有您输入的单词\n\n");
}
}
}
void etc()
{
char x[100];
int y=0;
int u;
printf("背诵模式:英译汉!\n");
printf("请输入你想练习的个数:\n");
scanf("%d",&u);
for(int i=0;i<u;i++)
{
printf("%s\n",words[i].e);
printf("请输入相对应的中文:\n");
scanf("%s",x);
if(strcmp(words[i].c,x)==0)
{
printf("你答对了!\n");
y++;
}
else
{
printf("很遗憾,你答错了。\n");
printf("正确的翻译为:\n");
printf("%s\n",words[i].c);
}
}
printf("你的分数是:%d\n",y);
score[count++]=y;
}
void cte()
{
char x[100];
int y=0;
int u;
printf("背诵模式:汉译英!\n");
printf("请输入你想练习的个数:\n");
scanf("%d",&u);
for(int i=0;i<u;i++)
{
printf("%s\n",words[i].c);
printf("请输入相对应的英文:\n");
scanf("%s",x);
if(strcmp(words[i].e,x)==0)
{
printf("你答对了!\n");
y++;
}
else
{
printf("很遗憾你,你答错了。\n");
printf("正确的翻译为:");
printf("%s\n",words[i].e);
}
}
printf("你的分数是:%d\n",y);
score[count++]=y;
}
void mscore()
{
int i;
for(i=0;i<count;i++)
{
printf("score%d : %d\n",i,score[i]);
}
}
void recompose()
{
int i;
char z[20],x[20],c[20];
printf("请输入您想修改的单词:\n");
scanf("%s",z);
if(k<=0)
{
printf("没有任何单词,无法修改\n");
return;
}
else
{
for(i=0;i<k;i++)
{
if(strcmp(z,words[i].e)==0)
{
printf("请输入您修改后的英文单词:\n");
scanf("%s",x);
strcpy(words[i].e,x);
printf("请输入您修改后的中文翻译:\n");
scanf("%s",c);
strcpy(words[i].c,c);
printf("已经修改成功\n");
break;
}
else
{
printf("没有找到您要修改的单词\n");
}
}
}
}