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

string массив - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Алгоритм замещения страниц LRU с помощью методов библиотеки STL http://www.cyberforum.ru/cpp-beginners/thread512717.html
Здравствуйте! Мне нужно реализовать алгоритм замещения страниц LRU с помощью методов библиотеки STL. Подскажите пожалуйста, как это сделать лучше всего, чтобы было просто и понятно?
C++ Количество свободного места на диске Мне вообще-то нужно узнать когда заполниться определённый диск, после этого совершить необходимые действия. Поиск на форуме и в интернете результата не дал, прошу помочь в этом вопросе. С Сишкой работал, но на уровне задач и интерфейса, а с дисковым пространством работать не приходилось. http://www.cyberforum.ru/cpp-beginners/thread512687.html
C++ Разобраться в принципе работы задачч. (Работа с динамической памятью через указатели. )
Вот условие задачи: Создать массив из N целых чисел, N вводит пользователь. Заполнить массив случайным образом в диапазоне от 1 до 12. Каждое число это оценка по 12-ти бальной системе. Перевести эти оценки в 5-ти бальную систему, где двойка от 1 до 3 включительно, тройка от 4 до 6, четверка от 7 до 9, пятерка от 10 до 12. Пользуясь указателем на массив целых чисел, посчитать процент двоек,...
C++ Проблемки со строкой
// filework.cpp : Defines the entry point for the console application. // #include "stdafx.h" #include <iostream> #include <fstream> #include "stdafx.h" #include <stdlib.h> #include <stdio.h> #include <conio.h>
C++ Массивы, нахождение отрицательного элемента! http://www.cyberforum.ru/cpp-beginners/thread512658.html
найти в массиве отрицательный элемент и записать его в другой массив...не умею записать отрицательный элемент массива в другой массив то есть не знаю как из одной строчки данного массива записать в нужный нам массив больше 1-го значения мой код; ... int const k=5; int vid; for(int i=0;i<n;i++){ for(int j=0;j<m;j++){ if(mas<0) vid=mas;//?????
C++ Анализ встречающихся слов в файле Составить программу, анализирующую или обрабатывающую файл Input.txt(он должен содержать несколько строк, оканчивающихся символом перевода строки). Проанализировать содержимое файла и вывести количество встречающихся в нем слов(заданных в программе) на экран и в файл output.txt в следующем виде: example: anything 1 to 2 write 2 Список анализируемых слов должен составлять 5-10 слов и... подробнее

Показать сообщение отдельно
EpicLove
46 / 2 / 0
Регистрация: 19.04.2011
Сообщений: 48
05.03.2012, 16:04  [ТС]
ЗЫ А лучше выкладывайте задание!
Задание :
4 Требования к программному изделию.
4.1 Требования к функциональным характеристикам
4.1.1 Система должна обеспечить выполнение следующих функций:
• создание текстового файла о счетах клиентов банка;
• добавление нового счета клиента;
• обновление счета клиента;
• удаление счета клиента.
4.1.2 Исходные данные:
• номер счета клиента (от 1 до 100);
• фамилия;
• имя;
• баланс клиента.
4.1.3 Результаты:
• список счетов клиентов банка;
• сведения о новом счете клиента банка;
• сведения об обновлении счета клиента банка;
• сведения об удалении счета клиента банка.
4.2 Требования к надежности
4.2.1 Предусмотреть контроль открытия файлов.
4.2.2 Предусмотреть контроль ввода номера счета
(от 1 до 100)
4.3 Требования к составу и параметрам технических средств
4.3.1 Система должна работать на ПК IBM PC
4.3.2 Минимальная конфигурация:
• тип процессора – Pentium;
• объем ОЗУ – 32 Мб
4.4 Требования к информационной и программной
совместимости.
Добавлено через 4 минуты
Логин : 1
Пароль : 2
|| Меню ||
1. Создание TXT-файла
2. Добавить счет
3. Обновление счета
4. Удаление счета
5. Выйти

Введите цифру выбранного вами действия : 2
Для продолжения нажмите любую клавишу . . .
А мне надо, когда нажимаешь на 2 , то должен быть доступ для ввода и запись сразу в файл.

Структуру сделал так :

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
            struct bank
            {
            protected:
            /* Массивы для записи в файл */
                    int account[99];
                    char lname[15];
                    char name[15];
                    short balance[10];
            /* Массивы для записи в файл */
            public:
                void getBank()
                {
                    cout << "Введите номер счета: "; cin >> account[99];
                    cout << "Введите Фамилию: "; cin >> lname[15];
                    cout << "Введите Имя: "; cin >> name[15];
                    cout << "Какой баланс будет на счету: "; cin >> balance[20];
                }
            };
Нужно что бы account lname name и balance записывались в файл.

Сделал по примеру из учебника :

C++
1
2
                ofstream outfile("C:\\Счета.txt", ios::binary );
                    outfile.write (reinterpret_cast<char*>(&b), sizeof(b));
Но когда перехожу на действие под цифрой "2" в файл записывается лишь "МММММММММММММММММММММ...."

Добавлено через 16 минут
Немного прочитал про ввод данных файл и по массивам.

Сделал так :

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
// Lab_1.cpp : Defines the entry point for the console application.
//
 
#include "stdafx.h"
#include <iostream>
#include <fstream>
#include <stdio.h>
#include <string>
using namespace std;
 
int main()
{
            setlocale(LC_ALL,"Russian"); // русский язык !1!111! ^^,
 
    struct bank
            {
            protected:
            /* Массивы для записи в файл */
                    int account[99];
                    string lname[15];
                    string name[15];
                    int balance[20];
            /* Массивы для записи в файл */
            public:
                void getBank()
                {
                    cout << "Введите номер счета: "; cin >> account[99];
                    cout << "Введите Фамилию: "; cin >> lname[15];
                    cout << "Введите Имя: "; cin >> name[15];
                    cout << "Какой баланс будет на счету: "; cin >> balance[20];
                }
            };
    int x, login, password;
    bank b;
    login = 1;
    password = 2;
    cout << "Логин : "; 
    cin >> login;
    cout << "Пароль : ";
    cin >> password;
 
    if (login !=1 || password != 2)
    {
        cout << "Эй , не взламывай мою систему! >:[" << endl;
        return main();
    }
        cout << "|| " << " Меню " << " ||" << endl;
        cout << "1. Создание TXT-файла" << endl;
        cout << "2. Добавить счет" << endl;
        cout << "3. Обновление счета" << endl;
        cout << "4. Удаление счета" << endl;
        cout << "5. Выйти" << endl << endl;
 
 
        cout << "Введите цифру выбранного вами действия : ";
        cin >> x;
 
    if (x == 1)
            {
                ofstream file("C:\\Счета.txt", ios::out);
                
                /* TODO: Закцикливаеться при "yes", а при "no" мгновенный выход. 
                cout << "Вернуться в начальное меню ?" << endl;
                cin >> yes_no;
                    
                 if (yes_no = true)
                {
                    return main();
                }
                else if (yes_no = false)
                {
                    exit(1);
                }*/ 
            }
        if (x == 2)
            { /* TODO: Создать массив который будет добавлять 
                        Счет        Фамилия     Имя     Баланс
                        account[]       lname[]    name[]  balance[]
                TODO: Нужно создать вводимый мной массив
              */
            b.getBank();
                ofstream outfile("C:\\Счета.txt", ios::binary );
                    outfile.write (reinterpret_cast<char*>(&b), sizeof(b));                
            }
        if (x == 3)
            {
                cout << "Хм... ладно, сделаем нумерацию счетов 1-2-3 до 100 и будем обновлять эти счета по строкам" << endl;
            }
        if (x == 4)
            { // В банке счета не удаляют, их закрывают - в конце строки после номера счета нужно добавлять "Закрыто"
                cout << "Удалеяем нумерацию счета 1-2-3-4, если удаляем 3 счет, то предыдущий счет не должен изменяться" << endl;
            }
 
system("PAUSE");
 
}
Но когда доходит до ввода Баланс, выдает ошибку
Unhandled exception at 0x5c45155b (msvcp80d.dll) in Lab_1.exe: 0xC0000005: Access violation writing location 0xcccccccc.
Думаю ошибка где-то тут

ofstream outfile("C:\\Счета.txt", ios::binary );
outfile.write (reinterpret_cast<char*>(&b), sizeof(b));

Так-же запись в файл идет символами "ММММММММММ ММММММММ"

-------------------
Мат убрал, извиняюсь.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru