📄 text2.cpp
字号:
#include<iostream.h>
#include<fstream.h>
#include<stdlib.h>
#include<iomanip.h>
#include<string.h>
#include"mainfile.h"
#include"index.h"
void main()
{char *f1=".\\mainfile.dat";
char *f2=".\\mainindex.idx";
char *f3=".\\keyindex.idx";
char *f4=".\\nameindex.idx";
element temp2;
index temp1;
while(1)
{cout<<endl<<"功能号表:"<<endl;
cout<<"1-----向文件中插入一个元素"<<endl;
cout<<"2-----从文件中删除一个元素"<<endl;
cout<<"3-----从文件中查找一个元素"<<endl;
cout<<"4-----输出文件"<<endl;
cout<<"5-----结束运行"<<endl;
char choice1;
cout<<"请输入你的选择(1-5):"<<endl;
cin>>choice1;
switch(choice1)
{case '1':
{ll:cout<<"<1> 插入一组元素。"<<endl;
cout<<"<2> 插入一个元素。"<<endl;
cout<<"<3> 返回上层目录。"<<endl;
char choice2;
cin>>choice2;
switch(choice2)
{case '1':
{cout<<"请输入待插入元素个数:(一个整数)"<<endl;
int nn;
cin>>nn;
for(int i3=0;i3<nn;i3++)
{cout<<"请插入第"<<i3+1<<"个元素(一个整数和一个标志名):"<<endl;
cin>>temp2.key>>temp2.name;
temp1.key=temp2.key;
strcpy(temp1.name,temp2.name);
temp1.deletetag=0;
temp2.deletetag=0;
Insert(f1,f2,temp2);
keyInsert(f3,temp1);
nameInsert(f4,temp1);
}
break;
}
case '2':
{cout<<"请输入待插入元素:(一个整数和一个标志符): "<<endl;
cin>>temp2.key>>temp2.name;
temp2.deletetag=0;
temp1.key=temp2.key;
temp1.deletetag=0;
strcpy(temp1.name,temp2.name);
Insert(f1,f2,temp2);
keyInsert(f3,temp1);
nameInsert(f4,temp1);
break;}
case '3':break;
default:{cout<<"输入选择错误,请重新输入!"<<endl;
goto ll;}}
break;}
case'2':
{char choice3;
l1:cout<<"<1> 已知要删除元素的关键字;"<<endl;
cout<<"<2> 已知要删除元素的标志符;"<<endl;
cout<<"<3> 返回上层目录。"<<endl;
cin>>choice3;
switch(choice3)
{case '1':{
cout<<"请输入待删除元素的关键字:"<<endl;
cin>>temp2.key;
temp1.key=temp2.key;
bool t1=maindelete(f1,f2,temp2);
temp1=deletekey(f3,temp1);
if(temp1.key!=-1) deletename(f4,temp1);
if(t1==1)cout<<"删除成功!"<<endl;
else cout<<"删除不成功!"<<endl;
break; }
case '2':
{cout<<"请输入待删除元素的标志符:"<<endl;
cin>>temp1.name;
temp1=deletename(f4,temp1);
temp1=deletekey(f3,temp1);
temp2.key=temp1.key;
strcpy(temp2.name,temp1.name);
maindelete(f1,f2,temp2);
break;}
case '3':break;
default:{cout<<"输入选择错误,请重新输入!"<<endl;goto l1;}}
break;}
case '3':
{l2:cout<<"<1> 按关键字查找"<<endl;
cout<<"<2> 按标志符查找"<<endl;
cout<<"<3> 返回上层目录。"<<endl;
char ch1;
cin>>ch1;
switch(ch1)
{case '1':
{cout<<"请输入待查找元素的关键字: "<<endl;
cin>>temp2.key;
temp2=mainsearch(f1,f2,temp2);
break;}
case '2':
{cout<<"请输入待查找元素的标志符:"<<endl;
cin>>temp1.name;
temp1=searchname(f4,temp1);
temp2.key=temp1.key;
strcpy(temp2.name,temp1.name);
temp2=mainsearch(f1,f2,temp2);
break;}
case'3':break;
default:{cout<<"输入选择错误,请重新输入!"<<endl;
goto l2;}
}
break;}
case '4':
{l3:cout<<"<1>按关键字的顺序输出;"<<endl;
cout<<"<2>按标志符的顺序输出;"<<endl;
cout<<"<3> 返回上层目录。"<<endl;
char choice7;
cin>>choice7;
switch(choice7)
{case '1':
{mainprint(f1,f2);
break;}
case '2':
{namekeyprint(f4,f1,f2);
break;}
case '3':break;
default:{cout<<"输入选择错误,请重新输入!"<<endl;
goto l3;}
}
break;}
case '5':return;
default:cout<<"输入选择错误,请重输!"<<endl;
}}}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -