Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.80/40: Рейтинг темы: голосов - 40, средняя оценка - 4.80
0 / 0 / 1
Регистрация: 05.02.2014
Сообщений: 141

Повторное открытие файла

29.05.2016, 19:20. Показов 9671. Ответов 59
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
пишу очередную учебную программу, и возник вопрос вопросов.
я открываю текстовый файл откуда построчно читаю фалы и считаю строки в которых встречается "wire" по кол-ву таких строк выделяю память в динамическом массиве и готовлюсь снова открыть файл и произвести запись в массив структур. проблема во втором открытие файла. компилируется все ок, но не срабатывает что то.

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
#include <iostream>
#include <cstring>
#include <fstream>
 
using namespace std;
 
 
int main () {
 
    int local_count = 0;
    int count = -1;
    string str;
    ifstream file;
 
    file.open("/home/dima/QT_CPP/for_st/goods.txt");//здесь указать свой путь к файлу
    if (!file){
        cout<<"<База данных не обнаружена проверьте верность указания пути\n";
    } else {
        while (file){
            file>>str;
            if (strstr(str.c_str(),"wire")){
                ++count;
               // cout<<str<<"\n";
            }
        }
    }
    file.close();
 
 
    //my_wire *array_wire_store = new my_wire[count];// выделяем память под необходимое кол-во товарных позиций
 
    file.open("/home/dima/QT_CPP/for_st/goods.txt");//здесь указать свой путь к файлу
    if (!file){
        cout<<"<База данных не обнаружена проверьте верность указания пути\n";
    } else {
        while (file){
            cout<<"test";
            file>>str;
            if (strstr(str.c_str(),"wire")){
                //pars_file(str,local_count);
            }
        }
 
    }
    file.close();
 
}
в строке 38 у меня cout<<"test; это так я произвожу отладку ))) так вот этот тест у меня не выводится в консоль, из чего я делаю вывод, что второй раз файл по какой то причине не открывается. Идеи? Спасибо, братья )
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
29.05.2016, 19:20
Ответы с готовыми решениями:

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

Повторное чтение файла
Привет, у меня есть файл с несколькими строками, я беру одну строку - проверяю на условие какое-то, если она подходит по условию - пишу в...

Записать в файл g, компоненты файла f, исключив повторное вхождения чисел
Дан файл f, компоненты которого являются целыми числами. Записать в файл g, компоненты файла f, исключив повторное вхождения чисел

59
0 / 0 / 1
Регистрация: 05.02.2014
Сообщений: 141
29.05.2016, 21:48  [ТС]
Студворк — интернет-сервис помощи студентам
Unknownx, отдельное спасибо за предложенные вариант, хм, то ли вечер и я туплю, то ли вечер и я туплю ))) но увы ) тож самое ))) не открывает второй раз файл
и еще вопрос. ну правда было бы оч оч интересно, кроме выделения памяти в конструкторе что еще плохого в моем коде? не, ну а че, мне жеж интересно
0
Заблокирован
29.05.2016, 21:50
DimaAvatar, рано тебе писать такие коды, рано(это моё мнение), почитай пару книжек по плюсам. Ты реально не понимаешь разницы между локальной и глобальной переменной, алоцирование памяти в конструкторе как и файловое чтение в конструкторе объекта - это зло в первой инстанции(ответ почему в тех же книжках)

Добавлено через 54 секунды

Не по теме:

Цитата Сообщение от DimaAvatar Посмотреть сообщение
Unknownx, отдельное спасибо за предложенные вариант, хм, то ли вечер и я туплю, то ли вечер и я туплю ))) но увы ) тож самое ))) не открывает второй раз файл
- да там проект рабочий, ехе собранный, прости но ты реально сейчас тупишь причём как говорят "не по детски"



Добавлено через 59 секунд
DimaAvatar, я не хочу тебя обижать напротив хочу помочь, но кроме того чтобы писать увы ты должен что либо читать из литературы, так как пишешь уже глупость за глупостью.
0
0 / 0 / 1
Регистрация: 05.02.2014
Сообщений: 141
29.05.2016, 21:51  [ТС]
Unknownx, да, я не внимательный. эм... ну тогда у меня единственный (правда уже второй вариант) 0 потому что эм.. несмотря на выделение памяти в векторе, она не занята ни какими данными? хотя.. эм, я бы все равно ожидал 5, а не 0 (
0
Заблокирован
29.05.2016, 21:54
Цитата Сообщение от DimaAvatar Посмотреть сообщение
Renji, "Ошибка сегментирования (сделан дамп памяти)" ((
- потому что Renji, не анализируя код не внял моему совету
Цитата Сообщение от Unknownx Посмотреть сообщение
Далее, какого чёрта счётчик строк стоит с инициализацией -1
Сообщение от DimaAvatar
count = -1;
?Если в файле будет 2 строки с wire то count будет == 1 а надо выделить память под два элемента, инит там должен быть 0
, а ты его слушаешь не понимая реально у кого тут есть знания а у кого их мало.

Добавлено через 1 минуту
Цитата Сообщение от DimaAvatar Посмотреть сообщение
хотя.. эм, я бы все равно ожидал 5, а не 0 (
- да ё-моё тут же написано
Цитата Сообщение от Unknownx Посмотреть сообщение
vector< int > arr;//arr - это локальная переменная не имеющая отношение к csample::arr
0
0 / 0 / 1
Регистрация: 05.02.2014
Сообщений: 141
29.05.2016, 21:54  [ТС]
Unknownx, эм... я прочитал две книги, шилдта и лафоре, первого даже несколько раз. обижаться? ))) неее. я очоч оч рад, что у меня из этой темы столько мыслей для размышлений... в основном правда о бренности бытия и о том, какой я плохой студент... ну, что вот такой вот я студент (может и хотел бы свалить все на преподавателей и институт, но боюсь это сильно делу не поможет)
0
Заблокирован
29.05.2016, 21:56
DimaAvatar, скажи ты не можешь собрать уже готовый проект из поста 34?Не понимаю в чём проблема?
0
0 / 0 / 1
Регистрация: 05.02.2014
Сообщений: 141
29.05.2016, 22:00  [ТС]
Unknownx,
а) count я уже сменил и сообщение о дампе я получил уже после этого
б) с моим багажом... я буду слушать всех, это удел начинающих и это нормально. я кстати ни чего плохого в его советах не увидел.
в)аааа size_t size() не видит vector< int > arr; если это так и вы проводите аналогию с local_count т.е. предалается вынести ее в поле класса?
в свое оправдание могу лишь сказать, что она (Local_count) осталась внаследство от первой попытки написать программу, и тогда она и правда задумывалась как локальная.
г) я так и не разобрался как отвечать с циитированием ))) но знайте я Вам оч благодарен )
0
Заблокирован
29.05.2016, 22:07

Не по теме:

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

Цитата Сообщение от DimaAvatar Посмотреть сообщение
я буду слушать всех, это удел начинающих и это нормально.
- это не всегда приводит к нужному результату. Я могу конечно сейчас под VMware собарть твой проект под убунтой(можешь приклеить, только в архиве а не кусками кода), но что то мне подсказывает ты правил у себя вместо того, чтобы просто распаковать зип да собрать нормально.



Добавлено через 2 минуты
Цитата Сообщение от DimaAvatar Посмотреть сообщение
если это так и вы проводите аналогию с local_count
- нет я проводил аналогию с выделением памяти
Цитата Сообщение от DimaAvatar Посмотреть сообщение
my_wire *array_wire_store = new my_wire[count];
local_count как раз идёт по ссылке и там всё ок
1
2784 / 1937 / 570
Регистрация: 05.06.2014
Сообщений: 5,602
29.05.2016, 22:10
Цитата Сообщение от DimaAvatar Посмотреть сообщение
Unknownx, эм... я прочитал две книги, шилдта и лафоре, первого даже несколько раз.
Теперь советую почитать про отладчик. Для Qt:
1) Сделать дебаг-сборку.
2) Кнопочкой F10 выполнить одну строчку. Кнопочкой F11 - тоже самое, только с заскоком в потроха функции из этой строчки.
3) F5 - запустить программу до ближайшего бряк-поинта.
4) F9 поставить бряк-поинт.
5) В окошке справа зырить содержимое переменных.

Вот так, двигаясь по шажочку, и разберетесь чего глючит. Плюс, указатели объявлять не как my_wire *array_wire_store;, а как my_wire *array_wire_store=nullptr;. Да, вот так внутри объявления класса и писать. В C++11 разрешили. Плюс, агрессивно распихивать assert по всем углам.
0
0 / 0 / 1
Регистрация: 05.02.2014
Сообщений: 141
29.05.2016, 22:11  [ТС]
Unknownx, Спасибо большое, за помощь и участие... мне нужно время понять что у Вас так сильно отличается от моего варианта. но да, если не копировать текст кода файла "wire.cpp" (что я сделал первый раз) а именно собрать из Вашего... работает. что меня радует как бэ... но и печалит то же )))
Миниатюры
Повторное открытие файла  
0
0 / 0 / 1
Регистрация: 05.02.2014
Сообщений: 141
29.05.2016, 22:18  [ТС]
братья, спасибо, Вы мне очень помогли... эм, моя коробочка переполненна... я если можно чз пару тройкау дней реанимирую тему, мне надо время собрать воедино... я вообще не быстро в программировании соображаю. жаль, ну ))) наверное у меня есть какие то другие положительные моменты )) еще раз спасибо...

Добавлено через 1 минуту
Renji, отладчик QT м... это то, с чем да, мне предстоит разобраться, яуже пару раз пытался подступиться к этому зверю... но пока проект отладки пугает меня больше чем дед бабай в детстве.. (да чего уж там я и сейчас его побаиваюсь)

Добавлено через 2 минуты
Renji,
"Плюс, указатели объявлять не как my_wire *array_wire_store;, а как my_wire *array_wire_store=nullptr;"
а я указатель объявлял да? эм.. ну я по примеру делал типа int *temp=new int[N]; (тип указатель имя = new тип [размер])

а.... вы про объявление... ну да ))) я еще и в терминалогии могу запутаться... все понял

хм, хотя я проверил... и my_wire*array_wire_store и my_wire * array_wire_store = nullptr; работают... в общем работают оба варианта )
0
Заблокирован
29.05.2016, 22:21
DimaAvatar, прикрепи в тему wire.cpp я покажу что конкретно у тебя не так, прям по строчкам
0
0 / 0 / 1
Регистрация: 05.02.2014
Сообщений: 141
29.05.2016, 22:25  [ТС]
Unknownx, не подскажите, а почему в Вашем варианте... эм, array_wire_store = new my_wire[count]; то же в конструкторе?

Добавлено через 1 минуту
wire.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
#include "wire.h"
#include <string>
#include <fstream>
using namespace std;
 
wire::wire(){
    int local_count = 0;
    count = 0;
    string str;
    ifstream file;
 
    file.open("/home/dima/QT_CPP/for_st_2/for_st/goods.txt");//çäåñü óêàçàòü ñâîé ïóòü ê ôàéëó
    if (!file.is_open()){
        cout<<"<Áàçà äàííûõ íå îáíîðóæåííà ïðîâåðüòå âåðíîñòü óêàçàíèÿ ïóòè\n";
    } else {
        while (!file.eof()){
            getline(file,str);
            if (strstr(str.c_str(),"wire")){
                ++count;
            }
        }
    }
 
    file.close();
    file.clear();//áåç ñáðîñà ôëàãîâ îøèáîê ðàáîàòü íå áóäåò
 
    /*my_wire **/array_wire_store = new my_wire[count];// âûäåëÿåì ïàìÿòü ïîä íåîáõîäèìîå êîë-âî òîâàðíûõ ïîçèöèé
 
    file.open("/home/dima/QT_CPP/for_st_2/for_st/goods.txt");//çäåñü óêàçàòü ñâîé ïóòü ê ôàéëó
    if (!file.is_open()){
        cout<<"<Áàçà äàííûõ íå îáíîðóæåííà ïðîâåðüòå âåðíîñòü óêàçàíèÿ ïóòè\n";
    } else {
        cout<<"the begin";//ìàðêåð
        while (!file.eof()){
            getline(file,str);
            if (strstr(str.c_str(),"wire")){
                pars_file(str,local_count);
                cout<<str<<endl;
            }
        }
 
    }
    file.close();
 
}
 
void wire :: pars_file(string&str,int& local_count){
    string temp_str = str;
    if (strstr(str.c_str(),"wire")){
        array_wire_store[local_count].number = temp_str.substr(0,temp_str.find(';')).c_str();
        array_wire_store[local_count].product = temp_str.substr(0,temp_str.find(';')).c_str();
        array_wire_store[local_count++].brand = temp_str.substr(0,temp_str.find(';')).c_str();
    }
    cout<<"the end";//ìàðêåð
 
}
 
 
void wire::show(){
 
    for (unsigned int i = 0; i<(sizeof(array_wire_store)/sizeof(my_wire));++i){
        cout<<array_wire_store[i].number<<array_wire_store[i].product<<"\n";
    }
 
}
wire.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
#include "wire.h"
#include <cstring>
#include <fstream>
 
wire::wire(){
    int local_count = 0;
    count = 0;
    string str;
    ifstream file;
 
    file.open("/home/dima/QT_CPP/for_st/goods.txt");//здесь указать свой путь к файлу
    if (!file.is_open()){
        cout<<"<База данных не обноруженна проверьте верность указания пути\n";
    } else {
        while (!file.eof()){
            getline(file,str);
            if (strstr(str.c_str(),"wire")){
                ++count;
            }
        }
    }
 
    file.close();
 
    while ( cin.get() != '\n' );
 
    file.clear();//без сброса флагов ошибок рабоать не будет
 
    memmory_allocate();
 
    file.open("/home/dima/QT_CPP/for_st/goods.txt");//здесь указать свой путь к файлу
 
    if (!file.is_open()){
        cout<<"<База данных не обноруженна проверьте верность указания пути\n";
    } else {
        cout<<"the begin";//маркер
        while (!file.eof()){
            getline(file,str);
            if (strstr(str.c_str(),"wire")){
                pars_file(str,local_count);
            }
        }
 
    }
    file.close();
 
}
 
void wire :: pars_file(string&str,int& local_count){
    string temp_str = str;
    if (strstr(str.c_str(),"wire")){
        array_wire_store[local_count].number = temp_str.substr(0,temp_str.find(';')).c_str();
        array_wire_store[local_count].product = temp_str.substr(0,temp_str.find(';')).c_str();
        array_wire_store[local_count++].brand = temp_str.substr(0,temp_str.find(';')).c_str();
    }
    cout<<"the end";//маркер
 
}
 
void wire::memmory_allocate(){
    my_wire *array_wire_store = new my_wire[count];// выделяем память под необходимое кол-во товарных позиций
}
 
 
void wire::show(){
 
    for (unsigned int i = 0; i<(sizeof(array_wire_store)/sizeof(my_wire));++i){
        cout<<array_wire_store[i].number<<array_wire_store[i].product<<"\n";
    }
 
}
0
Заблокирован
29.05.2016, 22:27

Не по теме:

Цитата Сообщение от DimaAvatar Посмотреть сообщение
array_wire_store = new my_wire[count]; то же в конструкторе?
- ну как бы да, там просто перед array_wire_store вытерет тип и указатель, которые делали array_wire_store из поля класса локальным массивом. Я не переписывал твой код я только поправил проверку на открытость, счётчик count и сделал array_wire_store не локальным(возьми два файла и в блокноте сравни)



Добавлено через 1 минуту
Цитата Сообщение от DimaAvatar Посмотреть сообщение
while ( cin.get() != '\n' );
к чему оно?
Цитата Сообщение от DimaAvatar Посмотреть сообщение
memmory_allocate();
- что это?
Цитата Сообщение от DimaAvatar Посмотреть сообщение
my_wire *array_wire_store
- ну опять же локалка
/*my_wire **/array_wire_store = new my_wire[count];
- вот аллокация для поля класса
0
2784 / 1937 / 570
Регистрация: 05.06.2014
Сообщений: 5,602
29.05.2016, 22:28
Цитата Сообщение от DimaAvatar Посмотреть сообщение
хм, хотя я проверил... и my_wire*array_wire_store и my_wire * array_wire_store = nullptr; работают... в общем работают оба варианта )
Работать то работают, но в первом варианте сложнее ловить случай "забыл инициализировать array_wire_store". Во втором же случае если вы про инициализацию забыли, в указателе будет ноль. И это сразу бросится в глаза как в сообщениях о ошибках (что-то в духе "не могу читать по адресу 0x00000002"), так и в отладчике.
1
Заблокирован
29.05.2016, 22:29
DimaAvatar, бери свой изначальный wire.cpp
Цитата Сообщение от DimaAvatar Посмотреть сообщение
wire::wire(){
* * int local_count = 0;
* * count = 0;
* * string str;
* * ifstream file;
file.open("/home/dima/QT_CPP/for_st/goods.txt");//здесь указать свой путь к файлу
* * if (!file.is_open()){
* * * * cout<<"<База данных не обноруженна проверьте верность указания пути\n";
* * } else {
* * * * while (!file.eof()){
* * * * * * getline(file,str);
* * * * * * if (strstr(str.c_str(),"wire")){
* * * * * * * * ++count;
* * * * * * }
* * * * }
* * }
file.close();
- тут всё ок
Цитата Сообщение от DimaAvatar Посмотреть сообщение
while ( cin.get() != '\n' );
- убери
Цитата Сообщение от DimaAvatar Посмотреть сообщение
memmory_allocate();
-верни как было но вот так
array_wire_store = new my_wire[count]; далее всё ок. memmory_allocate убери к чёрту.
1
Заблокирован
29.05.2016, 22:31
Файлы когда просят прикрепляют вот так
Миниатюры
Повторное открытие файла  
0
0 / 0 / 1
Регистрация: 05.02.2014
Сообщений: 141
29.05.2016, 22:35  [ТС]
Unknownx, чет я ни фига не понял.... и? я сделал как Вы сказали и заработало... так оно ж у меня уже было ??? чет я совсем потерялся.
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
#include "wire.h"
#include <cstring>
#include <fstream>
 
wire::wire(){
    int local_count = 0;
    count = 0;
    string str;
    ifstream file;
 
    file.open("/home/dima/QT_CPP/for_st/goods.txt");//здесь указать свой путь к файлу
    if (!file.is_open()){
        cout<<"<База данных не обноруженна проверьте верность указания пути\n";
    } else {
        while (!file.eof()){
            getline(file,str);
            if (strstr(str.c_str(),"wire")){
                ++count;
            }
        }
    }
 
    file.close();
 
    file.clear();//без сброса флагов ошибок рабоать не будет
 
    array_wire_store = new my_wire[count];
 
    //memmory_allocate();
 
    file.open("/home/dima/QT_CPP/for_st/goods.txt");//здесь указать свой путь к файлу
 
    if (!file.is_open()){
        cout<<"<База данных не обноруженна проверьте верность указания пути\n";
    } else {
        cout<<"the begin";//маркер
        while (!file.eof()){
            getline(file,str);
            if (strstr(str.c_str(),"wire")){
                pars_file(str,local_count);
            }
        }
 
    }
    file.close();
 
}
 
void wire :: pars_file(string&str,int& local_count){
    string temp_str = str;
    if (strstr(str.c_str(),"wire")){
        array_wire_store[local_count].number = temp_str.substr(0,temp_str.find(';')).c_str();
        array_wire_store[local_count].product = temp_str.substr(0,temp_str.find(';')).c_str();
        array_wire_store[local_count++].brand = temp_str.substr(0,temp_str.find(';')).c_str();
    }
    cout<<"the end";//маркер
 
}
 
 
 
 
void wire::show(){
 
    for (unsigned int i = 0; i<(sizeof(array_wire_store)/sizeof(my_wire));++i){
        cout<<array_wire_store[i].number<<array_wire_store[i].product<<"\n";
    }
 
}
п.с. ну кроме 27 строчки конечно
Миниатюры
Повторное открытие файла  
0
0 / 0 / 1
Регистрация: 05.02.2014
Сообщений: 141
29.05.2016, 22:38  [ТС]
дааа я файлы то прикрепляю.. но эм, почему то с моими cpp форум не хочет работать, не подгружает их пишет - не корректный файл
Миниатюры
Повторное открытие файла  
0
0 / 0 / 1
Регистрация: 05.02.2014
Сообщений: 141
29.05.2016, 23:00  [ТС]
Unknownx, ааааа
"ну опять же локалка" вы имете в виду что в моем изначальном варианте я локально просто вводил новую переменную и выделял для нее память, а потом пытался записать данные (но уже в др методе класса) в массив глобальный, для которого память не была виделена, т.к. я выделял ее для локального массива (хоть и с таким же именем) дааааа?

Добавлено через 18 минут
братья )) спасибо Вам еще раз. я тааакой довольный, как после первого секса ))) я прям влюбляюсь в форум, как тут много разных добрых людей которые объясняют мне все эти затырк, я ни когда не думал, что люди вот так вот будут отвечать и носиться со мной - посылаю Вам положительные эмоции чз космос. May the Force be with you.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
29.05.2016, 23:00

Почему после считывания матрицы из файла начинается повторное считывание?
Здравствуйте. ПРоблема такова, считывает размер матрицы и саму матрицу, после успешного считвания начинает по новой её считывать, хотя...

Как запретить повторное открытие файла fopen()?
Здравствуйте. Такой вопрос - открываю файл с помощью fopen(), как сделать так чтобы никакой другой процесс не смог обратиться к этому файлу...

Повторное открытие формы
Здравствуйте, private void показатьАлфавитToolStripMenuItem_Click(object sender, EventArgs e) { Alfavit f =...

Повторное открытие окна
Здравствуйте, столкнулся с проблемой, у меня есть кнопка которая открывает другое окно по типу: Form2 f2 = new Form2(); f2.Show(); ...

Повторное открытие savefiledialog
Не знаю в чем проблема, раньше подобного с обычными файлами не было, в общем сохраняю я файл docx saveFileDialog1.ShowDialog(); ...


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

Или воспользуйтесь поиском по форуму:
60
Ответ Создать тему
Новые блоги и статьи
Часы электронные
Uhbif79 12.08.2026
Выкладываю программу часов. Программа позволяет: 1. Использовать системное время и дату, 2. Есть возможность вводить время и дату вручную. 3. Реализованы 2 будильника: начало и конец рабочего дня. . . .
Часы с будильником на основе класса QLCDNumber
Uhbif79 12.08.2026
Всем добрый день, выкладываю программу часов с будильником на основе класса QLCDNumber. Здесь я пробовал самостоятельно создавал классы, впервые столкнулся с видимостью переменной одного класса из. . .
Установка MinGW GCC 16.2 и CMake
8Observer8 10.08.2026
VK Видео: https:/ / vkvideo. ru/ video-240781534_456239017 YouTube: eY5-5PyI9NM Текстовая версия
Неделя из жизни имитационной модели склада: мои кривые руки растут, откуда надо
anaschu 10.08.2026
Неделя из жизни имитационной модели склада: как я почти написал неправильную логику и что с этим делать Работаю сейчас над учебно-рабочим проектом: строю в AnyLogic имитационную модель процессов. . .
Калькулятор для расчета родства
russiannick 07.08.2026
1. Задача: Создать калькулятор для расчета родства. Родственных связей существует 8 ступеней, такие как: p - отец P - мать q - муж Q - жена b - брат B - сестра s - сын S - дочь
Мир по моей воле
kumehtar 07.08.2026
Когда-то кажется, что всё просто. Ты весь такой светлый. Причиняешь добро. Борешься за справедливость в этом тёмном мире. Потом начинаешь замечать одну неприятную вещь. Почти каждый хороший. . .
Кредитный калькулятор
Maks 05.08.2026
Решение задачи по прикладной информатике средствами 1С. Задача: Напишите приложение-калькулятор, которое помогает рассчитывать параметры кредита для аннуитетного и дифференцированного видов. . .
У нас сейчас поговорку "Опять 25" нужно переделать на "Опять +35".
kumehtar 04.08.2026
С ностальгией вспоминаю времена моего детства, когда у нас и правда +25 - была максимальная температура летом. Раньше +25 °C реально казались вершиной жары, когда можно было весь день пропадать на. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru