Нужна помощь с сортировкой... Уже и swap, и qsort пробовал.. Что-то не выходит. Сортировка по полю паспорт. Был бы до ужаса благодарен за помощь!
Код:
#include<fstream.h>
#include<stdlib.h>
#include<stdio.h>
#include<conio.h>
#include<windows.h>
#include<string.h>
#include<iomanip.h>
struct Gotel
{
int id;
char fio[30];
int pas;
int got;
char tgot[6];
int vart;
} s[100];
void Prosmotr_vsey_BD();
void dobavit_sapiz();
void ochistit_BD();
void iz_faila();
void avtor();
void ARG();
void ud_string ();
int main()
{
int k;
ifstream f;
f.open("DAT1.TXT", fstream::app);
f>>k;
f.close();
int vibor = 7;
while (1)
{
if ((1 <= vibor && vibor <= 2) || (4 <= vibor && vibor <= 8) || (vibor == 31) || (vibor == 32) || (vibor == 33))
{
if (vibor == 1)
{
avtor() ;
}
if (vibor == 2)
{
iz_faila();
}
if (vibor == 31)
{
dobavit_sapiz();
}
if (vibor == 32)
{
ud_string () ;
}
if (vibor == 33)
{
ochistit_BD();
}
if (vibor == 4)
{
;
}
if (vibor == 5)
{
;
}
if (vibor == 6)
{
;
}
if (vibor == 7)
{
system("cls");
cout << " MENU:\n";
cout << " 1.Ob Avtore:\n";
cout << " 2.Vvod BD\n";
cout << " 3.Redactirovanie BD:\n";
cout << " 31.dobavit sapiz\n";
cout << " 32.udalit sapiz\n";
cout << " 33.ochistit BD\n";
cout << " 4.Sortirovka AVG:\n";
cout << " 5.Sortirovka DEC:\n";
cout << " 6.Vuvod BD v file:\n";
cout << " 7.Clear consol\n";
cout << " 8.Exit\n\n";
}
if (vibor == 8)
{
break;
}
}
else
{
cout << "ERROR! \n\n";
}
cout << "\n vibor ";
cin >> vibor;
}
return 0;
}
void dobavit_sapiz() //func dobav zapis
{
int k;
ifstream u;
u.open("DAT1.TXT", fstream::app);
u>>k;
u.close();
ofstream f ;
f.open("DAT1.TXT");
int d = k+1;
f<<d;
cout<<"\n id " ;
cin>> s[k].id ;
cout<<"\n FIO " ;
cin>> s[k].fio ;
cout<<"\n Pasport " ;
cin>> s[k].pas ;
cout<<"\n Nomer v otele " ;
cin>> s[k].got ;
cout<<"\n Type otelya ";
cin>> s[k].tgot ;
cout<<"\n Vartist " ;
cin>> s[k].vart ;
//f.open("DAT1.txt");
for(int i =0;i<k+1;i++){
f <<"\n " << s[i].id ;
f <<"\n " << s[i].fio;
f <<"\n " << s[i].pas;
f <<"\n " << s[i].got ;
f <<"\n " << s[i].tgot ;
f <<"\n " << s[i].vart ; }
f.close();
/* cout << "=======================\n";
cout << " ID: "; cin >> s[k].id;
cout << " Name: \n";
cout << " Pasport: "; cin >> s[k].pas;
cout << " Nomer: "; cin >> s[k].got;
cout << " Type: \n";
cout << " Cost: "; cin >> s[k].vart;
cout << "=======================";
cout << "\n\n";
k = k + 1; */
}
void ochistit_BD() //func ochistit BD
{
int k;
ifstream u;
u.open("DAT1.TXT", fstream::app);
u>>k;
u.close();
k = 0;
ofstream f ;
f.open("DAT1.TXT", fstream::trunc);
cout << "BD ydalena! \n\n";
}
//func iz faila
void iz_faila()
{ char c[30];
int k;
int vop;
ifstream f("DAT1.TXT");
cout<<"Base Data : "<<"DAT1.TXT"<<endl;
f>>k;
for(int i=0;i<k;i++){
f>>s[i].id>>s[i].fio>>s[i].pas>>s[i].got>>s[i].tgot>>s[i].vart;
}
cout<<"___________________________________________________________________";
cout<<"\n |ID |Name |Pasport|Nomer|Type |Vartist|";
cout<<"\n |===|==============================|=======|=====|=======|=======|";
for(int i=0;i<k;i++){
printf("\n |%3d|%30s|%7d|%5d|%7s|%7d|",s[i].id,s[i].fio,s[i].pas,s[i].got,s[i].tgot, s[i].vart) ;
cout<<"\n |---|------------------------------|-------|-----|-------|-------";
}
f.close();
}
void avtor()
{cout<< " 1 zadanie" ; //func ob avtore
}
void ARG(){ //nachalo sort
} //konec sort
void ud_string (){ //nachalo ud string
} //konec ud string