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

Файл: Фильтрация входных данных - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Оптимизация, рефакторинг кода http://www.cyberforum.ru/cpp-beginners/thread815200.html
Программа написанная для лаб.работы по предмету "Теория Графов". Программа с задачей перейти из одного способа задания(мб другое слово) графа в другой. Ниже приведен код, где осуществляется переход из способа "Гамма Соответствия" в способ "Матрицы Смежности". Можно ли получить консультацию и оценку кода? Упрощение и прочее. #include <iostream.h> #include <stdlib.h> void main() { ...
C++ Проблемы с мытематической функцией В Visual Studio подчеркивает pow #include "stdafx.h" #include <stdio.h> #include <conio.h> #include <math.h> //#include <stdlib.h> int main (void) { int A; int i, P,min,kol; http://www.cyberforum.ru/cpp-beginners/thread815192.html
C++ Количество положительных чисел в массиве
Добрый вечер, форумчанины! Не могли бы Вы помочь мне написать программу на С++. Сам я новичок в СИ и ничего не понимаю. Короче суть программы такова: "Найти количество положительных чисел в массиве" Заранее спасибо.
Байт в биты в файле C++
Нашёл такую реализацию(вроде бы реализацию, я сам не знаю как она работает) превращения байта символа в биты. Но не могу понять, как собой представляется символ z1 в виде числа чтобы он переписывался в биты при %2? Может я что не так понял, просто это было в реализации кодирования хемминга, что мне предстоит сделать. void cut(int bait); int bit_code; int main() { FILE *f_vxod =...
C++ Программа с использованием вектора http://www.cyberforum.ru/cpp-beginners/thread815167.html
Не могу понять, какой параметр должен передаваться в функцию print. Кроме "i" передавать нечего, но выскакивает ошибка.#include <iostream> #include <stdlib.h> #include <vector> #include <algorithm> #include <cstdlib> using namespace std; void print(int el_em) {
C++ Как выделить предложения в тексте в порядке 2-е 3-е 1-е предложение по нажатию любой клавиши и подсчет букв в этих предложениях на с++ Помогите!Как выделить предложения в тексте в порядке 2-е 3-е 1-е предложение по нажатию любой клавиши и подсчет букв в этих предложениях на с++.Текстовый файл открывается в программе. подробнее

Показать сообщение отдельно
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
25.03.2013, 01:18     Файл: Фильтрация входных данных
Цитата Сообщение от mster-doc Посмотреть сообщение
Вот написал функцию удаления, правда она пока что удаляет все записи.
Тут без вектора не обойтись. Создаётся вектор структур и временная структура. Вводится номер записи, которую нужно удалить. Открывается файл для чтения. Читаются, по очереди, структуры из файла во временную структуру, потом структура помещается в вектор. Когда считывается нужная для удаления, она в вектор не помещается, но запоминается её номер. Дальше нужно менять номера структур, которые будут помещаться в вектор. Следующей считанной структуре, перед помещением в вектор, присваивается номер уделённой, он увеличивается и т.д. Потом открывается файл для чтения с тем же именем, и туда записывается вектор структур.

Добавлено через 2 минуты
Цитата Сообщение от mster-doc Посмотреть сообщение
Не, ну просто тут как выяснилось если опять решить добавлять аккаунты, их порядковый номер опять начинается с 1
Если использовать второй код из 37 поста, то у всех структур будут неповторяющиеся номера, идущие подряд.

Добавлено через 8 минут
Функцию подсчёта нужно так переписать (на случай, что файла ещё нет, а выбрано добавление записи):
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
int c_r()
{
    ifstream fails("credit.dat", ios::binary);
    if (fails.is_open())
    { 
        fails.seekg(0, ios::end);
        int size = fails.tellg(); // size - размер файла в байтах
        fails.close();
  
        int n = size / sizeof(clientData); // количество структур в файле 
        return n;
    }
    return 0;
}
Добавлено через 8 минут
И везде, где есть открытие файла для чтения, сделать обработку ошибки открытия. Например:
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
void find()
{
   clientData client;
   fstream fails; 
   
   fails.open("credit.dat", ios::in | ios::binary);
   if (!fails.is_open()) cout << "The file does not exist!" << endl;
   else
   {
        cout << "\n Enter account number: ";
        int t;
        cin >> t;
 
        cout << setw(10) << "Account" << setw(10) << "Surname"  << setw(10) << "Name" << setw(10) << "Ballance" << endl;
              
        while(fails)
        {      
            fails.read((char*)&client, sizeof(clientData));
            if (client.accNum ==t)
            {
                cout << setw(10) << client.accNum << setw(10) << client.Sur << setw(10) << client.Name << setw(10) << client.balance << endl;
                break;
            } 
        } 
   
        fails.close();
   }
 
}
Добавлено через 6 минут
И обработку ошибки ввода неверного номера аккаунта... И т.д., и т.п. ...
 
Текущее время: 23:59. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru