开发工具:
文件大小: 107kb
下载次数: 0
上传时间: 2008-11-25
详细说明: #include #include #include #include using namespace std; //名字空间 //------------------------------------------------- const int MaxSize=100; //100只是示例性的数据,可以根据实际问题具体定义 struct Student { string num; //学号 string name; //姓名 string sex; //性别 string born; //出生日期 string p; //政治面貌 string addr; //住址 Student(string nump="",string namep="",string sexp="",string bornp="",string pp="",string addrp="") { num=nump; name=namep; sex=sexp; born=bornp; p=pp; addr=addrp; } Student & operator =(Student & x); void encode(); void recode(); }; //------------------------------------------------- void Student::encode() //加密 { const char * src1=num.c_str(); char * dst1=""; int len1=num.length(); dst1=new char[len1+1]; for(int i=0;i>data[i].num; sin>>data[i].name; sin>>data[i].sex; sin>>data[i].born; sin>>data[i].p; sin>>data[i].addr; data[i].recode(); } } //------------------------------------------------- //取函数Get,从顺序表中返回第i个元素,并作为返回值返回 void SeqList::Get(int i) { if (i>=0 && i<=length-1) { cout<data[j].num) pos=j; } if(pos!=i) { temp=data[i]; data[i]=data[pos]; data[pos]=temp; } } } break; case 2: //name--sort { Student temp; int pos; for(int i=0;idata[j].name) pos=j; } if(pos!=i) { temp=data[i]; data[i]=data[pos]; data[pos]=temp; } } } break; case 3: //sex-sort { Student temp; int pos; for(int i=0;idata[j].sex) pos=j; } if(pos!=i) { temp=data[i]; data[i]=data[pos]; data[pos]=temp; } } } break; } } //------------------------------------------------- void SeqList::saveFile() { ofstream out("Info.txt"); for(int i=0;i>func; switch(func) { case 1: //显示 { display(list,1); } break; case 2: //搜索 { int way=1; string val; cout<<"\t请选择搜索方式(1--按学号 2--按姓名):\t"; cin>>way; cout<<"\t请选择查询条件:\t"; cin>>val; switch(way) { case 1: { list.Search(1,val); } break; case 2: { list.Search(2,val); } break; } } break; case 3: //添加 { string num,name,sex,born,p,addr; cout<<"\t请输入学号:\t"; cin>>num; cout<<"\t请输入姓名:\t"; cin>>name; cout<<"\t请输入性别:\t"; cin>>sex; cout<<"\t请输入出生日期:\t"; cin>>born; cout<<"\t请输入政治面貌:\t"; cin>>p; cout<<"\t请输入家庭住址:\t"; cin>>addr; Student stu(num,name,sex,born,p,addr); list.Insert(stu); } break; case 4: //删除 { int pos=display(list,0); list.Rmove(pos); } break; case 5: //修改 { int pos; cout<<"\t请输入需修改的记录位置:\t"; cin>>pos; cout<<"\n您要修改的记录如下:"; list.Get(pos); string num,name,sex,born,p,addr; cout<<"\t请输入学号:\t"; cin>>num; cout<<"\t请输入姓名:\t"; cin>>name; cout<<"\t请输入性别:\t"; cin>>sex; cout<<"\t请输入出生日期:\t"; cin>>born; cout<<"\t请输入政治面貌:\t"; cin>>p; cout<<"\t请输入家庭住址:\t"; cin>>addr; bool flag=false; char c; cout<<"确定与否Y/N:\t"; cin>>c; if(c=='Y'||c=='y') { flag=true; } else if(c=='N'||c=='n') ; else cout<<"输入非法!"; if(flag) { Student stu(num,name,sex,born,p,addr); list.Modify(pos,stu); } } break; case 6: //排序 { int flag=1; cout<<"\t请选择排序方式(1--num 2--name 3--sex):\t"; cin>>flag; list.Sort(flag); } break; case 8: //退出并保存文件 list.saveFile(); cout<<"*****************文件已保存,任意键退出程序!****************\n"; exit(0); break; case 7: //清屏 cls(list); break; default: cout<<"********无此功能!********"; break; } } } //------------------------------------------------- void Message(SeqList list) { cout<<"******************************************************************************"<>pos; if(i) { list.Get(pos); } return pos; } //------------------------------------------------- void cls(SeqList list) { system("cls"); Message(list); } ...展开收缩
(系统自动生成,下载前可以参看下载内容)
下载文件列表
相关说明
- 本站资源为会员上传分享交流与学习,如有侵犯您的权益,请联系我们删除.
- 本站是交换下载平台,提供交流渠道,下载内容来自于网络,除下载问题外,其它问题请自行百度。
- 本站已设置防盗链,请勿用迅雷、QQ旋风等多线程下载软件下载资源,下载后用WinRAR最新版进行解压.
- 如果您发现内容无法下载,请稍后再次尝试;或者到消费记录里找到下载记录反馈给我们.
- 下载后发现下载的内容跟说明不相乎,请到消费记录里找到下载记录反馈给我们,经确认后退回积分.
- 如下载前有疑问,可以通过点击"提供者"的名字,查看对方的联系方式,联系对方咨询.