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

Считывание из файла строк с getline() - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Посчитать в стеке количество элементов между минимальным и максимальным значениями http://www.cyberforum.ru/cpp-beginners/thread1120372.html
Доброго времени суток, господа) Возникла проблема с реализацией. Суть кода: посчитать в стеке количество элементов между минимальным и максимальным значениями. Проблема с функцией search_max_min #include <iostream> #include <conio.h> using namespace std;
C++ Дана прямоугольная матрица b[M][N]. Найти в ней количество максимальных элементов Помогите пожалуйста решить. Дана прямоугольная матрица b. Найти в ней количество максимальных элементов. Элементы матрицы задать с помощью генератора случайных чисел. Значения M, N ввести с клавиатуры. Ограничения: M<=10, N<=10, значения элементов из диапазона . http://www.cyberforum.ru/cpp-beginners/thread1120370.html
Массивы. Расположить элементы в порядке возрастания. Использовать сортировку методом вставок C++
Дан массив a. Расположить его элементы в порядке возрастания. Использовать сортировку методом вставок. Количество и значение элементов массива ввести с клавиатуры. Ограничения: <=100, диапазон значений элементов , тип элементов - вещественные.
\n\r\0 а еще? C++
Собственно кроме \r\n\0 есть ли какие-то обозначения, как в регекспах? Например те же \w \d? Простенькая задачка по парсингу строку, хочется воспринимать делимитром все кроме цифр или букв. Перечислять все подряд как-то тупо, прикручивать регекспы из-за такой мелочи не многим уменее...
C++ Дан текст, в котором слова разделены одним пробелом. а) Подсчитать количество слов в данной строке. б) Подсчитать количество букв а в последнем слове http://www.cyberforum.ru/cpp-beginners/thread1120354.html
Дан текст, в котором слова разделены одним пробелом. а) Подсчитать количество слов в данной строке. б) Подсчитать количество букв а в последнем слове данной строки. в) Найти количество слов, начинающихся с буквы б. г) Найти количество слов, у которых первый и последний символы совпадают между собой. д) Найти длину самого короткого слова. Вот код. Пункт А уже реализован. Подскажите дальше, кто...
C++ как сделать чтобы функция не изменяла переданный в нее двумерный массив в главной программе? вот такая вот программка. не могу понять почему матрица переданная в функцию изменяется в главной функции! подскажите, как этого избежать?)) #include <iostream> #include <conio.h> #include <stdlib.h> using namespace std; подробнее

Показать сообщение отдельно
Дъячелли
0 / 0 / 0
Регистрация: 03.02.2012
Сообщений: 58
08.06.2014, 14:35     Считывание из файла строк с getline()
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
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
#include "stdafx.h"
#include <stdio.h>
#include <conio.h>
#include <iostream>
#include <fstream>
#include <windows.h>
 
#define SIZE 15
#define flashka "I:\\noobs.txt"
 
using namespace System;
using namespace std;
 
class p_1{
public:
    char *name;
    unsigned int count;
    struct tel{
         char *name, //имя телефона 
         *firm, //производитель
         *st; //стандарт связи
    unsigned int battery,
                 bt_stand,
                 bt_work;
    };
    tel *mob;
    
    p_1(void){
        cout << "Количество телефонов " ;
        cin >> count;
        cout << endl;
        mob = new tel[count];
        for(unsigned int i=0;i<count;i++){
            system("cls");
            
            cout << "Данные по " << i+1 << " телефону:" << endl << endl;
            cout << "Название              ";
            mob[i].name = new char[SIZE];
            cin >> mob[i].name;
            cout << endl;
            cout << "Производитель         ";
            mob[i].firm = new char[SIZE];
            cin >> mob[i].firm;
            cout << endl;
            cout << "Стандарт связи        ";
            mob[i].st = new char[SIZE];
            cin >> mob[i].st;
            cout << endl;
            cout << "Заряд батареи         ";
            cin >> mob[i].battery;
            cout << endl;
            cout << "Потребление в работе  ";
            cin >> mob[i].bt_work;
            cout << endl;
            cout << "Потребление в ожид.   ";
            cin >> mob[i].bt_stand;
            cout << endl;
        }
    };
    ~p_1(void){ delete [] mob;};
    friend int run(p_1 *p);
    friend int run_1(p_1 *p);
    //----------------->>>>>>>>>>>
    void write(void){
        if(mob!=NULL){
            ofstream f;
            f.open(flashka);
            cout << "Идет запись в файл" << endl;
            for(unsigned int i=0;i<count;i++){
                f << "name" << i+1 << ":" << mob[i].name << endl;
                f << "firm" << i+1 << ":" << mob[i].firm << endl;
                f << "st" << i+1 << ":" << mob[i].st << endl;
                f << "bttery" << i+1 << ":" << mob[i].battery << endl;
                f << "bt_work" << i+1 << ":" << mob[i].bt_work << endl;
                f << "bt_stand" << i+1 << ":" << mob[i].bt_stand << endl;
            };
            f.close();
            delete [] mob;
            cout << "Запись в файл, упсешно" << endl;
        }else{ cout<< "Записей не существует, прежде чем записывать в файл, создайте запись для телефона" << endl; }
    }
    //----------------->>>>>>>>>>>
    void read(void){
        ifstream f;
        f.open(flashka);
        cout << "Идет чтение из файла" << endl;
        while(!f.eof()){
            for(unsigned int i=0;i<count;i++){  
                getline(f,mob[i].name);
                getline(f, mob[i].firm);
                getline(f, mob[i].st);
                getline(f, mob[i].battery);
                getline(f, mob[i].bt_work);
                getline(f, mob[i].bt_stand);
            };
        };
            f.close();
            cout << "Чтение из файла, упсешно" << endl;
    }
};
class p_2{//абстрактный класс
public:
    virtual void print() = 0;
};
 
class p_3:public p_1, public p_2{
public:
    void print(void){
    if(mob!=NULL){
        for(unsigned int i=0;i<count;i++){
            system("cls");
            cout << "Данные по " << i+1 << " телефону:" << endl << endl;
            cout << "Название              " << mob[i].name << endl;
            cout << "Производитель         " << mob[i].firm << endl;
            cout << "Стандарт связи        " << mob[i].st << endl;
            cout << "Заряд батареи         " << mob[i].battery << endl;
            cout << "Потребление в работе  " << mob[i].bt_work << endl;
            cout << "Потребление в ожид.   " <<mob[i].bt_stand <<  endl;
        }
    }else{cout << "Записи не существует";};
    };
};
 
int main()
{
    SetConsoleCP(1251);// меняет кодировку консоли
    SetConsoleOutputCP(1251);
    
    p_3 p;
    p.write();
    if(p.mob==NULL) cout << "Переменная mob очищена";
    _getch();
    p.print();
    _getch();
    p.read();
    p.print();
    _getch();
    return 0;
}
полностью программа
 
Текущее время: 05:40. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru