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

Реализовать поиск по заданному полю в массиве объектов ползовательского типа (структуры) - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Начинающий фараон хочет показать пирамиду http://www.cyberforum.ru/cpp-beginners/thread1733724.html
Добрый день, уважаемые форумчане. Я написал программу, которая строит пирамиду с числом ярусов, которое указывает пользователь. Не мог ли я где-то сократить себе дорогу? Может ли данная задача решаться одной или двумя переменными вместо трёх, как у меня? (Работал в CB 16.01) #include <iostream> using namespace std;
C++ В заданной матрице определить количество строк , не содержащих ни одного нулевого элемента Данная целочисленная прямоугольная матрица . Определить количество строк , не содержащих ни одного нулевого элемента. http://www.cyberforum.ru/cpp-beginners/thread1733698.html
C++ Ввод - Вывод объекта в файл
Программа вылетает при запуске, не буду скидывать весь код, он достаточно большой, функция save сохраняет объект в файл, после ее добавления все работало, но когда добавил функцию get_base (), которая должна считывать объект с файла, все крашнулось. Person prs(0) - конструктор обнуляющий обьект, persons - вектор состоящий из обьектов Persons. persons.push_back(prs); - добавления обьекта в вектор....
Работа с функцией C++
C++ Определить является ли список симметричным http://www.cyberforum.ru/cpp-beginners/thread1733666.html
Дан список из n целых чисел {a}_{1},{a}_{2},...,{a}_{n}.Определить является ли он симметричным.
C++ Работа с использованием рекурсивной функции Перепечатывайте задание на форум. подробнее

Показать сообщение отдельно
ConWor
0 / 0 / 0
Регистрация: 13.05.2016
Сообщений: 6
14.05.2016, 14:05  [ТС]     Реализовать поиск по заданному полю в массиве объектов ползовательского типа (структуры)
Немного изменил программу, проблема с добавлением решилась, но появилась другая проблема, при печати данных на экран поле name одинаково для всех записей структуры.
Вот код:
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
#include <string.h>
#include <iostream>
#include <fstream>
#include <stdio.h>
#include <conio.h>
 
using namespace std;
 
struct paper                //Объявление структуы
{
    string name;
    int cost; 
    int number; 
}; 
 
struct paper p; 
void input();
void print();
void add();
 
main()
{
char c;
while (true)                                    // Меню
{
    puts("\n");
    puts("1. New");
    puts("2. Print");
    puts("3. Add");
    puts("0. Exit");
    c = getch();
    switch(c)
    {
        case '1': input();break;
        case '2': print();break;
        case '3': add();break;
        case '0': return 0;
        default: puts("wrong key");
    }
}
return 0;
}
 
void input() //Новая структура
{
    char ch;
    do
    {
        cout << "Vvedite nazvanie "; cin >> p.name;
        cout << "Vvedite cenu "; cin >> p.cost;
        cout << "Vvedite tiraj "; cin >> p.number;
        ofstream out("1.txt",ios::binary|ios::out);
        out.write((char*)&p,sizeof p); //Записали всю структуру целиком
        out.close();
        cout << "Vse? y/n ";
        cin >> ch;
    }
    while (ch != 'y');
}
 
void print () //Вывод структуры на экран
{
    ifstream in("1.txt",ios::binary|ios::in);
    in.read((char*)&p,sizeof p); //Читаем структуру целиком сразу
    while (!in.eof())
    {
        cout << " Name "<< p.name << " Price "<< p.cost << " Number " << p.number << "\n";
        in.read((char*)&p,sizeof p);
    }
    in.close();
    getch();
}
 
void add() //Добавление записей в структуру
{   
    char ch;
    ofstream add("1.txt",ios::binary|ios::app);
    do
    {
        cout << "\n Name ";
        cin >> p.name;
        cout << "\n Price ";
        cin >> p.cost;
        cout << "\n Number ";
        cin >> p.number;
        add.write((char*)&p,sizeof p); //Записали всю структуру целиком
        cout << "\n Exit y/n? ";
        ch = getch();
    }
    while(ch != 'y');
    add.close();
}
А вот скррин работы программы:
Реализовать поиск по заданному полю в массиве объектов ползовательского типа (структуры)

Помогите пожалуйста.
 
Текущее время: 18:04. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru