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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
MIra196
0 / 0 / 0
Регистрация: 26.10.2015
Сообщений: 1
#1

Описать структуру с именем NOTE - C++

10.08.2016, 12:58. Просмотров 243. Ответов 4
Метки нет (Все метки)

Создать однофайловое консольное приложение (проект).
В этом проекте описать структуру, соответствующую предметной области вашего индивидуального задания из семинара №6:
Описать структуру с именем NOTE, содержащую следующие поля:
• фамилия, имя;
• номер телефона;
• дата рождения (массив из трех чисел).
Написать программу, выполняющую следующие действия:
• ввод с клавиатуры данных в массив, состоящий из 8 элементов типа NOTE; записи должны быть упорядочены по 3 первым цифрам номера телефона;
• вывод на экран информацию о человеке, чья фамилия введена с клавиатуры;
• если такого нет, выдать на дисплей соответствующее сообщение.


Для хранения данных использовать массив, состоящий из n элементов типа этой структуры. Количество переменных типа структуры (величину n) вводить с клавиатуры в процессе выполнения программы.
Программа должна предлагать меню для выбора режима работы с ней.
Выбрав соответствующую опцию меню, можно производить следующие действия:
1). Вводить данные в структуру двумя способами: из текстового файла и с клавиатуры. Выбор способа ввода должен осуществляться из программы. Возможен вариант, когда в одном сеансе работы часть данных вводится из файла, а часть – с клавиатуры.
2). Просматривать все введенные данные в отсортированном порядке по полю, указанному в вашем индивидуальном варианте.
3). Выводить информацию по запросу с клавиатуры. Если по запросу данных нет, выдать на монитор соответствующее сообщение.
4). Удалять информацию по запросу.
После выполнения выбранного действия, программа снова должна предлагать меню. И так до тех пор, пока пользователь не решит завершить работу с программой.
Действия, выполняемые по каждому пункту меню, должны быть оформлены в программе в виде функций. Для обмена данными использовать глобальные переменные категорически запрещено.
Оформление отчёта должно включать титульный лист, задание, формализацию (если требуется), таблицу имен, блок-схему алгоритма, код программы, представление интерфейса пользователя (скрин-шоты), полное и достаточное тестирование, полученные результаты и выводы о правильности разработанного алгоритма.

PS!
В соответствии с заданием ваше меню может выглядеть к примеру так:
1. Ввод данных из файла
2. Ввод данных с клавиатуры
3. Просмотр всех данных
4. Вывод данных по запросу (указать по какому именно, например, “Вывод данных по номеру поезда”)
5. Удаление данных по запросу.
Введите номер требуемого пункта меню. Для завершения работы нажмите клавишу “Esc”.
Выполнить пункт № ____

Или так:
1. Ввод данных из файла
2. Ввод данных с клавиатуры
3. Просмотр всех данных
4. Вывод данных по запросу (указать по какому именно, например, “Вывод данных по номеру поезда”)
5. Удаление данных по запросу.
Хотите продолжить? (Y/N)
Y
Выполнить пункт № ____ (запрашивать в случае ответа “Y”)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.08.2016, 12:58     Описать структуру с именем NOTE
Посмотрите здесь:

C++ Описать структуру с именем NOTE
C++ Описать структуру с именем NOTE
Описать структуру с именем NOTE C++
C++ Описать структуру с именем NOTE
C++ Описать структуру с именем NOTE
Описать структуру с именем NOTE C++
C++ Описать структуру с именем NOTE
C++ Описать структуру с именем NOTE
Описать структуру с именем Note C++
C++ Описать структуру с именем NOTE
C++ Описать структуру с именем NOTE
Описать структуру с именем NOTE C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
SuperKir
10.08.2016, 13:15
  #2

Не по теме:

Не, ну это уже совсем нагло

Slip.
10.08.2016, 15:06
  #3

Не по теме:

Цитата Сообщение от SuperKir Посмотреть сообщение
Не по теме:
Не, ну это уже совсем нагло


Не по теме:

Может человек работу оплачиваемую предлагает кому-то?

Croessmah
10.08.2016, 15:20
  #4

Не по теме:

Цитата Сообщение от Slip. Посмотреть сообщение
Может человек работу оплачиваемую предлагает кому-то?
Для платных работ есть раздел фриланса.

obivan
Падаван С++
387 / 207 / 54
Регистрация: 11.11.2014
Сообщений: 731
Завершенные тесты: 2
10.08.2016, 16:06     Описать структуру с именем NOTE #5
MIra196,
вот вам пример делал в универе задание похожее, посмотрите как в моем коде было реализовано и сделайте свой, извините но вряд ли за вас все кто то будет делать бесплатно

class Item
Кликните здесь для просмотра всего текста
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
class Item {
private:
    string m_Title;
    string m_InvNumber;
    bool m_State;
public:
    Item::Item() : m_Title(nullptr), m_InvNumber(nullptr), m_State(true) {
    }
    Item::Item(string Title, string InvNumber) : m_State(true) {
        m_Title = Title;
        m_InvNumber = InvNumber;
    }
    Item::Item(Item & obj) {
        m_Title = obj.m_Title;
        m_InvNumber = obj.m_InvNumber;
        m_State = obj.m_State;
    }
    Item::~Item() {
        cout << "Деструктор Item!" << endl;
    }
 
    auto getTitle(void) const { return m_Title; }
    auto getInvNumber(void) const { return m_InvNumber; }
    bool getState(void) const { return m_State; }
 
    void setTitle(string Title) { m_Title = Title; }
    void setInvNumber(string InvNumber) { m_InvNumber = InvNumber; }
    void setState(bool State) { m_State = State; }
    virtual void setAll(void) {
 
    }
 
    void changeState(void) { m_State == true ? m_State = false : m_State = true; }
    virtual void print(void) const {
        cout << " - Title : " << m_Title << endl;
        cout << " - InvNumber : " << m_InvNumber << endl;
        if (m_State) cout << " - State : in library\n" << endl;
        else cout << " - State : Out of library\n" << endl;
    }
};


struct Date
Кликните здесь для просмотра всего текста
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
struct Date {
    int Day : 8;
    int Month : 8;
    int Year : 16;
 
    Date(void) : Day(0), Month(0), Year(0) {
    }
    Date(unsigned Day, unsigned Month, unsigned Year) : Day(Day),Month(Month), Year(Year) {
    }
};
ostream & operator<<(ostream & os, Date someDate) {
    os << someDate.Day << "/" << someDate.Month << "/" << someDate.Year << flush;
    return os;
}


class Magazine
Кликните здесь для просмотра всего текста
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
class Magazine : public Item {
private:
    string m_Volume;
    Date m_Date;
    unsigned m_Number;
public:
    Magazine(void) : Item(), m_Date(), m_Volume(nullptr), m_Number(0) {
    }
    Magazine(string Title, string InvNumber, string Volume, Date someDate, unsigned Number) 
        : Item(Title,InvNumber), m_Date(someDate.Day,someDate.Month, someDate.Year), m_Number(Number) {
        m_Volume = Volume;
    }
    Magazine(Magazine & obj) : Item(obj.getTitle(), obj.getInvNumber()), m_Number(obj.m_Number), 
    m_Date(obj.m_Date.Day, obj.m_Date.Month, obj.m_Date.Year) {
        m_Volume = obj.m_Volume;
    }
 
    unsigned getNumber(void) const { return m_Number; }
    auto getVolume(void) const { return m_Volume; }
    Date getDate(void) const { return m_Date; }
 
    void setVolume(string Volume) { m_Volume = Volume; }
    void setNumber(unsigned Number) { m_Number = Number; }
    void setDate(Date someDate) {
        m_Date.Day = someDate.Day; 
        m_Date.Month = someDate.Month;
        m_Date.Year = someDate.Year;
    }
    void setAll(void) {
        char str[80];
        int tmp;
        Date tmpDate;
        cout << "Введите автора : ";
        cin.getline(str, 80);
        setVolume(str);
        cout << "Введите дату день, месяц, год: ";
        cin.getline(str, 80);
        cin >> tmp;
        tmpDate.Day = tmp;
        cin >> tmp;
        tmpDate.Month = tmp;
        cin >> tmp;
        tmpDate.Year = tmp;
        setDate(tmpDate);
        cout << "Введите название : ";
        cin.getline(str, 80);
        setTitle(str);
        cout << "Введите инвентарный номер : ";
        cin.getline(str, 80);
        setInvNumber(str);
        cout << "Введите номер : ";
        cin >> tmp;
        m_Number = tmp;
    }
 
    virtual void print(void) const override final {
        cout << " - Volume : " << m_Volume << endl;
        cout << " - Title : " << getTitle() << endl;
        cout << " - InvNumber : " << getInvNumber() << endl;
        cout << " - Number : " << m_Number << endl;
        cout << " - Date : " << m_Date << endl;
        if (getState()) cout << " - State : in library\n" << endl;
        else cout << " - State : Out of library\n" << endl;
    }
};


class Book
Кликните здесь для просмотра всего текста
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
class Book : public Item {
private:
    string m_Author;
    string m_Creation;
    unsigned m_Pages;
    unsigned m_Year;
public:
    Book(void) : Item(), m_Author(nullptr), m_Creation(nullptr), m_Pages(0), m_Year(0) {
    }
    Book(string Author, string Creation, string Title, string InvNumber, unsigned Pages, unsigned Year)
        : Item(Title,InvNumber) {
        m_Author = Author;
        m_Creation = Creation;
        m_Year = Year;
        m_Pages = Pages;
    }
    Book(Book & obj) : Item(obj.getTitle(), obj.getInvNumber()) {
        m_Author = obj.m_Author;
        m_Creation = obj.m_Creation;
        m_Pages = obj.m_Pages;
        m_Year = obj.m_Year;
    }
 
    auto getCreation(void) const { return m_Creation; }
    auto getAuthor(void) const { return m_Author; }
    unsigned getPages(void) const { return m_Pages; }
    unsigned getYear(void) const { return m_Year; }
 
    void setCreation(string Creation) { m_Creation = Creation; }
    void setAuthor(string Author) { m_Author = Author; }
    void setYear(unsigned Year) { m_Year = Year; }
    void setPages(unsigned Pages) { m_Pages = Pages; }
    void setAll(void) {
        char str[80];
        int tmp;
        cout << "Введите автора : ";
        cin.getline(str, 80);
        setAuthor(str);
        cout << "Введите издательство : ";
        cin.getline(str, 80);
        setCreation(str);
        cout << "Введите название : ";
        cin.getline(str, 80);
        setTitle(str);
        cout << "Введите инвентарный номер : ";
        cin.getline(str, 80);
        setInvNumber(str);
        cout << "Введите год : ";
        cin >> tmp;
        m_Year = tmp;
        cout << "Введите страницы : ";
        cin >> tmp;
        m_Pages = tmp;
    }
    
    virtual void print(void) const override final {
        cout << " - Author : " << m_Author << endl;
        cout << " - Creation : " << m_Creation << endl;
        cout << " - Title : " << getTitle() << endl;
        cout << " - InvNumber : " << getInvNumber() << endl;
        cout << " - Pages : " << m_Pages << endl;
        cout << " - Year : " << m_Year << endl;
        if (getState()) cout << " - State : in library\n" << endl;
        else cout << " - State : Out of library\n" << endl;
    }
};


class Shelf
Кликните здесь для просмотра всего текста
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
class Shelf {
private:
    vector<Item*> m_ElemList;
    string m_Genre;
    unsigned m_ID;
public:
    Shelf() : m_ID(0), m_Genre("Не указано") {
    }
    Shelf(Item** List, unsigned Count, string Genre, unsigned ID) : m_Genre(Genre), m_ID(ID) {
        setList(List, Count);
    }
    Shelf(const Shelf & obj) : m_Genre(obj.m_Genre), m_ID(obj.m_ID), m_ElemList(obj.m_ElemList) {
    }
 
    auto getGenre(void) const { return m_Genre; }
    auto getID(void) const { return m_ID; }
    auto getElemList(void) const { m_ElemList; }
 
    void setGenre(string Genre) { m_Genre = Genre; }
    void setID(unsigned ID) { m_ID = ID; }
    void setList(Item ** List, unsigned Count) {
        m_ElemList.resize(Count);
        for (int i(0); i < m_ElemList.size(); i++)
            m_ElemList[i] = List[i];
    }
 
    void addElem(Item * elem) { m_ElemList.push_back(elem); }
    void delElem(unsigned index) { m_ElemList.erase(m_ElemList.begin() + index); }
    void print(void) const {
        cout << "\n Genre : " << m_Genre << endl;
        cout << " ID : " << m_ID << "\n" << endl;
        for (int i(0); i < m_ElemList.size(); i++)
            m_ElemList[i]->print();
    }
};


class Handler
Кликните здесь для просмотра всего текста
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
class Handler {
private:
    vector<Shelf*> m_ShelfList;
public:
    Handler(void) {
        Book Books[5] = { { "Oleg", "Donetsk", "Star Wars" , "63GR76", 500, 1975 },
        { "Oleg", "Donetsk", "Star Wars" , "63GR76", 500, 1975 },
        { "Oleg", "Donetsk", "Star Wars" , "63GR76", 500, 1975 },
        { "Oleg", "Donetsk", "Star Wars" , "63GR76", 500, 1975 },
        { "Oleg", "Donetsk", "Star Wars" , "63GR76", 500, 1975 }
        };
        Date Dates[3] = { { 5,10,1995 },{ 18, 11, 2001 },{ 13,5,2008 } };
        Magazine Magazines[3] = { { "Murder" , "65JH43", "Vol.6", Dates[0], 1 },
        { "Murder" , "65JH43", "Vol.6", Dates[1], 2 },
        { "Murder" , "65JH43", "Vol.6", Dates[2], 3 }
        };
 
        Book ** someBooksList = new Book *[5];
        Magazine ** someMagazinesList = new Magazine*[3];
 
        for (int i(0); i < 5; i++)
            someBooksList[i] = new Book(Books[i]);
        for (int i(0); i < 3; i++)
            someMagazinesList[i] = new Magazine(Magazines[i]);
 
        Item ** Items = new Item *[8];
        for (int i(0); i < 5; i++)
            Items[i] = someBooksList[i];
        for (int i(5); i < 8; i++)
            Items[i] = someMagazinesList[i - 5];
 
        Shelf ** someShelf = new Shelf*[1];
        someShelf[0] = new Shelf(Items, 8, "Crimes", 1);
 
        setShelfList(someShelf, 1);
    }
 
    auto getShelfList(void) const { return m_ShelfList; }
    void setShelfList(Shelf ** List, unsigned Count) {
        m_ShelfList.resize(Count);
        for (int i(0); i < m_ShelfList.size(); i++)
            m_ShelfList[i] = List[i];
    }
 
    void addElem(void) {
        char choose;
        int tmpID;
        cout << "Введите ID полки : " << endl;
        choose >> tmpID;
        cout << "выберете какой элемент хотите добавить : " << endl;
        cout << "1 - Книгу." << endl;
        cout << "2 - Журнал." << endl;
        choose = getch(); choose -= char(48);
        Item * tmp;
        switch (choose) {
        case 1:
            tmp = new Book();
            tmp->setAll();
        case 2:
            tmp = new Magazine();
            tmp->setAll();
        }
        for (int i(0); i < m_ShelfList.size(); i++)
            if (m_ShelfList[i]->getID() == tmpID) {
                m_ShelfList[i]->addElem(tmp);
                return;
            }
    }
    void delElem(void) {
        int tmpElem, tmpID;
        cout << "Введите ID полки : ";
        cin >> tmpID;
        cout << "Введите номер элемента который хотите удалить : ";
        cin >> tmpElem;
        for (int i(0); i < m_ShelfList.size(); i++)
            if (m_ShelfList[i]->getID() == tmpID) {
                m_ShelfList[i]->delElem(tmpElem - 1);
                return;
            }
    }
    void addShelf(void) {
        Shelf * tmp = new Shelf();
        char str[80];
        int ID;
        cout << "Введите жанр полки : ";
        cin.getline(str, 80);
        cout << "Введите ID полки : ";
        cin >> ID;
        tmp->setID(ID); tmp->setGenre(str);
        m_ShelfList.push_back(tmp);
    }
    void delShelf(void) {
        int tmpID;
        cout << "Введите ID полки : ";
        cin >> tmpID;
        for (int i(0); i < m_ShelfList.size(); i++)
            if (m_ShelfList[i]->getID() == tmpID) {
                m_ShelfList.erase(m_ShelfList.begin() + i);
                return;
            }
    }
    void print(void) const {
        for (int i(0); i < m_ShelfList.size(); i++)
            m_ShelfList[i]->print();
    }
};
Yandex
Объявления
10.08.2016, 16:06     Описать структуру с именем NOTE
Ответ Создать тему
Опции темы

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