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

Строки в консоли и файлах(потоках).Зацикливание - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Класс, производный класс, паблик-класс http://www.cyberforum.ru/cpp-beginners/thread996191.html
Задание: Создать класс колесо, которое имеет радиус. Определить конструкторы и метод доступа. Создать класс машин, содержащий класс колесо. Дополнительно есть марка (указатель на строку), цена. Определить конструкторы и деструктор. Определить public-производный класс грузовик, имеет дополнительно грузоподъемность. Определить конструкторы, деструктор и функцию печати Это моя первая попытка...
C++ покупка товара Вообщем суть проблемы: мне надо сделать такое задание: Создайте программу: с базовым классом Справочник, который включает в себя следующие данные-элементы: • Наименование продукции; • Код продукции; методы – конструкторы, деструктор, show() базовым классом Остатки на начало месяца: • Остатки на начало месяца; методы – конструкторы, деструктор, show() Производный класс Сведения о выпуске... http://www.cyberforum.ru/cpp-beginners/thread996178.html
Злой компилятор C++
Почему в данной программе компилятор ругается на строку 2019 и 1120 ? #include <iostream> using namespace std; struct Distance { int feet; float inches; };
Дан текстовый файл с неизвестным количеством вещественных чисел. Написать функцию для определения числа, имеющего максимальную и минимальную дробную ч C++
Доброго дня всем! помогите пожалуйста!! Для Borland C++ 6 Дан текстовый файл с неизвестным количеством вещественных чисел. Написать функцию для определения числа, имеющего максимальную и минимальную дробную часть
C++ Выполнение pe из массива байт http://www.cyberforum.ru/cpp-beginners/thread996170.html
Здравствуйте All. Имеется массив байт (исполняемый файл) в проекте подключен как заголовочный файл после компиляции к которому я могу обращаться. Резервирую память, выделяю, а дальше необходим механизм запуска exe из этого массива. Просмотрел много разной информации на эту тему, но никак не пойму куда "парсить" заголовки по какому адресу лучше размещать этот массив (pe), создавать ли процесс...
C++ использовать функцию #include <iostream> using namespace std; int main() { setlocale(0,""); int n; cout << "Задайте размерность массивов:\n "; cin >> n; подробнее

Показать сообщение отдельно
dzrkot
zzzZZZ...
518 / 348 / 53
Регистрация: 11.09.2013
Сообщений: 1,994
04.11.2013, 18:44     Строки в консоли и файлах(потоках).Зацикливание
Цитата Сообщение от triadec_96 Посмотреть сообщение
Можете посоветовать пожалуйста какой-то другой алгоритм,ато я уже совсем запутался.
ну я бы сделал след образом, создаем файл, заполняем его как "название улицы , кол-во зданий, год", заполнял бы названия улиц через string, потом int - кол-во зданий, и int - год(ну или в 1 стринг черещ пробелы, тут не особо разница), это была бы одна строка. Всё это было бы в цикле, его можно либо организовать по кол-ву строк, либо бесконечно до ввода контрольного слова , например "quit/exit" итп
затем возвращаемся в начало файла через f.clear(); f.seekg(0); , и начинаем считывать либо в структуру, либо в массив, либо в объект, тут уже придумать можно много, либо считывая кол-во зданий от ' ' до ' ', а года от ' ' до '\n' , либо проверяя являются ли они частями( есть готовые функции в STL), либо игнорируя сколько то первых символов.
Ну и потом сравнивать год структуры или объекта и складывать кол-во зданий.

Добавлено через 1 минуту
попробую написать через объекты сейчас

Добавлено через 19 часов 4 минуты
честно говоря забил делать это через объекты т.к. надо разбираться с выделением памяти и указателями, сделал проще
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
#include <iostream>
#include <fstream>
#include <conio.h>
#include <string>
#include <iomanip>
#include <cstdlib>
using namespace std;
 
int main()
{
    int sum=0;
    int counter=0;
    int s,cntr;
    cntr=0;
    int nb, year;
    string namefile;
    cout<<"Please enter created file name:  ";
    cin>>namefile;
    namefile.append(".txt\0");
    cout<<"Created file:    "<<namefile;
    ofstream ofs(namefile.c_str()); //создаем сам файл т.к. fstream его не создаст
    ofs.close();
    fstream f;
    f.open(namefile.c_str());//создание потока
    cout<<"\nInput the number of strings:   ";
    cin>>s;//количество строк в файле
    string str;
    for(int i=0;i<s;i++)//считывание строк с консоли и перевод в поток
    {
    cout<<"String number "<<i+1<<endl;
    cout<<"please enter street name:    ";
    cin>>str;
    f<<str<<"   ";
    cout<<"please enter number builds:  ";
    cin>>nb;
    cout<<"please enter year of builds: ";
    f<<right<<nb<<"   ";
    cin>>year;
    f<<right<<year<<"\n";
    cntr++;
    }
    f.clear();
    f.seekg(0);
    int counterIndexArray=0;
    int *cntrNumber=new int[s];
    int *cntYear=new int[s];
        while(!f.eof())
        {
 
        f>>str;
        if (f.eof())
        break;
            switch (counter)
            {
            case 0:
            cout<<"\nName of street:"<<str<<endl;
 
            break;
 
            case 1:
            cout<<"number:"<<str<<endl;
            cntrNumber[counterIndexArray]=atoi( str.c_str() );
            break;
 
            case 2:
            cout<<right<<"year:"<<str<<endl;
            cntYear[counterIndexArray]=atoi( str.c_str() );
            break;
            }
        counter++;
            if (counter==3)
            {
            counterIndexArray++;
            counter=0;
            }
        }
    int valYear;
    cout<<"\nPlease enter year:";
    cin>>valYear;
    for (int i=0;i<s;i++)
    {
    if (cntYear[i]==valYear)
    sum+=cntrNumber[i];
    }
    cout<<"sum="<<sum;
    f.close();
    return 0;
}
 
Текущее время: 23:09. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru