Добавить элемент с номером К
Код:
#include<iostream.h>
#include <conio.h>
#include<iomanip>
#include<fstream.h>
struct student
{
char lastname[15],name[10],secondname[30],edres[40],grup[50];
float reiting;
};
main()
{
ofstream fout(" student.txt",ios_base::out|ios_base::trunc);
student mas[30];
for(int i=0; i<3; i++)
{
cout<<"vvedi lastname";
cin>>mas[i].lastname;
fout<<mas[i].lastname<<" ";
cout<<"vvebi name";
cin>>mas[i].name;
fout<<mas[i].name<<" ";
cout<<"vvedi secondname";
cin>>mas[i].secondname;
fout<<mas[i].secondname<<" ";
cout<<"vvedi edres";
cin>>mas[i].edres;
fout<<mas[i].edres<<" ";
cout<<"vvedi grup";
cin>>mas[i].grup;
fout<<mas[i].grup<<" ";
cout<<"vvedi reiting";
cin>>mas[i].reiting;
fout<<mas[i].reiting<<" ";
}
float reiting;
cout<<"vvedi mne reiting" ;
cin>>reiting;
fout.close();
ofstream fout1(" student.txt",ios_base::out|ios_base::trunc);
for(int i=0; i<3; i++)
if(mas[i].reiting>=reiting)
{
fout1<<mas[i].lastname<<" ";
fout1<<mas[i].name<<" ";
fout1<<mas[i].secondname<<" ";
fout1<<mas[i].edres<<" ";
fout1<<mas[i].grup<<" ";
fout1<<mas[i].reiting<<" ";
}
fout1.close();
cout<<"vvedi lastname";
cin>>mas[k].lastname;
fout<<mas[k].lastname<<" ";
cout<<"vvedi name";
cin>>mas[k].name;
fout<<mas[k].name<<" ";
cout<<"vvedi name";
cin>>mas[k].name;
fout<<mas[k].name<<" ";
cout<<"vvedi secondname";
cin>>mas[k].secondname;
fout<<mas[k].secondname<<" ";
cout<<"vvedi edres";
cin>>mas[k].edres;
fout<<mas[k].edres<<" ";
cout<<"vvedi grup";
cin>>mas[k].grup;
fout<<mas[k].grup<<" ";
cout<<"vvedi reiting";
cin>>mas[k].reiting;
fout<<mas[k].reiting<<" ";
float k;
cout<<"vvedi mne nomer k" ;
cin>>k;
getch();
}
#include <conio.h>
#include<iomanip>
#include<fstream.h>
struct student
{
char lastname[15],name[10],secondname[30],edres[40],grup[50];
float reiting;
};
main()
{
ofstream fout(" student.txt",ios_base::out|ios_base::trunc);
student mas[30];
for(int i=0; i<3; i++)
{
cout<<"vvedi lastname";
cin>>mas[i].lastname;
fout<<mas[i].lastname<<" ";
cout<<"vvebi name";
cin>>mas[i].name;
fout<<mas[i].name<<" ";
cout<<"vvedi secondname";
cin>>mas[i].secondname;
fout<<mas[i].secondname<<" ";
cout<<"vvedi edres";
cin>>mas[i].edres;
fout<<mas[i].edres<<" ";
cout<<"vvedi grup";
cin>>mas[i].grup;
fout<<mas[i].grup<<" ";
cout<<"vvedi reiting";
cin>>mas[i].reiting;
fout<<mas[i].reiting<<" ";
}
float reiting;
cout<<"vvedi mne reiting" ;
cin>>reiting;
fout.close();
ofstream fout1(" student.txt",ios_base::out|ios_base::trunc);
for(int i=0; i<3; i++)
if(mas[i].reiting>=reiting)
{
fout1<<mas[i].lastname<<" ";
fout1<<mas[i].name<<" ";
fout1<<mas[i].secondname<<" ";
fout1<<mas[i].edres<<" ";
fout1<<mas[i].grup<<" ";
fout1<<mas[i].reiting<<" ";
}
fout1.close();
cout<<"vvedi lastname";
cin>>mas[k].lastname;
fout<<mas[k].lastname<<" ";
cout<<"vvedi name";
cin>>mas[k].name;
fout<<mas[k].name<<" ";
cout<<"vvedi name";
cin>>mas[k].name;
fout<<mas[k].name<<" ";
cout<<"vvedi secondname";
cin>>mas[k].secondname;
fout<<mas[k].secondname<<" ";
cout<<"vvedi edres";
cin>>mas[k].edres;
fout<<mas[k].edres<<" ";
cout<<"vvedi grup";
cin>>mas[k].grup;
fout<<mas[k].grup<<" ";
cout<<"vvedi reiting";
cin>>mas[k].reiting;
fout<<mas[k].reiting<<" ";
float k;
cout<<"vvedi mne nomer k" ;
cin>>k;
getch();
}
1)использовать массив структуры student и уже в массив добавлять К а потом записывать из массива
2)использовать методы seekp,seekg для установки указателей чтения\записи в потоке, и функции tellp,tellg для получения указателей чтения\записи
Код:
ofstream fout1(" student.txt", ios_base::out | ios_base::trunc);
так же ошибка заключается в том что ты 2раза открываешь поток fout и fout1 для вывода туда информации..
второй раз тебе нужно
Код:
ifstream fout1("название файла", ios::in)
Кстати, вместо массивов чаров лучше использовать стринги.
ПыСы: убыв бы за такой транслит.
Цитата: koodeer
Не использовать массив. Использовать std::vector. Для вставки - метод insert.
Кстати, вместо массивов чаров лучше использовать стринги.
ПыСы: убыв бы за такой транслит.
Кстати, вместо массивов чаров лучше использовать стринги.
ПыСы: убыв бы за такой транслит.
чем массив неугодил?
Цитата: ProkletyiPirat
2варианта
1)использовать массив структуры student и уже в массив добавлять К а потом записывать из массива
2)использовать методы seekp,seekg для установки указателей чтения\записи в потоке, и функции tellp,tellg для получения указателей чтения\записи
//зачем удалять??? справка вот я спрашиваю как потомучто не работает
так же ошибка заключается в том что ты 2раза открываешь поток fout и fout1 для вывода туда информации..
второй раз тебе нужно
1)использовать массив структуры student и уже в массив добавлять К а потом записывать из массива
2)использовать методы seekp,seekg для установки указателей чтения\записи в потоке, и функции tellp,tellg для получения указателей чтения\записи
Код:
ofstream fout1(" student.txt", ios_base::out | ios_base::trunc);
так же ошибка заключается в том что ты 2раза открываешь поток fout и fout1 для вывода туда информации..
второй раз тебе нужно
Код:
ifstream fout1("название файла", ios::in)
Если можно по подробнее об ошибках и как доделать чтоб зароботало
первое открытие задает массив и величину и удаляет если меньше либо равно а вот со вставкой я ни че не понял
Цитата: #include<
,name[10],secondname[30],edres[40],grup[50];
float reiting;
};
main()
{
ofstream fout(" student.txt",ios_base::out|ios_base::trunc);
student mas[30];
for(int i=0; i<3; i++)
{
cout<<"vvedi lastname";
cin>>mas.lastname;
fout<<mas.lastname<<" ";
cout<<"vvebi name";
cin>>mas.name;
fout<<mas.name<<" ";
cout<<"vvedi secondname";
cin>>mas.secondname;
fout<<mas.secondname<<" ";
cout<<"vvedi edres";
cin>>mas.edres;
fout<<mas.edres<<" ";
cout<<"vvedi grup";
cin>>mas.grup;
fout<<mas.grup<<" ";
cout<<"vvedi reiting";
cin>>mas.reiting;
fout<<mas.reiting<<" ";
}
float reiting;
cout<<"vvedi mne reiting" ;
cin>>reiting;
fout.close();
ofstream fout1(" student.txt",ios_base::out|ios_base::trunc);
for(int i=0; i<3; i++)
if(mas.reiting>=reiting)
{
fout1<<mas.lastname<<" ";
fout1<<mas.name<<" ";
fout1<<mas.secondname<<" ";
fout1<<mas.edres<<" ";
fout1<<mas.grup<<" ";
fout1<<mas.reiting<<" ";
}
fout1.close();
maksimus44;85494]первое открытие задает массив и величину и удаляет если меньше либо равно а вот со вставкой я ни че не понял
float reiting;
};
main()
{
ofstream fout(" student.txt",ios_base::out|ios_base::trunc);
student mas[30];
for(int i=0; i<3; i++)
{
cout<<"vvedi lastname";
cin>>mas.lastname;
fout<<mas.lastname<<" ";
cout<<"vvebi name";
cin>>mas.name;
fout<<mas.name<<" ";
cout<<"vvedi secondname";
cin>>mas.secondname;
fout<<mas.secondname<<" ";
cout<<"vvedi edres";
cin>>mas.edres;
fout<<mas.edres<<" ";
cout<<"vvedi grup";
cin>>mas.grup;
fout<<mas.grup<<" ";
cout<<"vvedi reiting";
cin>>mas.reiting;
fout<<mas.reiting<<" ";
}
float reiting;
cout<<"vvedi mne reiting" ;
cin>>reiting;
fout.close();
ofstream fout1(" student.txt",ios_base::out|ios_base::trunc);
for(int i=0; i<3; i++)
if(mas.reiting>=reiting)
{
fout1<<mas.lastname<<" ";
fout1<<mas.name<<" ";
fout1<<mas.secondname<<" ";
fout1<<mas.edres<<" ";
fout1<<mas.grup<<" ";
fout1<<mas.reiting<<" ";
}
fout1.close();
maksimus44;85494]первое открытие задает массив и величину и удаляет если меньше либо равно а вот со вставкой я ни че не понял