新建的项目应该以.cpp为结尾,如果是点.c就会出错
项目的实现效果视频
#include
#include
#include
#include
#include
#include "string.h"
int a,c;
char b[20],d[10],e[10];
/**
** 函数名: IsInteger(char *a)
** 函数功能:输入字符 '0'~'9'转化成 1~9
**/
int IsInteger(char *a)
{
while(*a)
{if (*a<'0' || *a>'9')
return 0;
a++;
}
return 1;
}
/**
** 函数名:StringToInt(char *a)
** 例子:函数功能:输入字符串 '123'转化成 123
**/
int StringToInt(char *a)
{ int s=0;
while(*a)
{
s=s*10+*a-'0';
a++;
}
return s;
}
//英语部分
/**
英语部分描述: wordbag为一个链表,
链表中包括一个单词以及单词的含义
以及指向下一个结点的指针域
实现的功能其实就是:对链表增删改查
增:往链表中,插入一个结点
删:找到指定的结点,进行删除
改:找到指定的结点,修改相应的数据域
查:根据某个数据域的值查找某个结点
*/
struct wordsbag//单词包
{
char word[100];
char mean[100];
wordsbag *next;
};//head返回指针的指针,head2指向链表头
int Add_Wordsbag();//添加单词
wordsbag* Creast_Wordsbag();//新建单词
int Delete_Wordsbag();//删除单词
int Print(wordsbag* head);//打印单词
wordsbag *Read_Wordsbag();//读取单词
int Save_Wordsbag(wordsbag* head);//保存单词
int Search_Wordsbag();//寻找单词
int Made_Wordsbag();//
int Made_Uknown_Wordsbag(wordsbag *words);
int Print_Uknown_Wordsbag();
wordsbag *Read_Uknow_Wordsbag();
/**
函数名:Creast_Wordsbag()
函数功能:a为创建单词的数量
通过一个while(a)循环,来创建一个长度为a的链表
*/
wordsbag* Creast_Wordsbag()
{
wordsbag *head,*p,*q;
q=head=(wordsbag *)malloc(sizeof(wordsbag));
if(q==NULL)
{
printf("内存申请错误\n");
return NULL;
}
printf("请输入要存入单词的个数:");
/**
判断输入的有效性,拦截输入负数的情况
*/
scanf("%s",d);
while (!IsInteger(d)||StringToInt(d)<0)
{
printf("数据有误,重新输入:");
scanf("%s",d);
}
a=StringToInt(d);
while(a)
{
p=(wordsbag *)malloc(sizeof(wordsbag));
printf("***请输入单词:\t");
scanf("%s",p->word);
printf("***请输入词义:\t");
scanf("%s",p->mean);
q->next=p;
q=p;
a--;
}
q->next=NULL;
return head;
}
/**
函数名:Save_Wordsbag(wordsbag* head)
函数输入:wordsbag* head,表示为链表,将得到的链表存储在一个danci.txt的文件中
*/
int Save_Wordsbag(wordsbag* head)
{
FILE *fp;
if((fp=fopen("D:\\danci.txt","w"))==NULL)
{
printf("文件打开错误\n");
return 0;
}
wordsbag *p;
p=head->next;
while(p)
{
//fwrite 将p中的数据写入文件指针fp中每一次写一个表结点的数据
fwrite(p,sizeof(wordsbag),1,fp);
p=p->next;
}
fclose(fp);
return 1;
}
/**
函数名:wordsbag *Read_Wordsbag()
函数输入:从danci.txt文件中,将fp所指向的数据,每一次读一块,读到p指针中
返回,指向新建链表的头部,该链表包括了文件中所存的所有数据
*/
wordsbag *Read_Wordsbag()
{
wordsbag *head,*p,*q;
FILE *fp;
fp=fopen("D:\\danci.txt","r");
head = q =(wordsbag *)malloc(sizeof(wordsbag));
while(!feof(fp))
{
p=(wordsbag *)malloc(sizeof(wordsbag));
if((fread(p,sizeof(wordsbag),1,fp))!=1)
break;
q->next=p;
q=p;
}
q->next=NULL;
fclose(fp);
return head;
}
/**
函数名:testMyselsf()
函数功能:d为判断所进行的功能
d = 1;进行英文回答中文
d = 2; 进行中文回答英文
*/
int testMyselsf()
{
wordsbag *head,*p;
int m1;
char word[100];
char word1[100];
head = Read_Wordsbag();
if(head==NULL)
{
return 0;
}
getch(); //不立刻退出窗口
system("cls");
printf("-------------------------------\n");
printf("|\t1:英文挑战中文 \t|\n");
printf("|\t2:中文挑战英文 \t|\n");
printf("-------------------------------\n");
printf("请输入功能选项:");
scanf("%s",d);
while (!IsInteger(d)||StringToInt(d)>3||StringToInt(d)<0)
{
printf("数据有误,重新输入:");
scanf("%s",d);
}
m1=StringToInt(d);
if(m1==1)
{
p=head->next;
while(p)
{ system("cls");
printf("---------单词英文为:%s\n",p->word);
printf("---------请挑战中文:\t");
scanf("%s",&word);
if(!strcmp(p->mean,word))
{
printf("---------恭喜你,回答正确!\n");
}
else
{
printf("---------很遗憾,回答错误!\n");
printf("\n--------正确应为:----------\n");
printf("|\t单词\t词义\t|\n");
printf("|\t%s\t%s\t|\n",p->word,p->mean);
printf("-------------------------\n");
}
p=p->next;
getch(); //不立刻退出窗口
}
}
if(m1==2)
{
p=head->next;
while(p)
{ system("cls");
printf("---------单词中文为:%s\n",p->mean);
printf("---------请挑战英文:\t");
scanf("%s",&word);
if(!strcmp(p->word,word))
{
printf("---------恭喜你,回答正确!\n");
}
else
{
printf("---------很遗憾,回答错误!\n");
printf("\n--------正确应为:----------\n");
printf("|\t单词\t词义\t|\n");
printf("|\t%s\t%s\t|\n",p->word,p->mean);
printf("-------------------------\n");
}
p=p->next;
getch(); //不立刻退出窗口
}
}
return 1;
}
//打印
/**
函数名:int Print(wordsbag* head)
函数功能:输入head链表头,打印出该链表
*/
int Print(wordsbag* head)
{
wordsbag *p;
p=head->next;
printf("\n-------------------\n");
printf("|\t单词\t词义\t|\n");
while(p!=NULL)
{
printf("|\t%s\t%s\t|\n",p->word,p->mean);
printf("\n-------------------\n");
p=p->next;
}
return 1;
}
/**
函数名:Search_Wordsbag()
函数功能:根据单词英文,输出单词的含义
*/
int Search_Wordsbag()
{
wordsbag *head,*p;
char words[10];
printf("请输入要查找的单词:\t");
scanf("%s",words);
head=Read_Wordsbag();
p=head->next;
{
while(p)
if(!strcmp(p->word,words))
{
printf("\n-------------------\n");
printf("|\t单词\t词义\t|\n");
printf("|\t%s\t%s\t|\n",p->word,p->mean);
printf("\n-------------------\n");
break;
}
else
{
p=p->next;
}
}
if(p==NULL)
{
printf("\n对不起你输入的单词不存在!\n");
}
return 1;
}
/**
函数名:Add_Wordsbag()
函数功能:将用户输入的单词存放到文件的末尾
*/
int Add_Wordsbag()
{
wordsbag* head;
head=Creast_Wordsbag();
FILE *fp;
if((fp=fopen("D:\\danci.txt","a"))==NULL)
{
printf("打开文件失败\n");
return 0;
}
wordsbag *p;
p=head->next;
while(p)
{
fwrite(p,sizeof(wordsbag),1,fp);
p=p->next;
}
fclose(fp);
return 1;
}
/**
函数名:Delete_Wordsbag()
函数功能:查找到表结点的位置,然后删除该结点,并把
该链表的剩下数据节点数据存储在文件中
*/
int Delete_Wordsbag()
{
wordsbag *head,*p,*q;
char words[10];
printf("\n请输入你想要删除的单词:\t");
scanf("%s",words);
q=head=Read_Wordsbag();
p=head->next;
int a=0;
while(p)
{
if(!strcmp(p->word,words))
{
printf("你要删除的单词为:\t");
printf("\n-------------------------\n");
printf("|\t单词\t词义\t|\n");
printf("|\t%s\t%s\t|\n",p->word,p->mean);
printf("---------------------------\n");
a=1;
break;
}
else
{
p=p->next;
}
}
if(a==1){
printf("请再次确认是否删除该单词\n");
printf("1.是 2.否\n");
//判断输入的有效性
scanf("%s",d);
while (!IsInteger(d)||StringToInt(d)>2||StringToInt(d)<0)
{printf("数据有误,重新输入:");
scanf("%s",d);
}
a=StringToInt(d);
if(a==1)
{
p=head->next;
while(p)
{
if(!strcmp(p->word,words))
{
q->next=p->next;
printf("\n--------删除成功!----------\n");
break;
}
else
{
q=p;
p=p->next;
}
}
}
Save_Wordsbag(head);
}
return 1;
}
/**
函数名:Made_Wordsbag()
函数功能:如果文件中没有被写入链表数据,则需要将当前的链表的写入文件
*/
int Made_Wordsbag()
{
wordsbag *head;
FILE *fp;
if(!(fp=fopen("D:\\danci.txt","r")))
{
head=Creast_Wordsbag();
printf("***您的输入已经结束***\n");
int a,i=0;
printf("***是否存盘***\n");
char aa[100]="***温馨提示:您此次为第一次输入,建议存盘***\n";
printf(" ");
for(int j=0;j<strlen(aa);j++)
{
printf("%c",aa[j]);
while(i<=10000000)
{
i++;
}
i=0;
}
printf("\n是否存盘\n");
printf("1.是 2.否\n");
//判断输入的有效性
scanf("%s",d);
while (!IsInteger(d)||StringToInt(d)>2||StringToInt(d)<0)
{printf("数据有误,重新输入:");
scanf("%s",d);
}
a=StringToInt(d);
if(a==1)
if(Save_Wordsbag(head)!=1)
{
printf("对不起,存盘失败!\n");
}
}
else
{
printf("转入添加界面\n");
Add_Wordsbag();
}
return 1;
}
/**
函数名:int Made_Uknown_Wordsbag(wordsbag *words)
函数功能:将新单词words存入单词本文件中,如果该单词本文件
还未创建,则新建一个单词本写入,如果单词本已经创建
就将fp指向已经新建的文件本中
*/
int Made_Uknown_Wordsbag(wordsbag *words)
{
FILE *fp1;
fp1=fopen("D:\\生词本.txt","r");
if(fp1==NULL)
{
FILE *fp;
fp=fopen("D:\\生词本.txt","w");
if(fp==NULL)
{
printf("文件打开错误\n");
return 0;
}
fwrite(words,sizeof(wordsbag),1,fp);
printf("添加成功\n");
fclose(fp1);
fclose(fp);
return 1;
}
else
{
FILE *fp;
fp=fopen("D:\\生词本.txt","a");
if(fp==NULL)
{
printf("文件打开错误\n");
return 0;
}
fwrite(words,sizeof(wordsbag),1,fp);
printf("生词添加成功\n");
fclose(fp);
fclose(fp1);
return 1;
}
//添加
}
/**
函数名:int Print_Uknown_Wordsbag()
函数功能:打印出新词本的数据
*/
int Print_Uknown_Wordsbag()
{
int s=0;
wordsbag *head,*p;
head=Read_Uknow_Wordsbag();
p=head->next;
while(p)
{
s++;
p=p->next;
}
printf("\t\t据统计当前有%d个尚未掌握的单词\n",s);
Print(head);
return 1;
}
/**
函数名:wordsbag *Read_Uknow_Wordsbag()
函数功能:返回指向单词本中链表的头
*/
wordsbag *Read_Uknow_Wordsbag()
{
wordsbag *head,*p,*q;
FILE *fp;
fp=fopen("D:\\生词本.txt","r");
head=q=(wordsbag *)malloc(sizeof(wordsbag));
while(!feof(fp))
{
p=(wordsbag *)malloc(sizeof(wordsbag));
if((fread(p,sizeof(wordsbag),1,fp))!=1)
break;
q->next=p;
q=p;
}
q->next=NULL;
fclose(fp);
return head;
}
//数学部分
/**
aTopic 为一道题
testPaper
为一张试卷 其中,ap中存放的是指向某一道题的地址,
*/
struct aTopic
{ //一道题
int value1;
char ope;//运算符
int value2;
double answer;
double result;
};
/**
* topicValue;//一张试卷中题目的数量
dataMin; //一张试卷中数值最小值
dataMax; //一张试卷中数值最大值
一维指针是地址,二维指针是地址的地址,因为ap是一个结构体,所以要定义aTopic **ap;
*ap指向一道题,ap指向一道题的地址
*/
struct testPaper
{ //一张试卷
int topicValue;
int dataMin;
int dataMax;
//一维指针是地址,二维指针是地址的地址,因为ap是一个结构体,所以要定义aTopic **ap;
//*ap指向一道题,ap指向一道题的地址
aTopic** ap;
};
double yue2(double a)
{
return double(int(a*100))/100.00;
}
//返回指向试卷的指针,这个指针指向第一道题
testPaper* initTestPaper()
{ //初始化试卷
testPaper* tp=(testPaper*)malloc(sizeof(testPaper));
printf("现在开始初始化试卷\n");
printf("--------------------------------------\n");
printf("你想做题目数为:");
//判断输入的有效性
scanf("%s",d);
while (!IsInteger(d))
{
printf("数据有误,重新输入:");
scanf("%s",d);
}
tp->topicValue=StringToInt(d);
//tp->ap获得了一张试卷中,第一道题的首地址
tp->ap=(aTopic**)malloc(sizeof(aTopic*)*(tp->topicValue));
printf("你希望题目数据最小为:");
//判断输入的有效性
scanf("%s",d);
while (!IsInteger(d))
{
printf("数据有误,重新输入:");
scanf("%s",d);
}
tp->dataMin=StringToInt(d);
do{
printf("你希望题目数据最大为:");
//判断输入的有效性
scanf("%s",d);
while (!IsInteger(d))
{
printf("数据有误,重新输入\n");
scanf("%s",d);
}
tp->dataMax=StringToInt(d);
}while(tp->dataMax<tp->dataMin?printf("最大数据小于最小数据,请重新输入\n"):0);
printf("--------------------------------------\n");
for(int tm=0;tm<tp->topicValue;tm++)
{
aTopic* ap=(aTopic*)malloc(sizeof(aTopic));
//如果最大值和最小值相同,输出0,否则从最小值到最大值之间生成一个随机数
ap->value1=(rand()%((tp->dataMax-tp->dataMin)==0?1:(tp->dataMax-tp->dataMin)))+tp->dataMin;
ap->value2=(rand()%((tp->dataMax-tp->dataMin)==0?1:(tp->dataMax-tp->dataMin)))+tp->dataMin;
jump:
switch(rand()%4)
{
case 0:ap->ope='+';ap->result=(double)(ap->value1+ap->value2);break;
case 1:ap->ope='-';ap->result=(double)(ap->value1-ap->value2);break;
case 2:ap->ope='*';ap->result=(double)(ap->value1*ap->value2);break;
case 3:if(ap->value2==0) goto jump;
ap->ope='/';ap->result=yue2(((double)ap->value1/(double)ap->value2));break;
}
tp->ap[tm]=ap;
}
return tp;
}
void doExam(testPaper* tp){ //开始答题
HANDLE ConsoloPrint;
ConsoloPrint=GetStdHandle(STD_OUTPUT_HANDLE);
for(int tm=0;tm<tp->topicValue;tm++)
{
printf("%d%c%d=",tp->ap[tm]->value1,tp->ap[tm]->ope,tp->ap[tm]->value2);
scanf("%lf",&(tp->ap[tm]->answer));
if(tp->ap[tm]->answer == tp->ap[tm]->result)
{
SetConsoleTextAttribute(ConsoloPrint,FOREGROUND_GREEN);
printf("对\n");
SetConsoleTextAttribute(ConsoloPrint,FOREGROUND_RED|FOREGROUND_BLUE|FOREGROUND_GREEN);
}
else
{
SetConsoleTextAttribute(ConsoloPrint,FOREGROUND_RED);
printf("错\n");
SetConsoleTextAttribute(ConsoloPrint,FOREGROUND_RED|FOREGROUND_BLUE|FOREGROUND_GREEN);
}
}
}
testPaper* correct(testPaper* tp)
{ //批改试卷函数
testPaper* wrongTp=(testPaper*)malloc(sizeof(testPaper)); //创建一张用于存放错题的空试卷,当遇到错题时只需要将空试卷的题目指针指向那道题
wrongTp->topicValue=0;
wrongTp->ap=(aTopic**)malloc(sizeof(aTopic*)*wrongTp->topicValue);
for(int tm=0;tm<tp->topicValue;tm++)
{
if(tp->ap[tm]->answer!=tp->ap[tm]->result){
wrongTp->topicValue++;
wrongTp->ap=(aTopic**)realloc(wrongTp->ap,sizeof(aTopic*)*(wrongTp->topicValue));
wrongTp->ap[wrongTp->topicValue-1]=tp->ap[tm];
}
}
getch();
system("cls");
printf("--------------------------------------\n");
printf("你一共做了题目数:%d |\n",tp->topicValue);
printf("做对题目数:%d |\n",tp->topicValue-wrongTp->topicValue);
printf("做错题目数:%d |\n",wrongTp->topicValue);
printf("正确率为:%.2f%% |\n",(1-((double)wrongTp->topicValue/(double)tp->topicValue))*100);
printf("--------------------------------------\n");
return wrongTp;
}
void showTestPaper(testPaper* tp,bool answer)
{ //如果bool answer为true,显示正确答案,如果为false,显示做错的题
HANDLE ConsoloPrint;
ConsoloPrint=GetStdHandle(STD_OUTPUT_HANDLE);
SetConsoleTextAttribute(ConsoloPrint,FOREGROUND_RED);
if(answer)
SetConsoleTextAttribute(ConsoloPrint,FOREGROUND_GREEN);
for(int tm=0;tm<tp->topicValue;tm++){
if(answer)
printf("%d%c%d=%.2f\n",tp->ap[tm]->value1,tp->ap[tm]->ope,tp->ap[tm]->value2,tp->ap[tm]->result);
else
printf("%d%c%d=%.2f\n",tp->ap[tm]->value1,tp->ap[tm]->ope,tp->ap[tm]->value2,tp->ap[tm]->answer);
}
SetConsoleTextAttribute(ConsoloPrint,FOREGROUND_RED|FOREGROUND_BLUE|FOREGROUND_GREEN);
}
int main(){
int n1;
loop1: system("cls");
printf("**********************小学生学习系统主界面*******************\n");
printf("-------------------------\n");
printf("|\t1:数学 \t|\n");
printf("|\t2:英语 \t|\n");
printf("|\t3:退出学习系统\t|\n");
printf("|\t4:清除系统内容\t|\n");
printf("-------------------------\n");
printf("请输入功能选项:");
scanf("%s",d);
while (!IsInteger(d)||StringToInt(d)>4||StringToInt(d)<0)
{
printf("数据有误,重新输入:");
scanf("%s",d);
}
n1=StringToInt(d);
if(n1==1){
loopm:
system("cls");
printf("**************************数学界面***************************\n");
srand(time(0));
loop2:
testPaper* tp=initTestPaper();
testPaper* wrongTp;
int doAgain=0;
system("cls");
printf("(除法最多只需保留两位小数,不需要四舍五入)\n");
printf("----------现在开始答题:-----------\n");
doExam(tp);
wrongTp=correct(tp);
while(wrongTp->topicValue!=0)
{
printf("其中做错的题:\n");
showTestPaper(wrongTp,false);
jump2:
printf("--------------------------\n");
printf("|\t 1:重写错题\t| \n");
printf("|\t 2:退出程序\t|\n");
printf("|\t 3:查看正确答案\t|\n");
printf("|\t 4:返回数学界面\t|\n");
printf("|\t 5:返回主界面\t|\n");
printf("--------------------------\n");
printf("请输入功能选项:\n");
//判断输入的有效性
scanf("%s",d);
while (!IsInteger(d)||StringToInt(d)>5||StringToInt(d)<0)
{
printf("数据有误,重新输入:");
scanf("%s",d);
}
doAgain=StringToInt(d);
if(doAgain==1)
{ system("cls");
printf("----------------------\n重做已经答错的题:\n");
doExam(wrongTp);
wrongTp=correct(wrongTp);
}
else if(doAgain==3)
{
system("cls");
printf("错题的正确答案:\n");
showTestPaper(wrongTp,true);
goto jump2;
}
else if(doAgain==4)
{
goto loopm;
}
else if(doAgain==5)
{
goto loop1;
}
else if(doAgain==2){
goto loop0;
break;
}
}
getch();
system("cls");//不立刻退出窗口
int n2;
printf("--------------------------\n");
printf("|\t 1:继续答题 \t| \n");
printf("|\t 2:返回数学界面\t|\n");
printf("|\t 3:返回主界面\t|\n");
printf("|\t 4:退出学习系统\t|\n");
printf("--------------------------\n");
printf("请输入你要完成的功能:");
//判断输入的有效性
scanf("%s",d);
while (!IsInteger(d)||StringToInt(d)>4||StringToInt(d)<0)
{printf("数据有误,重新输入:");
scanf("%s",d);
}
n2=StringToInt(d);
if(n2==1)
{system("cls");goto loop2;}
if(n2==2)
{ system("cls");goto loopm;}
if(n2==4)
{system("cls");goto loop0;}
if(n2==3)
{system("cls");goto loop1;}
}
if(n1==2){
loop3:
system("cls");
printf("**************************英语界面***************************\n");
printf("-------------------------\n");
printf("|\t1.词库创建 \t|\n");
printf("|\t2.单词查找 \t|\n");
printf("|\t3.单词的删除\t|\n");
printf("|\t4.单词自我评测\t|\n");
printf("|\t5.返回主界面\t|\n");
printf("-------------------------\n");
int flag4;
printf("请输入你想要进行的功能:\n");
//判断输入的有效性
scanf("%s",d);
while (!IsInteger(d)||StringToInt(d)>5||StringToInt(d)<0)
{printf("数据有误,重新输入:");
scanf("%s",d);
}
flag4=StringToInt(d);
switch(flag4)
{
case 1:
if(Made_Wordsbag()!=1)
{printf("创建失败\n");}
else
{printf("恭喜你,创建成功!\n");}
getch(); //不立刻退出窗口
system("cls");
printf("---------------------------\n");
printf("| 1:返回上一界面 |\n");
printf("| 2:退出程序 |\n");
printf("---------------------------\n");
printf("请输入功能选项:\n");
int n3;
scanf("%s",d);
while (!IsInteger(d)||StringToInt(d)>2||StringToInt(d)<0)
{printf("数据有误,重新输入\n");
scanf("%s",d);
}
n3=StringToInt(d);
switch(n3)
{
case 1: goto loop3;break;
case 2: goto loop0;break;
}
case 2:
if(Search_Wordsbag()!=1)
printf("-----单词不存在!查找失败----\n");
getch(); //不立刻退出窗口
system("cls");
printf("---------------------------\n");
printf("| 1:返回上一界面 |\n");
printf("| 2:退出程序 |\n");
printf("---------------------------\n");
printf("请输入功能选项:\n");
int n4;
//判断输入的有效性
scanf("%s",d);
while (!IsInteger(d)||StringToInt(d)>2||StringToInt(d)<0)
{printf("数据有误,重新输入\n");
scanf("%s",d);
}
n4=StringToInt(d);
switch(n4)
{
case 1: goto loop3;break;
case 2: goto loop0;break;
}
case 3:
if(Delete_Wordsbag()!=1)
printf("----单词不存在!删除失败-----\n");
getch(); //不立刻退出窗口
system("cls");
printf("---------------------------\n");
printf("| 1:返回上一界面 |\n");
printf("| 2:退出程序 |\n");
printf("---------------------------\n");
printf("请输入功能选项:\n");
int n5;
//判断输入的有效性
scanf("%s",d);
while (!IsInteger(d)||StringToInt(d)>2||StringToInt(d)<0)
{printf("数据有误,重新输入:\n");
scanf("%s",d);
}
n5=StringToInt(d);
switch(n5)
{
case 1: goto loop3;break;
case 2: goto loop0;break;
}
case 4:
if(testMyselsf())
{ printf("\n\n----------------------------");
printf("你现在不需要自测,你所有的单词已经掌握!\n");}
getch(); //不立刻退出窗口
system("cls");
printf("---------------------------\n");
printf("| 1:返回英语界面 |\n");
printf("| 2:退出程序 |\n");
printf("---------------------------\n");
printf("请输入功能选项:\n");
int n6;
scanf("%s",d);
while (!IsInteger(d)||StringToInt(d)>2||StringToInt(d)<0)
{printf("数据有误,重新输入:\n");
scanf("%s",d);
}
n6=StringToInt(d);
switch(n6)
{
case 1: goto loop3;break;
case 2: goto loop0;break;
}
break;
case 5:
goto loop1;
}
//wordsbag test={"sadf","sdf",NULL};
//Made_Uknown_Wordsbag(&test);
Print_Uknown_Wordsbag();
}
if (n1==3)
{ loop0:
system("cls");
printf("**********************退出小学生学习系统*******************\n");
}
if(n1==4)
{
FILE *fin,*ftp;
char a[1000];
fin=fopen("D:\\danci.txt","r");//读打开原文件123.txt
ftp=fopen("D:\\tmp.txt","w");//写打开临时文件tmp.txt
if(fin==NULL || ftp==NULL){
printf("打开文件失败!...\n");
exit(0);
}
fclose(fin);
fclose(ftp);
remove("D:\\danci.txt");//删除原文件
rename("D:\\tmp.txt","D:\\danci.txt");//将临时文件名改为原文件名
printf("\n\n恭喜你,成功清除系统所有内容!");
getch(); //不立刻退出窗口
system("cls");
printf("---------------------------\n");
printf("| 1:返回主界面 |\n");
printf("| 2:退出程序 |\n");
printf("---------------------------\n");
printf("请输入功能选项:\n");
int n6;
scanf("%s",d);
while (!IsInteger(d)||StringToInt(d)>2||StringToInt(d)<0)
{printf("数据有误,重新输入:\n");
scanf("%s",d);
}
int n7;
n7=StringToInt(d);
switch(n7)
{
case 1: goto loop1;break;
case 2: goto loop0;break;
}
}
return 0;
}