Форум программистов, компьютерный форум, киберфорум
C++ Qt
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.86/21: Рейтинг темы: голосов - 21, средняя оценка - 4.86
1 / 1 / 4
Регистрация: 12.02.2014
Сообщений: 117

QT Выгрузка чисел из txt (текстового файла) для дальнейшего расчета

23.10.2016, 12:47. Показов 4130. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте.

Помогите пожалуйста решить проблему связанную с выгрузкой чисел из текстового документа. Почти 2-е суток просидел за компом, перепробовал кучу кодов найденных в интернете но не 1 не хочет работать =_=

Я хочу создать программу для выгрузки числовах данных из текстовых документов с последовательным их использованием в различных расчетах внутри программы. (в низу шаблон кода.)

Так же мне надо зациклить выгрузку данных из файлов и проведение расчетов, что бы все действия повторялись без перезагрузки программы раз за разом.

Примечании:
- Текстовых файлов будет примерно штук 40
- В текстовых документах будет храниться все 1 число (максимально значение которое не превысить 99999.99)
- Из-за того, что файлов много, а расчеты будут сложными, можно ли сделать цикличность с интервалом хотя бы в 5-10 секунд?

Шаблон, который я буду использовать для написании программы:
C++ (Qt)
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
//_ГЛАВНЫЕ БИБЛИОТЕКИ
#include "mainwindow.h"
#include "ui_mainwindow.h"
 
//_ДОПОЛНИТЕЛЬНЫЕ БИБЛИОТЕКИ
#include <QMainWindow>
#include <QFileDialog>
#include <QProcess>
#include <fstream>
#include <QDateTime>  //Работа с Датой и Временем
#include <QMessageBox>  //Диалоговое окно с сообщениями
#include <QTextCodec>  //Кодировщик для работы с текстом
#include <QTextStream>
#include <QInputDialog>
#include <QFile>
#include <QClipboard>
#include <QPixmap>
#include <QCloseEvent>
#include <QPainter>
#include <QCompleter>
#include <QLocale>
#include <ctime>
#include <windows.h>
#include <QCloseEvent>
 
#include <QVector>
#include <QFile>
#include <QString>
#include <QTextStream>
#include <QStringList>
 
 
//=============================================================================
//_КОНСТРУКТОР ПРОГРАММЫ
 
MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)
{
    ui->setupUi(this);
 
    //Работа с русским текстом
    //QTextCodec::setCodecForCStrings(QTextCodec::codecForName("windows-1251"));
}
 
MainWindow::~MainWindow()
{
    delete ui;
}
 
 
//=============================================================================
//_ОТКРЫТИЕ И ЧТЕНИЕ ДАННЫХ ИЗ ФАЙЛА В ЦИКЛИЧНОЙ ФОРМЕ
void MainWindow::readFile()
{
 
//-КОД  ЦИКЛА (с промежутков в 5 секунд)
    while (5) {
 
//-ОТКРЫТИЕ И ЧТЕНИЕ ДАННЫХ ИЗ ФАЙЛА
    QFile file_1("192.168.19.33\\file_1.txt");
    QFile file_2("Z:\\file_2.txt");
    QFile file_3("C:\\file_3.txt");
 
    if (file_1.open(QIODevice::ReadOnly | QIODevice::Text));
    if (file_2.open(QIODevice::ReadOnly | QIODevice::Text));
    if (file_3.open(QIODevice::ReadOnly | QIODevice::Text));
 
 
    Что здесь писать о_О ????
 
 
 
//-ВВОД ПЕРЕМЕННЫХ-------------------------------------------------------------------
    double chislo_1  = 0;
    double chislo_2  = 0;
    double chislo_3  = 0;
 
//-ВЫВОД НА ЭКРАН ИСПОЛЬЗУЕМЫХ ЧИСЕЛ---------------------------------------
    ui->lineEdit_1->setText (QString("Число с 1 файла =  ").
    arg(chislo_1));
 
    ui->lineEdit_1->setText (QString("Число с 2 файла =  ").
    arg(chislo_2));
 
    ui->lineEdit_1->setText (QString("Число с 3 файла =  ").
    arg(chislo_3));
 
//-РАСЧЕТ--------------------------------------------------------------------------
 
//-сума всех чисел
{ double suma_vseh_chisel = chislo_1 + chislo_2 + chislo_3  ;
 
ui->lineEdit_4->setText (QString("Сумма чисел %1, %2 и %3 равняется: %4 ").
arg(chislo_1).arg(chislo_2).arg(chislo_3).arg(suma_vseh_chisel));
}
 
//-сума 1 и 2 числа
{ double suma_vseh_chisel = chislo_1 + chislo_2 + chislo_3  ;
 
ui->lineEdit_4->setText (QString("Сумма %1 и %2 числа, равняется: %3 ").
arg(chislo_1).arg(chislo_2).arg(suma_vseh_chisel));
}
 
//-сума 2 и 3 числа
{ double suma_vseh_chisel = chislo_1 + chislo_2 + chislo_3  ;
 
ui->lineEdit_4->setText (QString("Сумма %1 и %2 числа, равняется: %3 ").
arg(chislo_2).arg(chislo_3).arg(suma_vseh_chisel));
}
}
}
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
23.10.2016, 12:47
Ответы с готовыми решениями:

Вывести таблицу частоты букв использования латинского алфавита для данного текстового файла text.txt в файл f1.txt
/********************************************************************** Вывести таблицу частоты букв использования латинского алфавита...

Составить модуль ввода исходных данных для дальнейшего расчета
Здравствуйте всем. Помогите разобраться, пожалуйста. Имеются двумерные массивы 10 000 на 10 (температуры, давления и т.д., заполненные в...

Парсинг формулы или как взять из TextBox формулу для дальнейшего расчета в программе
Нужно забить формулу в TextBox и посчитать значение функции в точках. Как посчитать разберусь, но как вводить в TextBox формулы вида...

8
736 / 700 / 110
Регистрация: 29.05.2015
Сообщений: 4,282
23.10.2016, 17:16
Ну, если не умеешь, не нужно пытаться написать программу сразу целиком - всё равно не получится. И для скачивания с интернета нужны хоть какие-то начальные знания - потому что вряд-ли ты скачаешь решение именно твоей задачи (прочитать 40 файлов, в каждом по 1 числу...). Будут похожие, но в них нужно будет что-то менять, или брать часть из них - а следовательно понимать, что там написано.

Для начала, создай форму с кнопкой, и что-бы по нажатию кнопки на форме что-нить писалось, хоть "Хелловорд". Это основа почти любой программы - нажимаешь кнопку и программа что-то делает. Потом займись файлами - прочитай число хоть из одного текстового файла, и выведи на экран.

Дальше придёт понимание, что делать - например, где брать (или хранить) имена и пути к сорока твоим файлам. Где хранить числа - нужен массив или список. С циклами разберёшься - что такое и с чем их едят. И так далее. Постепенно всё и напишешь.
0
1 / 1 / 4
Регистрация: 12.02.2014
Сообщений: 117
24.10.2016, 09:34  [ТС]
- alexu_007 спасибо вам большое.
- Никогда, не догадался бы о том, что в код надо вчитываться, выяснять что и откуда берется, создавать отдельный проект с использованием чисто вычитанного из интернета кода, для того, что бы выяснить как он работает и уже затем, основываясь на этом коде, создавать свой собственный коллаж.
- И вы совершенно правы, мне вообще надо начать все с самого начала, заново научиться создавать кнопки и заново начать перечитывать мануалы и литературу которую я читал, при написании своих первых программ на С++
- Вот хорошо что есть такие люди как вы, которые наставляют на путь истинный. Не то что хейтеры, которые и промолчать не могут но и ничего по существу тоже ответить не могут.
0
736 / 700 / 110
Регистрация: 29.05.2015
Сообщений: 4,282
24.10.2016, 14:19
Цитата Сообщение от Саир_Крон Посмотреть сообщение
Вот хорошо что есть такие люди как вы, которые наставляют на путь истинный.
Ну а если умеешь, в чём проблема то? Гуглишь "Qt работа с файлами" и выбираешь то, что тебе подходит. Например где-то так:

C++ (Qt)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <QFile>
 
    // полное имя файла с путём
    Qstring full_fname;
 
    // открываем файлы
    QFile inpf(full_fname);
 
    // для чтения
    if (!inpf.open(QIODevice::ReadOnly))
        {
        msgBox.setText("Error: can't open input file");
        msgBox.exec();
        return;
        }
 
    QByteArray src;
 
    // цикл чтения файла по 1 байту
    while(!inpf.atEnd())
    {
        src += inpf.read(1);
    }
0
1 / 1 / 4
Регистрация: 12.02.2014
Сообщений: 117
26.10.2016, 02:59  [ТС]
Ещё раз здравствуйте.

Спасибо вам alexu_007 за ответ.

Короче говоря, сидя на работе во время перерыва и перебирая код, до меня все же доперло как сделать выгрузку чисел из документа. Остается только понять как сделать цикличность, чтобы при нажатии на кнопку выгрузка данных и и расчет проводился автоматически.

Пытался сделать по примеру alexu_007, код до начала начала вычислений, но чет он у меня не работает =(

Сам переделанный код выглядил так:
C++ (Qt)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
QByteArray f1;
     while(! file_1.atEnd())
    {
        f1 +=  file_1.read(1);
    }
 
QByteArray f2;
     while(! file_2.atEnd())
    {
        f2 +=  file_2.read(1);
    }
 
QByteArray f3;
     while(! file_3.atEnd())
    {
        f3 +=  file_3.read(1);
    }
А вот основной код программы:
C++ (Qt)
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
//_ГЛАВНЫЕ БИБЛИОТЕКИ
#include "mainwindow.h"
#include "ui_mainwindow.h"
 
//_ДОПОЛНИТЕЛЬНЫЕ БИБЛИОТЕКИ
#include <QMainWindow>
#include <QFileDialog>
#include <QProcess>
#include <fstream>
#include <QDateTime>  //Работа с Датой и Временем
#include <QMessageBox>  //Диалоговое окно с сообщениями
#include <QTextCodec>  //Кодировщик для работы с текстом
#include <QTextStream>
#include <QInputDialog>
#include <QFile>
#include <QClipboard>
#include <QPixmap>
#include <QCloseEvent>
#include <QPainter>
#include <QCompleter>
#include <QLocale>
#include <ctime>
#include <windows.h>
#include <QCloseEvent>
 
#include <QVector>
#include <QFile>
#include <QString>
#include <QTextStream>
#include <QStringList>
 
 
//=============================================================================
//_КОНСТРУКТОР ПРОГРАММЫ
 
MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)
{
    ui->setupUi(this);
 
    //Работа с русским текстом
    QTextCodec::setCodecForCStrings(QTextCodec::codecForName("windows-1251"));
}
 
MainWindow::~MainWindow()
{
    delete ui;
}
 
 
//=============================================================================
// КНОПКА ЗАПУСКА ПРОГРАММЫ
void MainWindow::on_pushButton_clicked()
{
    //задержка в милисикундах, перед выполнением вывода информации в поля
    Sleep(500);
 
    //_ОТКРЫТИЕ И ЧТЕНИЕ ДАННЫХ ИЗ ТЕКСТОВОГО ФАЙЛА
 
        QFile file_1("C:\\file_1.txt");
        QFile file_2("C:\\file_2.txt");
        QFile file_3("C:\\file_3.txt");
 
        file_1.open(QIODevice::ReadOnly);
        file_2.open(QIODevice::ReadOnly);
        file_3.open(QIODevice::ReadOnly);
 
        QTextStream In_1(&file_1);
        QTextStream In_2(&file_2);
        QTextStream In_3(&file_3);
 
        double chislo_1 = 0;
        double chislo_2 = 0;
        double chislo_3 = 0;
 
        In_1 >> chislo_1;
        In_2 >> chislo_2;
        In_3 >> chislo_3;
 
        file_1.close();
        file_2.close();
        file_3.close();
 
     
    //-СОЗДАНИЯ ЦИКЛИЧНОСТИ ВЫГРУЗКИ ДАННЫХ ИЗ ДОКУМЕНТОВ
 
       тут писался код по цикличности, представленный alexu_007
 
 
    //-ВЫВОД НА ЭКРАН ИСПОЛЬЗУЕМЫХ ЧИСЕЛ---------------------------------------
        ui->lineEdit_1->setText (QString("Число с 1 файла = %1  ").
        arg(chislo_1));
 
        ui->lineEdit_2->setText (QString("Число с 2 файла = %1 ").
        arg(chislo_2));
 
        ui->lineEdit_3->setText (QString("Число с 3 файла = %1 ").
        arg(chislo_3));
 
    //-РАСЧЕТ--------------------------------------------------------------------------
 
    //-сума всех чисел
    { double suma_vseh_chisel = chislo_1 + chislo_2 + chislo_3  ;
 
    ui->lineEdit_4->setText (QString("Сумма чисел: %1 + %2 + %3 , равняется: %4 ").
    arg(chislo_1).arg(chislo_2).arg(chislo_3).arg(suma_vseh_chisel));
    }
 
    //-сума 1 и 2 числа
    { double suma_1_i_2 = chislo_1 + chislo_2  ;
 
    ui->lineEdit_5->setText (QString("Сумма чисел: %1 + %2 , равняется: %3 ").
    arg(chislo_1).arg(chislo_2).arg(suma_1_i_2));
    }
 
    //-сума 2 и 3 числа
    { double suma_2_i_3 = chislo_2 + chislo_3  ;
 
    ui->lineEdit_6->setText (QString("Сумма чисел: %1 + %2 , равняется: %3 ").
    arg(chislo_2).arg(chislo_3).arg(suma_2_i_3));
    }
 
}
Кто может помочь с созданием цикличности? что бы программа постоянно сама выгружала данные из документов, что бы проводился расчет, так как контролеры постоянно перезаписывают этот документ и показания в них меняются.
0
736 / 700 / 110
Регистрация: 29.05.2015
Сообщений: 4,282
26.10.2016, 07:49
Для обеспечения цикличности придуманы циклы:

C++ (Qt)
1
2
3
for(int i = 0; i < X_MAX; i++)
{
}
C++ (Qt)
1
2
3
4
while(cx > 0)
{
cx--;
}
Чтобы писать программу дальше, нужно больше информации: что представляют из себя файлы, имена файлов, известно их точное количество, или оно меняется, меняется случайно или по мере добавления новых устройств (и достаточно задать количество устройств в окошке программы). Что дальше делать с полученными числами - отсюда следует, как их хранить: накапливать все или суммировать. Хранить несколько циклов, или можно сразу перезаписывать другими. В том числе и: учебная программа или для реальной работы - возможны будут ограничения по быстродействию, синхронизация разных устройств (читать в определённом порядке или по мере поступления файлов). Ну и так далее.

Если текстовые файлы небольшие (не больше некоторого определённого размера), то можно читать например так:

C++ (Qt)
1
QByteArray f1 =  file_1.read(1024);
при этом в f1 прочитается до 1024 байт (до конца файла, если файл меньше).

И вам повезло, что файлов всего 40, а если бы 400 или 4000? Так и писали бы 4000 строчек f3996 = file_3996.read? В общем, с вашими познаниями трудно вам будет написать программу.
0
1 / 1 / 4
Регистрация: 12.02.2014
Сообщений: 117
26.10.2016, 08:49  [ТС]
alexu_007 спасибо за ответ. Сегодня после работы посижу попробую сделать так как вы мне написали.

---------------------------------------------------
Цитата Сообщение от alexu_007 Посмотреть сообщение
что представляют из себя файлы, имена файлов, известно их точное количество, или оно меняется, меняется случайно или по мере добавления новых устройств (и достаточно задать количество устройств в окошке программы). Что дальше делать с полученными числами - отсюда следует, как их хранить: накапливать все или суммировать. Хранить несколько циклов, или можно сразу перезаписывать другими. В том числе и: учебная программа или для реальной работы - возможны будут ограничения по быстродействию, синхронизация разных устройств (читать в определённом порядке или по мере поступления файлов)
у меня имеются кое какие датчики, которые записывают показания в текстовый документ, где число в шестнадцатеричном формате. Контролеры работают синхронна, и хоть и бывают задержки передачи, они незначительны, отсилы 1 минуты.
Все файлы имеют размер не больше 2 КБ.
Все файлы хранятся на сервере в своих подписанных папках.
Эти текстовые файлы постоянно перезаписываются.
Я хотел для себя сделать программу и вывести её на отдельный экран монитора, которая постоянно считывала бы показания с этих данных, записывала бы их в специальные поля, в котором комментируется с какого датчика тот или иной показатель, а затем проводила нужные мне расчеты.

Выгрузку показаний, вывод показаний в специальные поля, проведение расчета и вывод результатов в специальные поля я сделал.

Код перевода чисел из 16 в 10 систему я пишу. (уже написал перевод 10 числа в 2, 8, 16)
Если что я могу эту программу перевода выложить.

Сейчас главная проблема сделать цикличность всего этого.

Я хотел цикл поставить на кнопку, что бы кнопка после 1 нажатия, спустя определенное время, нажималась автоматически и так до бесконечности.

Хотел сделать кнопку внутри кнопки с интервалось, что бы при нажатии 1 кнопки, спустя некоторое аремя нажималась 2 кнопка, которая бы в свою очередь нажимала 1 кнопку и т.д.
---------------------------------------------------
Цитата Сообщение от alexu_007 Посмотреть сообщение
И вам повезло, что файлов всего 40, а если бы 400 или 4000
Нечего страшного, я прописал бы их всех в ручную. Мне так даже проще было бы сделать.
Вот к примеру в одной из старых работ, мне нужно было загрузить и сохранить в файл и в текстовый файл, более 120 полей.
Что бы прописать все, ушло примерно 2-3 часа...

Вот ссылка на скачивание этой программы: https://yadi.sk/d/KffZjUPFxctXC
0
736 / 700 / 110
Регистрация: 29.05.2015
Сообщений: 4,282
26.10.2016, 09:23
Цитата Сообщение от Саир_Крон Посмотреть сообщение
Я хотел цикл поставить на кнопку, что бы кнопка после 1 нажатия, спустя определенное время, нажималась автоматически и так до бесконечности.
Хотел сделать кнопку внутри кнопки с интервалось, что бы при нажатии 1 кнопки, спустя некоторое аремя нажималась 2 кнопка, которая бы в свою очередь нажимала 1 кнопку и т.д.
Это что-то из области фантастики - кнопка внутри кнопки. Вы что сделать то хотите?

1. Пишете функцию, которая читает все 40 файлов, обрабатывает результаты и выводит на экран в нужной форме.
2. В Qt есть таймер, который может вызывать вызывать вашу функцию через определённые промежутки времени - от милисекунд до секунд, минут и так далее.
3. Можно привязать к системному времени, таймер будет проверять время (раз в секунду, раз в минуту, как нужно) и по наступлении определенного времени (например 00 минут и 30 минут, если нужно раз в полчаса) вызывать вашу функцию.
4. По нажатию кнопки запускаете таймер и вуаля - программа начинает работать. На экран можно вывести счётчик, сколько раз читались файлы, и т.д.

Где-то так, а не кнопка нажимает сама себя. Кнопка это видимость, это для пользователя, чтобы мог нажать, а программа может выполнять циклы и без кнопки.
0
1 / 1 / 4
Регистрация: 12.02.2014
Сообщений: 117
29.10.2016, 10:05  [ТС]
Вчера вечером смог добиться работы программы, не через цикл а через повтор выполнения кода.

короче говоря вот:

Код для файла mainwindow.cpp
C++ (Qt)
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
140
141
142
143
//_ГЛАВНЫЕ БИБЛИОТЕКИ
#include "mainwindow.h"
#include "ui_mainwindow.h"
 
//_ДОПОЛНИТЕЛЬНЫЕ БИБЛИОТЕКИ
#include <QMainWindow>
#include <QFileDialog>
#include <QProcess>
#include <fstream>
#include <QDateTime>  //Работа с Датой и Временем
#include <QMessageBox>  //Диалоговое окно с сообщениями
#include <QTextCodec>  //Кодировщик для работы с текстом
#include <QTextStream>
#include <QInputDialog>
#include <QFile>
#include <QClipboard>
#include <QPixmap>
#include <QCloseEvent>
#include <QPainter>
#include <QCompleter>
#include <QLocale>
#include <ctime>
#include <windows.h>
#include <QCloseEvent>
 
#include <QVector>
#include <QFile>
#include <QString>
#include <QTextStream>
#include <QStringList>
 
 
//=============================================================================
//_КОНСТРУКТОР ПРОГРАММЫ
 
MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)
{
    ui->setupUi(this);
 
    //Работа с русским текстом
    //QTextCodec::setCodecForCStrings(QTextCodec::codecForName("windows-1251"));
 
 
    MyTimer = startTimer(1000);  // запуск таймера
}
 
MainWindow::~MainWindow()
{
    delete ui;
}
 
 
 
void MainWindow::timerEvent(QTimerEvent *te)
{
    setWindowTitle(QDateTime::currentDateTime().toString());
 
 
    //_ОТКРЫТИЕ И ЧТЕНИЕ ДАННЫХ ИЗ ТЕКСТОВОГО ФАЙЛА
 
        QFile file_1("C:\\Faili\\file_1.txt");
        QFile file_2("C:\\Faili\\file_2.txt");
        QFile file_3("C:\\Faili\\file_3.txt");
 
        file_1.open(QIODevice::ReadOnly);
        file_2.open(QIODevice::ReadOnly);
        file_3.open(QIODevice::ReadOnly);
 
        QTextStream In_1(&file_1);
        QTextStream In_2(&file_2);
        QTextStream In_3(&file_3);
 
        double chislo_1 = 0;
        double chislo_2 = 0;
        double chislo_3 = 0;
 
        In_1 >> chislo_1;
        In_2 >> chislo_2;
        In_3 >> chislo_3;
 
 
 
 
    //-СОЗДАНИЯ ЦИКЛИЧНОСТИ ВЫГРУЗКИ ДАННЫХ ИЗ ДОКУМЕНТОВ
        QByteArray f1 =  file_1.read(2048);
             while(! file_1.atEnd())
            {
                f1 +=  file_1.read(1);
            }
 
        QByteArray f2 =  file_2.read(2048);
             while(! file_2.atEnd())
            {
                f2 +=  file_2.read(1);
            }
 
        QByteArray f3 =  file_3.read(2048);
             while(! file_3.atEnd())
            {
                f3 +=  file_3.read(1);
            }
 
             file_1.close();
             file_2.close();
             file_3.close();
 
 
    //-ВЫВОД НА ЭКРАН ИСПОЛЬЗУЕМЫХ ЧИСЕЛ---------------------------------------
        ui->lineEdit_1->setText (QString("Число с 1 файла = %1  ").
        arg(chislo_1));
 
        ui->lineEdit_2->setText (QString("Число с 2 файла = %1 ").
        arg(chislo_2));
 
        ui->lineEdit_3->setText (QString("Число с 3 файла = %1 ").
        arg(chislo_3));
 
    //-РАСЧЕТ--------------------------------------------------------------------------
 
    //-сума всех чисел
    { double suma_vseh_chisel = chislo_1 + chislo_2 + chislo_3  ;
 
    ui->lineEdit_4->setText (QString("Сумма чисел: %1 + %2 + %3 , равняется: %4 ").
    arg(chislo_1).arg(chislo_2).arg(chislo_3).arg(suma_vseh_chisel));
    }
 
    //-сума 1 и 2 числа
    { double suma_1_i_2 = chislo_1 + chislo_2  ;
 
    ui->lineEdit_5->setText (QString("Сумма чисел: %1 + %2 , равняется: %3 ").
    arg(chislo_1).arg(chislo_2).arg(suma_1_i_2));
    }
 
    //-сума 2 и 3 числа
    { double suma_2_i_3 = chislo_2 + chislo_3  ;
 
    ui->lineEdit_6->setText (QString("Сумма чисел: %1 + %2 , равняется: %3 ").
    arg(chislo_2).arg(chislo_3).arg(suma_2_i_3));
    }
 
}
Код для файла mainwindow.h
C++ (Qt)
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
#ifndef MAINWINDOW_H
#define MAINWINDOW_H
 
#include <QMainWindow>
 
#include <QVector>
#include <QFile>
#include <QString>
#include <QTextStream>
#include <QStringList>
 
#include <QTextCodec>
 
#include <QTimer>
#include <QDateTime>
 
namespace Ui {
class MainWindow;
}
 
class MainWindow : public QMainWindow
{
    Q_OBJECT
 
public:
    explicit MainWindow(QWidget *parent = 0);
    ~MainWindow();
 
    //Таимер
    void timerEvent(QTimerEvent *te);
    int MyTimer; // ид таймера
 
private:
    Ui::MainWindow *ui;
};
 
#endif // MAINWINDOW_H
Код для файла main.cpp
C++ (Qt)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include "mainwindow.h"
#include <QApplication>
 
#include <QVector>
#include <QFile>
#include <QString>
#include <QTextStream>
#include <QStringList>
 
#include <QTextCodec>
 
int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    MainWindow w;
    w.show();
 
    return a.exec();
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
29.10.2016, 10:05
Помогаю со студенческими работами здесь

Скопируйте содержимое текстового файла a.txt в файл b.txt
Скопируйте содержимое текстового файла a.txt в файл b.txt. Входной файл состоит из ряда предложений. Каждое предложение заканчивается...

Скопируйте содержимое текстового файла a.txt в файл b.txt
Скопируйте содержимое текстового файла a.txt в файл b.txt. Входной файл состоит из ряда предложений. Каждое предложение заканчивается...

Из текстового файла input.txt с данными вывести информацию в файл output.txt по заданному условию
Дан текстовый файл input.txt содержащий в первой строке кол-во данных, в каждой следующей чередующиеся данные: фамилии и оценки за 3...

Выгрузка данных из txt файла и формирование таблиц в Excel
Здравствуйте, Форумчане! Вопрос состоит вот в чём, у меня имеются данные в формате txt файла, необходимо с помощью макроса выгружать данные...

Файл: Переписать содержимое текстового файла a.txt диска С в текстовый файл в.txt без пробелов
1.Переписать содержимое текстового файла a.txt диска С в текстовый файл в.txt без пробелов 2.Дан текст.файл C:\Program Files\2.txt,в...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
Программный отбор элементов справочника Номенклатура по группе 1С
Maks 22.03.2026
Установка программного отбора элементов справочника "Номенклатура" из модуля формы документа. В качестве фильтра для отбора справочника служит группа номенклатуры. Отбор под наименованию группы (на. . .
Как я обхитрил таблицу Word
Alexander-7 21.03.2026
Когда мигает курсор у внешнего края таблицы, и нам надо перейти на новую строку, а при нажатии Enter создается новый ряд таблицы с ячейками, то мы вместо нервных нажатий Энтеров мы пишем любые буквы. . .
Krabik - рыболовный бот для WoW 3.3.5a
AmbA 21.03.2026
без регистрации и смс. Это не торговля, приложение не содержит рекламы. Выполняет свою непосредственную задачу - автоматизацию рыбалки в WoW - и ничего более. Однако если админы будут против -. . .
Программный отбор элементов справочника Сотрудники по перечислениям 1С
Maks 21.03.2026
Установка программного отбора элементов справочника "Сотрудники" из модуля формы документа. В качестве фильтра для отбора служит предопределенное значение перечислений. Процедура. . .
Переходник USB-CAN-GPIO
Eddy_Em 20.03.2026
Достаточно давно на работе возникла необходимость в переходнике CAN-USB с гальваноразвязкой, оный и был разработан. Однако, все меня терзала совесть, что аж 48-ногий МК используется так тупо: просто. . .
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru