Здравствуйте, может кто-то рассказать и показать как правильно заполнять, выводить список который основан на структуре с 5 элементами разных типов, например:
struct my {
char name[20];
float amount;
int number;
};
и как искать элементы списка.
void search(float point){
Students *tmp=head;
while (tmp!=0){
//for (int a=0;a<3;a++){
if (tmp->average_point>point){
cout << "Match";
cout << tmp->average_point;
search(point);
break;
}
else{
tmp=tmp->Next;
}
}
}
при таком поиске выводится только один элемент, а как сделать что бы выводились все элементы которые попадают в условие?
Попробуйте так. Оператор break, после первого нахождения прерывал вам цикл. Выполнялось только тогда, когда if не совпадал, не правильно, должно выполняться в любом случае.
else{
tmp=tmp->Next;
}
И мне не понятно зачем вы вызываете опять функцию search(point);
Вот переделал, что вышло у меня
void search(float point){
Students *tmp=head;
while (tmp!=0){
//for (int a=0;a<3;a++){
if (tmp->average_point>point){
cout << "Match";
cout << tmp->average_point;
}
tmp=tmp->Next;
}
}
Вот вам пример, правда я тут использую класс person вместо структуры, а в качестве списка(массива) у меня выступает Vector. Ну вы можете спокойно использовать другие виды списков(листы, очередь), всё зависит от ситуации.
//Запись в файл
void RabotaAccount::wrt()
{
vector <person>::iterator iter1;
ofstream file;
file.open("GROUP.DAT", ios::trunc);
int n = 0;
iter1 = persVector.begin();
while(iter1 != persVector.end())
{
cout << (*iter1);
file.write( reinterpret_cast<char*>(&(*iter1)), sizeof((*iter1)) );
*iter1++;
n++;
}
cout << n <<endl;
persVector.clear();
file.close();
}
//вывод данных в память
void RabotaAccount::readPolz()
{
person pers;
fstream file;
persVector.clear();
file.open("GROUP.DAT", ios::app | ios::out |
ios::in);
file.seekg(0); //reset to start of file
//read first person
file.read( reinterpret_cast<char*>(&pers), sizeof(pers) );
while( !file.eof() ) //quit on EOF
{
//display person
persVector.push_back(pers);
//read another person
file.read( reinterpret_cast<char*>(&pers), sizeof(pers) );
}
file.close();
}
Виртуальный выделенный сервер (VDS) становится отличным выбором
Необходимо считать строку формата: Фамилия "пробел" Инициалы(СН
Есть ли какие-нибудь примерыклиент-серверного чата с передачей файлов? либо просто кусок кода с передачейПомогите, пожалуйста
Как удалить символ в массиве *сhar с использованием пользовательской функции?
Добавление сайта в известные поисковые системы Google, Yandex, Bing, Yahoo, ...