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

Разработать процедуры для добавления, форматирования и очистки информации в файле - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Определить слова, в которых первая буква присутствует только один раз; слова, в которых присутствуют только заглавные латинские буквы http://www.cyberforum.ru/cpp-beginners/thread1084112.html
Вводится тест из заглавных и строчных латинских букв, пробелов. Количество символов в тексте не должно превышать 200. Слова разделяются пробелами. Определить и вывести: - слова, в которых первая буква присутствует только один раз; - слова, в которых присутствуют только заглавные латинские буквы. Я искал долго но не нашёл ответа на форуме(
C++ Что это за знак >> прочитал что это сдвиг вправо? что он делает int d=6, c=5,f; f = d >> c; cout<< f; вывод 0 http://www.cyberforum.ru/cpp-beginners/thread1084111.html
Лаба C++
Нужно сделать лабу, задание в фотке, по рисунку самому верхнему левому! Помогите, кому не трудно!
Получить все Пифагоровы тройки натуральных чисел, каждое из которых не более n C++
Дано натуральное число n. Получить все Пифагоровы тройки натуральных чисел, каждое из которых не более n, т.е. все такие тройки натуральных чисел a, b, c, которые удовлетворяют равенство a2 + b2 = c2
C++ Вывести все простые числа из диапазона [a; b]. Определить их количество http://www.cyberforum.ru/cpp-beginners/thread1084090.html
Вывести все простые числа из диапазона . Определить их количество
C++ Знайти середнє арифметичне двозначних чисел, кратних 3 Знайти середнє арифметичне двозначних чисел, кратних 3 подробнее

Показать сообщение отдельно
wl9pa2
2 / 2 / 1
Регистрация: 06.08.2013
Сообщений: 9
29.01.2014, 01:51     Разработать процедуры для добавления, форматирования и очистки информации в файле
stdafx.h
Кликните здесь для просмотра всего текста
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <iostream>
#include <fstream>
#include <string>
#include <vector>
#include <algorithm>
using namespace std;
 
enum {MAX_LENTH = 60};
 
void EatStr (void); // удаляем лишние символы из буфера ввода
 
void AddInfo (const string&); // добавить строку
void ShowFile (const string&); // показать содержимое файла
void FormatFile (const string&); // форматировать файл по заданой длине MAX_LENTH
void ClearFile (const string&); // очистить файл


stdafx.cpp
Кликните здесь для просмотра всего текста

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
#include "stdafx.h"
 
 
void EatStr (void)
{
    while (cin.get() != '\n')
        ;
}
 
void AddInfo (const string& filename)
{
    string str;
    ofstream fout (filename.c_str(), ios::out | ios::app);
    if (!fout.is_open())
    {
        cout << "Error opening file!\n";
        return;
    }
    cout << "Input string to add=>";
    getline (cin, str);
    if (!str.length())
        cout << "You input empty string!\n";
    else
        fout << str << '\n';
    fout.close();
    return;
}
 
 
void ShowFile (const string& filename)
{
    string str;
    vector <string> fileContent;
    ifstream fin (filename.c_str(), ios::in);
    if (!fin.is_open())
    {
        cout << "Error opening file!\n";
        return;
    }
    while (getline(fin, str))
    {
        cout << str << '\n';
        fileContent.push_back (str);
        str.clear();
    }
    fin.close();
    return;
}
 
 
void FormatFile (const string& filename)
{
    int i;
    string str;
    vector <string> fileContent;
    ifstream fin (filename.c_str(), ios::in);
    ofstream fout;
    if (!fin.is_open())
    {
        cout << "Error opening file!\n";
        return;
    }
    while (getline(fin, str))
    {
        while (str.length() < MAX_LENTH) // если строка меньше MAX_LENTH символов, дополним ее пробелами
            str += ' ';
        str[MAX_LENTH - 1] = '.'; // и добавим точку вместо конечного символа
        if (str.length() > MAX_LENTH)
            str.erase (str.begin() + MAX_LENTH, str.end()); // подрежем строку, если она длиннее MAX_LENTH
        fileContent.push_back (str);
        str.clear();
    }
    fin.close();
 
    fout.open (filename.c_str(), ios::out);
    if (!fout.is_open())
    {
        cout << "Error opening file!\n";
        return;
    }
    for (i = 0 ; i < fileContent.size() ; i++)
        fout << fileContent[i] << '\n';
    fout.close();
    cout << "All strings has been formated!\n";
    return;
}
 
 
void ClearFile (const string& fileName)
{
    ofstream fout (fileName.c_str(), ios::trunc);
    if (fout.is_open())
        cout << "File has been cleared!\n";
    else
        cout << "Error opening file!\n";
    return;
}


main программы
Кликните здесь для просмотра всего текста

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
#include "stdafx.h"
 
 
int _tmain(int argc, _TCHAR* argv[])
{
    char key;
    string fileName;
    ifstream fin;
    
    cout << "Input name of file=>"; // файл д.б. в папке с проектом, вводить без расширения
    cin >> fileName;
//  cin.get(); // убираем '\n'
    fileName += ".txt";
 
    cout << "Add information to file - 'a'\nShow content of file - 's'\nFormat file - 'f'\nClear file - 'c'\nTo quit - 'q'\n";
    cout << "What you want to do? =>";
    while (cin >> key && key != 'q')
    {
        EatStr();
        switch (key)
        {
        case 'a':
            AddInfo (fileName);
            break;
 
        case 's':
            ShowFile (fileName);
            break;
 
        case 'f':
            FormatFile (fileName);
            break;
 
        case 'c':
            ClearFile (fileName);
            break;
 
        default:
            cout << "You choise is wrong, please, try again!\n";
            break;
        }
        cout << "What you want to do next? =>";
    }
 
    return 0;
}
 
Текущее время: 17:16. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru