Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
7 / 7 / 7
Регистрация: 26.04.2015
Сообщений: 220
1

Заполнение и выводом содержимого стека на основе массива структур на экран и в файл

15.06.2015, 11:09. Показов 514. Ответов 0
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Структура
C++
1
2
3
4
5
6
7
8
struct Stores
{
    int Number;
    char Title[20];
    char Director[40];
    int Staff;
    int Income;
};
Ввод с клавиатуры. Вводит вроде бы правильно. Периодически выдает Static_stack.exe вызвал срабатывание точки останова.
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
void InputConsole(Stores a[], int length)
{
 
    cout << "-----------------------" << endl;
    for (int i(length); i >0; i--)
    {
        cout << 21-i << ":\n";
    cout << "Введите номер магазина: ";
        while (!(cin >> a[i].Number) || a[i].Number <= 0 || a[i].Number >= 1000000)
        {
            cout << "Ошибка ввода! Повторите!\n\n";
            cout << "Введите номер магазина: ";
            cin.clear();
            while (cin.peek() != '\n') cin.get();
        }
    cout << "Введите название магазина: ";
        cin.get();
        cin.getline(a[i].Title, 20);
    cout << "Введите Ф.И.О директора: ";
        cin.get();
        cin.getline(a[i].Director, 40);
    cout << "Введите количество сотрудников магазина: ";
        while (!(cin >> a[i].Staff) || a[i].Staff <= 0 || a[i].Staff >= 1000000)
        {
            cout << "Ошибка ввода! Повторите!\n\n";
            cout << "Введите количество сотрудников магазина: ";
            cin.clear();
            while (cin.peek() != '\n') cin.get();
        }
    cout << "Введите годовой доход: ";
        while (!(cin >> a[i].Income) || a[i].Income <= 0)
        {
            cout << "Ошибка ввода! Повторите!\n\n";
            cout << "Введите годовой доход: ";
            cin.clear();
            while (cin.peek() != '\n') cin.get();
        }
    }
    MainMenu();
}
Ввод из файла. Вводит кучу букв Н
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
void InputFile(Stores a[], int length)
{
    char filename[80];
    cout << "\nВведите имя файла (чтобы файл сохранился не в текущий каталог надо написать полное имя файла): ";
    cin >> filename;
    ifstream fin(filename); // Связываем файл с потоком вывода в файл
    if (!fin)
    {
        cout << "Файл не найден" << endl;// Проверка файла на существование
    }
    else
    {
        for (int i(length); i > 0; i--)
        {
            char S;
            while (!fin.eof() && i<length)
            {
                fin >> a[i].Number;
                fin >> S;    //Принудительный переход на след строку с захватом одного символа 
                fin.seekg(ios::cur - 2, 1); //Костыль. Был захвачен один символ, возвращаем курсор чуть влево
                fin.getline(a[i].Title, 20);
                fin.getline(a[i].Director, 40);
                fin >> a[i].Staff;
                fin >> a[i].Income;
                delete[] store;
            }
        }
    }
    MainMenu();
}
Выводит не то что внасилось
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
void ShowConsole(const Stores a[], int length)
{
    cout << "Магазины:\n";
    cout << "----------------------------\n";
    for (int i(0); i < length; i++)
    {
        cout << 20-i << " магазин:\n";
        cout << "Номер (ключ): " << a[i].Number << endl;
        cout << "Название: <<" << a[i].Title << ">>" << endl;
        cout << "Ф.И.О. директора: " << a[i].Director << endl;
        cout << "Кол-во сотрудников: " << a[i].Staff << endl;
        cout << "Годовой доход: " << a[i].Income << "$" << endl;
        cout << "----------------------------";
        cout << endl;
    }
    _getch();
}
Миниатюры
Заполнение и выводом содержимого стека на основе массива структур на экран и в файл   Заполнение и выводом содержимого стека на основе массива структур на экран и в файл  
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
15.06.2015, 11:09
Ответы с готовыми решениями:

Заполнение массива структур из файла и вывод на экран/в файл
Есть структура struct tovar { int nomer; char naim; char edizm; int kolvo; ...

Вывод содержимого массива структур на экран
Сваял структуру: #include &lt;stdio.h&gt; #include &lt;string.h&gt; #define SIZE 25 struct date_by_date {...

Пример использование стека на основе массива и на основе двунаправленного списка
здраствуте, можете привести примеры использывания стека на основе массива(1 код) и стек ...

Задание с выводом массива структур
Задание: Объявить структуру, содержащую строки, соответствующие имени и фамилии человека. Создать...

0
15.06.2015, 11:09
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
15.06.2015, 11:09
Помогаю со студенческими работами здесь

Программа реализующая действия со стеком. Формирование и вывод содержимого стека на экран дисплея
Помогите пожалуйста с программой, или приведите пример пример программы реализующей действия со...

Реалилизация стека на основе массива
Напишите пожалуйста реализауию стека на основе массива pyton

Реализация стека на основе массива
Само задание: Реализовать стек на основе массива 1. проверку пустоты стека 2. проверка...

Простейший пример с добавлением/удалением для стека на основе массива
Можно ли привести простейший пример с добавлением/удалением для стека на основе массива ?

Заполнение стека с использованием динамического массива
Помогите пожалуйста, не понимаю в чём ошибка. Стек должен просто должен заполниться и вывестись....

Работа с базами структур - заполнение с клавиатуры и вывод на экран
Пытаюсь разбираться в ассемблере. Не могу понять как работать со структурами. Имеется книга...


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru