Форум программистов, компьютерный форум CyberForum.ru

Написать функцию поиска и удаления в структуре - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Неправильный результат char http://www.cyberforum.ru/cpp-beginners/thread1154080.html
Здраствуйте, есть клиент сервер. От клиента идет строка LOGIN_PASS:555|555 сервер принимает и пишет в char buf, мне нужно ее обрезать до символа :, получается команда LOGIN_PASS: все команды одинаковой длины 11 символов. Поэтому делаю так char Comannd; strncpy(Comannd,buf,10); Результат на снимки, как видим есть лишние символы непонятного происхождения, я думал сначало выхожу за...
C++ Разработать приложение, которое создает несколько потоков и производит в них вычисления Разработать приложение, которое создает несколько потоков и производит в них вычисления. Количество потоков должно задаваться при запуске программы. Определить время вычислений при разном количестве потоков, объяснить результат. http://www.cyberforum.ru/cpp-beginners/thread1154059.html
C++ Вычислить последовательность по формуле и записать ее в файл
Дано натуральное число n=10. Записать в файл g.txt последовательность чисел b1, b2,....bn, определенных за формулой {b}_{i}={2}^{i}/i! . i=1,2,3,...n Заранее большое спасибо.
C++ Программа для нахождения строки с наибольшим кол-вом заданного символа
Такая задача, хотелось бы посмотреть алгоритм, помогите, если есть время(: В тексте найти номер строки с наибольшим количеством заданного символа. Требования: массив строки не формировать, строки вводить и анализировать, пока не введем в строке подстроку "END". Файлы и ООП желательны, но необязательны.
C++ Создать несколько объектов (например, a и b) разработанного класса. Класс – вектор (одномерный массив) http://www.cyberforum.ru/cpp-beginners/thread1154035.html
класс, то он должен включать: - компоненты данные - методы: а) конструктор по умолчанию; б) конструктор с параметрами; в) конструктор копирования; г) деструктор; д) методы класса для работы с данными. Создать несколько объектов (например, a и b) разработанного класса. Класс – вектор (одномерный массив). Реализовать для объектов данного класса перегрузку операции - = ( a - = b; )...
C++ Определить, какой элемент двумерного массива меньше: расположенный в нижнем правом или в нижнем левом углу Описать Какой элемент двумерного массива меньше: расположенный в нижнем правом или в нижнем левом углу; Какой элемент двумерного массива меньше: расположенный в верхнем правом или в нижнем левом углу. подробнее

Показать сообщение отдельно
MonoRec
1 / 1 / 0
Регистрация: 24.11.2013
Сообщений: 84
22.04.2014, 16:43     Написать функцию поиска и удаления в структуре
Помогите написать функцию поиска и удаления в структуре!

Поиск(При вводе имя животного, выдавала все данные о нём!)

Удаление(Например записано 5 животных, при нажатия цифры 3, удаляеться 3 животное из списка)

Вот код программы с функциями добавления, просмотра.
Код:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
#include <iostream>
#include <fstream>
 
using namespace std;
 
 
struct Animal{
    char name [20];
    char code [6];
    float kg;
};
void search();
void see();
void add();
int main()
{ setlocale(LC_ALL, "Russian");
 
    int c;
    do
    {
system("cls"); 
cout<<"\t Меню: *"<<endl;
cout<<"\t 1.Просмотр животных"<<endl;
cout<<"\t 2.Добавление животных"<<endl;
cout<<"\t 3.Поиск животного"<<endl;
 
cin>>c;
 
    switch (c) 
 {
    case 1: 
    system("cls"); 
    see();
    break; 
 
    case 2:
    system("cls"); 
    add();
    break; 
 
    case 3:
    system("cls"); 
    //search();
    break; 
 
    case 4:
    system("cls"); 
    //del();
    break; 
 
 
 system("Pause");
 return 0; 
    }
}
while (c<5); 
cout<<"Bye Bye!";
system("Pause");
return 0;    
}
 
 
 
void add()
{
cout<<"Сколько животных вы хотите добавить> ";
int n;
cin>>n;
Animal * Animals= new Animal[n];
for(int i=0; i<n; i++)
{
cout<<"---------Номер животного----------["<<i+1<<"] "<<endl;
cout<<"\t1.Имя: ";
cin>>Animals[i].name;
cout<<"\t2.Код: ";
cin>>Animals[i].code;
cout<<"\t3.Кг: ";
cin>>Animals[i].kg;
}
ofstream fo("Animals.txt", ios::app|ios::binary);
if(!fo)
fo.open("Animals.txt", ios::out|ios::binary);
for(int i=0; i<n; i++)
fo.write((char*)&Animals[i], sizeof(Animal));
cout<<"All information has been written\n\n";
fo.close();
}
 
void see()
{
ifstream fi("Animals.txt", ios::binary);
if(!fi) cout<<"Error with file\n";
else {fi. seekg(0,ios::end);
int size=fi.tellg();
size=size/sizeof(Animal);
Animal * Animals_1= new Animal[size];
fi.seekg(0, ios::beg);
fi.read ((char*)Animals_1,sizeof(Animal)*size);
for(int i=0; i<size; i++)
cout<<Animals_1[i].name<<Animals_1[i].code<<Animals_1[i].kg<<"\n";
system("Pause");
}
}
 
  //  void search(){}
 
  //void del(){}
Добавлено через 3 часа 17 минут
С поискам разобрался! Помогите с удаление!
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 01:55. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru