Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.85/13: Рейтинг темы: голосов - 13, средняя оценка - 4.85
0 / 0 / 0
Регистрация: 21.04.2009
Сообщений: 44

Создание файлов

03.11.2009, 21:29. Показов 2816. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Помогите пожалйста!!!
А) Создать файл, содержащий сведения о личной коллекции книголюба. Структура записи: автор, название, год издания, местоположение ( номер шкафа)
Б) написать программу, выдающую следующую информацию:
- местонахождение книги автора Х названия Y. Значения Х и Y вывести с терминала;
- список книг автора Z, находящееся в коллекции;
- число книг издания NN года, имеющееся в библиотеке.

Добавлено через 3 минуты
Под буквой А у меня получилось!!!
А вот под Б вообще не зная как!!!
Помогите пожалуйста!!!!
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
#include <iostream.h>
#include <stdio.h>
 
typedef struct{
double shifr_books;
char avtor[100];
char nazvanie[100];
int god_izdaniya;
int number;
}Library;
 
 
void main(){
int N;
FILE*FP=fopen("Library.dat","wb");
 
Library X;
cout<<"VVedite kolichestvo knig:  \n";
cin>>N;
 
for (int i=0; i<N; i++){
cout<<"\nVvedite shifr knigi: ";
cin>>X.shifr_books;
cout<<"\nVvedite avtora knigi: ";
cin>>X.avtor;
cout<<"\nVvedite nazvanie knigi: ";
cin>>X.nazvanie;
cout<<"\nVvedite god izdaniya knigi: ";
cin>>X.god_izdaniya;
cout<<"\nVvedite nomer stellaga,gde nahoditsya kniga: ";
cin>>X.number;
 
 
fwrite(&X,sizeof(X),1,FP);
}
fclose(FP);
 
}
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
03.11.2009, 21:29
Ответы с готовыми решениями:

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

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

Создание и перезапись файлов
Имеется Memo (в нем хранится текст) и Edit (в него вписывается название файла). Нужно чтобы после проверки на совпадения с ComboBox (в нем...

7
 Аватар для ООП
2 / 2 / 0
Регистрация: 03.11.2009
Сообщений: 13
04.11.2009, 00:31
Если мне не изменяет память, то нужно воспользоваться fseek.

Но обычно юзаються потоки: можно реализовать оператор << в структуре. Потом вызываем std::ofstream file(char *) - ему передаеться имя файла. Теперь все пишем в поток file.

Для всего этого удовольствия потребуется подключить #include <fstream>
0
0 / 0 / 0
Регистрация: 21.04.2009
Сообщений: 44
04.11.2009, 13:52  [ТС]
Все равно не получается!
На сколько мне известно fseek используется для перемещения файлового указателя! Где в программе указатели и на что они должны указывать????
0
Модератор
Эксперт PythonЭксперт JavaЭксперт CЭксперт С++
 Аватар для easybudda
12843 / 7592 / 1766
Регистрация: 25.07.2009
Сообщений: 13,973
05.11.2009, 00:18
Иринка, Вы бы, барышня, с языком программирования определились, а то у Вас половина на С, половина на С++... На С вот Вам:
book.h
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#ifndef BOOK_H
#define BOOK_H
 
#define STR_LEN 255
#define DEFAULT_DB "books.db"
#define SEP_LINE "-----------------------------------------------------------------"
 
typedef struct {
    char author[STR_LEN]; /* автор */
    char name[STR_LEN]; /* название */
    int year; /* год издания */
    int place; /* номер шкафа */
} Book_t;
 
#endif /* BOOK_H */

books_create.c
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
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "book.h"
    
/* Заполняет структуру Book_t */  
Book_t createBook(void){
    Book_t book;
    char buf[STR_LEN];
    printf("Author: ");
    fgets(buf, STR_LEN, stdin);
    buf[strlen(buf) - 1] = '\0'; /* удалить символ новой строки */
    strcpy(book.author, buf);
    printf("Name: ");
    fgets(buf, STR_LEN, stdin);
    buf[strlen(buf) - 1] = '\0'; /* удалить символ новой строки */
    strcpy(book.name, buf);
    printf("Year: ");
    fgets(buf, STR_LEN, stdin);
    book.year = atoi(buf);
    printf("Place: ");
    fgets(buf, STR_LEN, stdin);
    book.place = atoi(buf);
    
    return book;
}
 
void showBook(const Book_t *pBook){
    printf("Author:\t%s\n", pBook->author);
    printf("Name:\t%s\n", pBook->name);
    printf("Year:\t%4d\n", pBook->year);
    printf("Place:\t%d\n", pBook->place);
}
 
/* Записывает в конец файла информацию о книгах. По умолчанию используется books.db
    если файл не существует - он создаётся */
int main(){
    Book_t book;
    FILE *dbf;
    char buf[STR_LEN];
    int answ;
    
    if ( (dbf = fopen(DEFAULT_DB, "ab")) == NULL ){
        printf("Can't open file %s\n", DEFAULT_DB);
        exit(1);
    }
    
    while ( 1 ) {
        printf("\n%s\nEnter 1 for add book or 0 for quit: ", SEP_LINE);
        answ = getchar();
        getchar();
        if ( answ == '0' || answ == EOF )
            break; /* на выход с вещами */
        if ( answ != '1' ){
            printf("Bad choice\n");
            continue;
        }
        book = createBook();
        printf("%s\nYou entered:\n", SEP_LINE);
        showBook(&book);
        printf("Is it correct? (y/n): ");
        answ = getchar();
        getchar();
        if ( answ == 'y' || answ == 'Y' ){
            if ( fwrite(&book, sizeof(Book_t), 1, dbf) != 1 ) {
                printf("Can't save data to file!\n");
                exit(1);
            }
        }
    }
    
    fclose(dbf);
    exit(0);
}

books_view.c
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
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "book.h"
 
/* Выводит в одну строку значения структуры */   
void prnBook(const Book_t *pB, int num_row){
    printf("%-3d%-20s%-30s%-7d%-5d\n", num_row, pB->author, pB->name, pB->year, pB->place);
}
 
/* Выводит заголовок */
void prnHead(void){
    printf("%s\n#  Author              Name                          Year   Place\n%s\n", SEP_LINE, SEP_LINE);
}
 
int main(void){
    int count, answ, stop, i, same_year;
    long int file_size;
    FILE *dbf;
    char buf[STR_LEN];
    Book_t *books;
    Book_t dummy;
    
    if ( (dbf = fopen(DEFAULT_DB, "rb")) == NULL ){
        printf("Can't open file %s\n", DEFAULT_DB);
        exit(1);
    }
    
    fseek(dbf, 0, SEEK_END);
    file_size = ftell(dbf);
    rewind(dbf);
    
    /* файл должен содержать некоторое количество объектов без остатка */
    if ( file_size % sizeof(Book_t) ){
        printf("ERROR: file %s corrupt!\n", DEFAULT_DB);
        exit(1);
    }
    count = file_size / sizeof(Book_t);
    if ( !count ){
        printf("ERROR: file %s is empty!\n", DEFAULT_DB);
        exit(1);
    }
    
    if ( (books = (Book_t *)calloc(count, sizeof(Book_t))) == NULL ){
        printf("Not enough memory!\n");
        exit(1);
    }
    
    if ( fread((void *)books, sizeof(Book_t), count, dbf) != count ){
        printf("Unexpected end of file!\n");
        exit(1);
    }
    fclose(dbf);
    
    stop = 0;
    while ( !stop ){
        printf("\n%s\nBooks in db: %d\n", SEP_LINE, count);
        printf("1 - show all, 2 - find place by author and name, 3 - show all of same author,\n");
        printf("4 - count all of same year, 0 - exit\nChoice one: ");
        answ = getchar();
        getchar();
        switch(answ){
            case '1' :
                prnHead();
                for ( i = 0; i < count; i++ )
                    prnBook(books + i, i + 1);
                printf("%s\n", SEP_LINE);
                break;
            case '2' :
                printf("Author: ");
                fgets(buf, STR_LEN, stdin);
                buf[strlen(buf) - 1] = '\0';
                strcpy(dummy.author, buf);
                printf("Name: ");
                fgets(buf, STR_LEN, stdin);
                buf[strlen(buf) - 1] = '\0';
                strcpy(dummy.name, buf);
                for ( i = 0; i < count; i++ )
                    if ( !strcmp(books[i].author, dummy.author) && !strcmp(books[i].name, dummy.name) )
                        printf("\n*** Found in place %d\n", books[i].place);
                break;
            case '3' :
                printf("Author: ");
                fgets(buf, STR_LEN, stdin);
                buf[strlen(buf) - 1] = '\0';
                prnHead();
                for ( i = 0; i < count; i++ )
                    if ( !strcmp(books[i].author, buf) )
                        prnBook(&books[i], i + 1);
                break;
            case '4' :
                same_year = 0;
                printf("Year: ");
                fgets(buf, STR_LEN, stdin);
                dummy.year = atoi(buf);
                for ( i = 0; i < count; i++ )
                    if ( books[i].year == dummy.year )
                        same_year++;
                printf("\n*** Fount %d books of %d year.\n", same_year, dummy.year);
                break;
            case '0' :
                stop = 1;
                break;
            default :
                printf("Bad choice - %c\n", answ);
                break;
        }
    }
    free(books);            
    
    return 0;
}

И файлик с демо базой и исходниками в придачу irinka.zip
А на С++ правильнее класс создать с сериализацией и прочими радостями ООП
1
0 / 0 / 0
Регистрация: 21.04.2009
Сообщений: 44
05.11.2009, 10:00  [ТС]
Спасибо большое!!! Но нужно все таки на С++
А за ту программу, что на С и на С++ это преподу спасибо!!! Он нам такой пример давал!
0
0 / 0 / 0
Регистрация: 21.04.2009
Сообщений: 44
06.11.2009, 17:08  [ТС]
Пожалуйста, помогите превести на С++!!!!!!!!!!!!!!!!!!!!!
0
Модератор
Эксперт PythonЭксперт JavaЭксперт CЭксперт С++
 Аватар для easybudda
12843 / 7592 / 1766
Регистрация: 25.07.2009
Сообщений: 13,973
10.11.2009, 02:45
Цитата Сообщение от Иринка Посмотреть сообщение
Пожалуйста, помогите превести на С++!!!!!!!!!!!!!!!!!!!!!
Голову сломал, как примерно то же на С++ исполнить. Какой-то чуждый мне язык, С и проще, и понятнее... А потому буду благодарен за конструктивные комментарии...

book.h
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
#ifndef _BOOK_H_
#define _BOOK_H_
    
#include <iostream>
#include <string>
    
#define DEFAULT_FILE "books.txt"
#define SEP_LINE "--------------------------------------------------------------------------------"
#define MAX_PLACES 100
    
using namespace std;
 
class Book {
private:
    string m_author;
    string m_name;
    int m_year;
    int m_place;
public:
    Book();
    Book(string, string, int, int);
    string getAuthor() const;
    void setAuthor(string);
    string getName() const;
    void setName(string);
    int getYear() const;
    void setYear(int);
    int getPlace() const;
    void setPlace(int);
    
    friend ostream& operator<<(ostream&, const Book&);
    friend istream& operator>>(istream&, Book&);
};
 
 
#endif // _BOOK_H_

book.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
#include "book.h"
    
Book::Book(){
    // empty
}
 
Book::Book(string author, string name, int year, int place){
    setAuthor(author);
    setName(name);
    setYear(year);
    setPlace(place);
}
 
string Book::getAuthor() const{
    return m_author;
}
 
void Book::setAuthor(string author){
    m_author = ( author.empty() ) ? "Unknown" : author;
}
 
string Book::getName() const{
    return m_name;
}
 
void Book::setName(string name){
    m_name = ( name.empty() ) ? "Untitled" : name;
}
 
int Book::getYear() const {
    return m_year;
}
 
void Book::setYear(int year){
    m_year = ( year > 1600 && year < 2020 ) ? year : 0;
}
 
int Book::getPlace() const {
    return m_place;
}
 
void Book::setPlace(int place){
    m_place = ( place > 0 && place < MAX_PLACES ) ? place : 0;
}
 
ostream& operator<<(ostream& ost, const Book& book){
    ost << book.m_author << endl << book.m_name << endl << book.m_year << endl << book.m_place << endl;
    return ost;
}
 
istream& operator>>(istream& ist, Book& book){
    getline(ist, book.m_author);
    getline(ist, book.m_name);
    ist >> book.m_year;
    ist.ignore();
    ist >> book.m_place;
    ist.ignore();
    return ist;
}

books_add.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
#include <fstream>
#include "book.h"
    
void viewBook(const Book& book){
    cout << SEP_LINE << endl;
    cout << "Author: " << book.getAuthor() << endl;
    cout << "Name: " << book.getName() << endl;
    cout << "Year: " << book.getYear() << endl;
    cout << "Place: " << book.getPlace() << endl;
    cout << SEP_LINE << endl;
}
 
void newBook(Book& book){
    string tmp_str;
    int tmp_int;
    cout << "Author: ";
    getline(cin, tmp_str);
    book.setAuthor(tmp_str);
    cout << "Name: ";
    getline(cin, tmp_str);
    book.setName(tmp_str);
    cout << "Year: ";
    cin >> tmp_int;
    book.setYear(tmp_int);
    cout << "Place: ";
    cin >> tmp_int;
    book.setPlace(tmp_int);
}
 
int main(int argc, char **argv){
    char *store_file_name;
    string answer;
    Book book("Unknown", "Untitled", 0, 0);
    ofstream store_file;
    
    if ( argc == 2 )
        store_file_name = argv[1];
    else
        store_file_name = DEFAULT_FILE;
    
    store_file.open(store_file_name, ios::out | ios::app);
    if ( !store_file.is_open() ) {
        cerr << "Can't open file " << store_file_name << endl;
        return 1;
    }
    
    do {
        cout << SEP_LINE << endl;
        newBook(book);
        cout << "Confirm:" << endl;
        viewBook(book);
        cout << "It is correct? (yes/no): ";
        cin >> answer;
        if ( answer == "yes" || answer == "YES" ){
            store_file << book;
            if ( store_file.fail() ) {
                cerr << "Can't write to file " << store_file_name << endl;
                store_file.close();
                return 1;
            }
            else {
                cout << "Saved to file." << endl;
            }
        }
        cout << endl << "One more time? (yes/no): ";
        cin >> answer;
        cin.ignore();
    } while ( answer == "yes" || answer == "YES" );
    
    store_file.close();
    return 0;
}

books_view.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 <fstream>
#include <vector>
#include <iomanip>
#include "book.h"
 
void prnHeader(){
    cout << SEP_LINE << endl;
    cout << setiosflags(ios::left) << setw(3) << "#" << setw(25) << "Author" << setw(35) << "Name"
        << setw(6) << "Year" << setw(6) << "Plase" << endl << SEP_LINE << endl;
}
 
void prnLine(int line_number, const Book& book){
    cout << setiosflags(ios::left) << setw(3) << line_number << setw(25) << book.getAuthor() 
        << setw(35) << book.getName() << setw(6) << book.getYear() << setw(6) << book.getPlace() << endl;
}
 
int main(int argc, char **argv){
    char *input_file_name;
    char answer;
    bool stop;
    int line;
    Book book;
    vector<Book> books;
    vector<Book>::iterator bi;
    ifstream input_file;
    string str_val;
    int int_val;
    
    if ( argc == 2 )
        input_file_name = argv[1];
    else
        input_file_name = DEFAULT_FILE;
    
    input_file.open(input_file_name, ios::in);
    if ( !input_file.is_open() ) {
        cerr << "Can't open file " << input_file_name << endl;
        return 1;
    }
    
    while ( input_file >> book )    
        books.push_back(book);
    
    input_file.close();
    
    stop = false;
    while ( !stop ) {
        cout << SEP_LINE << endl;
        cout << books.size() << " books in database. Allowed actions is:" << endl;
        cout << "0 - exit; 1 - show all; 2 - search place by author and name; 3 - show all same author; "
            << "4 - count by same year" << endl << "Choice one: ";
        cin >> answer;
        cin.ignore();
        switch ( answer ) {
            case '0' :
                stop = true;
                break;
            case '1' :
                prnHeader();
                for ( line = 1, bi = books.begin(); bi != books.end(); bi++, line++ )
                    prnLine(line, *bi);
                cout << SEP_LINE << endl;
                break;
            case '2' :
                cout << endl << "Author: ";
                getline(cin, str_val);
                book.setAuthor(str_val);
                cout << "Name: ";
                getline(cin, str_val);
                book.setName(str_val);
                for ( bi = books.begin(); bi != books.end(); bi++ )
                    if ( (*bi).getAuthor() == book.getAuthor() && (*bi).getName() == book.getName() )
                        cout << endl << "*** Found at place " << (*bi).getPlace() << endl;
                break;
            case '3' :
                cout << "Author: ";
                getline(cin, str_val);
                prnHeader();
                for ( line = 1, bi = books.begin(); bi != books.end(); bi++, line++ )
                    if ( (*bi).getAuthor() == str_val )
                        prnLine(line, *bi);
                break;
            case '4' :
                cout << "Year: ";
                cin >> int_val;
                book.setYear(int_val);
                for ( int_val = 0, bi = books.begin(); bi != books.end(); bi++ )
                    if ( (*bi).getYear() == book.getYear() )
                        int_val++;
                cout << endl << "*** Found " << int_val << " books of year " << book.getYear() << endl;
                break;
            default:
                cout << "Unknown command - " << answer << endl;
        }
    }
    
    return 0;
}

books.txt
Code
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
Deitel
How to programming with C++
2007
3
M. Lukas
FreeBSD
2004
2
Stivens
UNIX net applications development
2007
2
Stivens
TCP/IP Illustrated
2003
4
Kristansen & Torkington
PERL Coock Book
2000
2
Elger
C++ library
2000
1
Shildt
C# directory
2008
3

Собирать проще из командной строки:
для Visual Studio
1. запустить её консоль (пуск - MS VS - Visual Studio command prompt)
2. cd туда_где_файлы_лежат
3. cl books_add.cpp book.cpp
4. cl books_view.cpp book.cpp
Но при желании можно заморочиться создать два проекта books_view и books_add и в них вставить файлы соответствующие (важно про book.h не забыть)

для GCC
g++ -o books_add.exe books_add.cpp book.cpp
g++ -o books_view.exe books_view.cpp book.cpp
1
0 / 0 / 0
Регистрация: 21.04.2009
Сообщений: 44
10.11.2009, 21:13  [ТС]
Какой же всё таки сложный язык!!!
Спасибо вам ОГРОМНЕЙШЕЕ!!!!!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
10.11.2009, 21:13
Помогаю со студенческими работами здесь

Создание и обработка файлов
В массиве целых чисел M (14) найти среднее арифметическое всех четных элементов, стоящих на четных местах. Вывести на экран массив и...

Создание и обработка файлов в С
Для участия в конкурсе исполнителей необходимо заполнить анкету с данными: -Ф.И.О; -год рождения; -название страны; -класс...

Создание своих файлов
Например, есть приложение, которое создает файл с определенным расширением (своим) - filename.applic И так же может его читать (в файле...

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

Динамическое создание файлов.
Очень нужен пример такой на С/С++ (поф,ибо у меня DEV-C++).Кто поможет ?:( ЗЫ: Вылетает Unhandled Win32 exception =_= в моем примере


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
Отправка уведомления на почту при изменении наименования справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере изменения наименования типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной. . .
модель ЗдравоСохранения 5. Меньше увольнений- больше дохода!
anaschu 24.03.2026
Теперь система здравосохранения уменьшает количество увольнений. 9TO2GP2bpX4 a42b81fb172ffc12ca589c7898261ccb/ https:/ / rutube. ru/ video/ a42b81fb172ffc12ca589c7898261ccb/ Слева синяя линия -. . .
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. . Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
Контроль уникальности заводского номера - вариант №2
Maks 24.03.2026
В отличие от предыдущего варианта добавлено прерывание циклов, также добавлены новые переменные для сохранения контекста ошибки перед прерыванием цикла: Процедура ПередЗаписью(Отказ, РежимЗаписи,. . .
SDL3 для Desktop (MinGW): Вывод текста со шрифтом TTF с помощью библиотеки SDL3_ttf на Си и C++
8Observer8 24.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-text-sdl3-c. zip finish-text-sdl3-cpp. zip
Жизнь в неопределённости
kumehtar 23.03.2026
Жизнь — это постоянное существование в неопределённости. Например, даже если у тебя есть список дел, невозможно дойти до точки, где всё окончательно завершено и больше ничего не осталось. В принципе,. . .
Модель здравоСохранения: работники работают быстрее после её введения.
anaschu 23.03.2026
geJalZw1fLo Корпорация до введения программа здравоохранения имела много невыполненных работниками заданий, после введения программы количество заданий выросло. Но на выплатах по больничным это. . .
Контроль уникальности заводского номера - вариант №1
Maks 23.03.2026
Алгоритм контроля уникальности заводского (или серийного) номера на примере нетипового документа выдачи шин для спецтехники с табличной частью, разработанного в конфигурации КА2. Данные берутся из. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru