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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Svetochek
0 / 0 / 0
Регистрация: 26.05.2009
Сообщений: 6
#1

Файлы данных - C++

26.05.2009, 23:00. Просмотров 752. Ответов 12
Метки нет (Все метки)

Добрый вечер милые форумчане. Просто умоляю вас помочь мне сделать лабораторку по информатике...я совершенно не понимаю этого С++(((((

вот задание:

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

HTML5
1
2
3
4
5
6
7
8
--------------------------------------------------------------------------------
     код            | код    |  пол        |  количество работников за зазрядами      
  предприятия  | цеха   |               |--------------------------------------------
                      |          |              |   1   |   2   |   3   |   4   |   5   |   6   |
-------------------------------------------------------------------------------
 
                                  мужчины
                                  женщины


Очень прошу помогите......

Добавлено через 13 минут 24 секунды

-------------------------------------------------------------------------------
код | код | пол | количество работников за зазрядами
предприятия | цеха | |--------------------------------------------
| | | 1 | 2 | 3 | 4 | 5 | 6 |
-------------------------------------------------------------------------------

мужчины
женщины
[/HTML]


так лучше видно
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.05.2009, 23:00     Файлы данных
Посмотрите здесь:

Файлы данных - C++
вОТ задачка! NSI ( нормативно-справочная информация) для расчета заработной платы. TAB - табельный номер; ...

Бинарные файлы данных - C++
Доброго времени суток, господа) извольте помочь мне с кодом):senor: Задание: Есть бинарный файл Ф1 с целыми числами:10 отрицательных...

Бинарные файлы данных(задача) - C++
Друзья, нужна помощь. Код то написан, но с таких глупых размышлений. Прошу редактировать, а если вообще 0, то подскажите что к чему. ...

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

Бинарные файлы данных(задача) - C++
Не могу разобраться как реализовать задачу в коде: Задан бинарный файл с целыми числами. Нужно записать в другой файл сначала...

Не могу создать файлы входных и выходных данных - C++
Не понимаю что неправильно в открытии и создании input.txt и output.txt В универе на линуксе не надо писать путь а просто FILE *in; ...

Структуры и файлы. Ввод структурированных данных и их запись в файл - C++
Составить программу, которая с использованием библиотеки классов языка С++ для работы с файлами выполняет следующие действия: – ввод...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Delphin_KKC
UNIX-way
709 / 494 / 17
Регистрация: 15.01.2009
Сообщений: 1,721
26.05.2009, 23:22     Файлы данных #2
Во-первых, какого запроса? Эта программа должна работать с базами данных? Тогда в каком формате? Или же используется какой-то свой формат хранения данных? В последнем случае без описания этого формата помочь почти нереально.
Svetochek
0 / 0 / 0
Регистрация: 26.05.2009
Сообщений: 6
27.05.2009, 00:19  [ТС]     Файлы данных #3
это должно быть консольное приложение, на экран должно вот это выводиться и считать количество работников за каждым разрядом работ исходя из пола работника....

тоесть типа оно должно подсчитывать и выводить примерно в таком виде, как на экране....
Delphin_KKC
UNIX-way
709 / 494 / 17
Регистрация: 15.01.2009
Сообщений: 1,721
27.05.2009, 00:47     Файлы данных #4
Откуда оно (приложение) должно брать данные для подсчётов? С клавиатуры? С файла? С сервера в интернете? Или ещё с какойто матери?
З.Ы. Сорри, аккумулятор в ноуте сел. Завтра уже продолжим.
Svetochek
0 / 0 / 0
Регистрация: 26.05.2009
Сообщений: 6
27.05.2009, 20:40  [ТС]     Файлы данных #5
с клавиатуры)

Добавлено через 19 часов 32 минуты 43 секунды
ааааааа спасайте мальчики!!!!!!!!!!!!!!!!!!!

Добавлено через 53 секунды
ну пожалуйста
Delphin_KKC
UNIX-way
709 / 494 / 17
Регистрация: 15.01.2009
Сообщений: 1,721
27.05.2009, 21:11     Файлы данных #6
Если я правильно понял - алгоритм работы программы должен быть следующий:
1)Программа начинает заполнять внутренний массив информацией о сотрудниках
для этого:
1.1)программа выводит запрос "Код предприятия" и ответ на него заносит в запись в массиве.
1.2)программа по очереди выдаёт подобные запросы про код цеха, пол, разряд работника. (логично было б ещё и ФИО или код работника спрашивать)
1.3)программа спрашивает хотим ли мы внести ещё одну запись? Если хотим - программа переходит к новой записи и далее - к пункту 1.1 сего списка. Иначе - далее.
2)программа анализирует массив и выводит результаты в форме, показанной в первом посте.
Примечание: коды предприятия и цеха, я так понимаю, не имеют значения (как и ФИО или код сотрудника) но "для понту" надо реализовать их ввод (преподы это любят ).
Одно непонятно: а каким боком в этой программе тема "файлы данных"?
Или же надо разделить задачу на две программы, первая из которых занимается вводом данных (пункт 1 списка) и сохранением их в файл, а другая - анализом оного файла(пункт 2).

Добавлено через 4 минуты 45 секунд
И ещё пара вопросов:
1) какие сроки сдачи?
2) какие приёмы можно использовать? (т.е. что вы к этому моменту выучили?; например - можно ли использовать динамические переменные)
Svetochek
0 / 0 / 0
Регистрация: 26.05.2009
Сообщений: 6
27.05.2009, 21:39  [ТС]     Файлы данных #7
1) какие сроки сдачи? - до завтра...аааааааааа
2) какие приёмы можно использовать - по минимуму

Добавлено через 4 минуты 6 секунд
вот код похожей программы, другой вариант

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 "stdafx.h"
#include "stdio.h"
#define n 10
 
int _tmain(int argc, _TCHAR* argv[])
{
    FILE *source;
    FILE *result;
    int i = 0;
    float s;
    int k;
    int l;
    float sum[6] = {0};
    int q[6] = {0};
    int code[n];
    int codw[n];
    int digit[n];
    float sal[n];
    float mean[6] = {0};
    float c = 0;
    char yesno;
    source = fopen("source.txt", "r");
    for (i=0;i<=(n-1);i++)
    {
        fscanf(source, "%i", &code[i]);
        fscanf(source, "%i", &codw[i]);
        fscanf(source, "%i", &digit[i]);
        fscanf(source, "%f", &sal[i]);
    }
    fclose(source);
    for (i=0;i<=(n-1);i++)
    {
        if (digit[i] == 1) {sum[0] += sal[i]; q[0]++;}
        if (digit[i] == 2) {sum[1] += sal[i]; q[1]++;}
        if (digit[i] == 3) {sum[2] += sal[i]; q[2]++;}
        if (digit[i] == 4) {sum[3] += sal[i]; q[3]++;}
        if (digit[i] == 5) {sum[4] += sal[i]; q[4]++;}
        if (digit[i] == 6) {sum[5] += sal[i]; q[5]++;}
    }
    for (i=0;i<6;i++)
    {
        mean[i] = sum[i] / q[i];
    }
    printf("Do you want to show out information in a file? (y/n) ");
    scanf("%c", &yesno);
    if (yesno == 'y')
    {
    result = fopen("result.txt", "w+");
    fprintf(result, "---------------------------------------------------------------------------------\n");
    fprintf(result, "|   Code   |  Code  |                           Mean                            |\n");
    fprintf(result, "|    of    |   of   |                           Value                           |\n");
    fprintf(result, "|Enterprise|Workshop|------------------------------------------------------------\n");
    fprintf(result, "|          |        |    1    |    2    |    3    |    4    |    5    |    6    |\n");
    fprintf(result, "---------------------------------------------------------------------------------\n"); 
    fprintf(result, "|%10i|%8i|%9.2f|%9.2f|%9.2f|%9.2f|%9.2f|%9.2f|\n", code[1], codw[1], mean[0], mean[1], mean[2], mean[3], mean[4], mean[5]);
    fprintf(result, "---------------------------------------------------------------------------------\n");
    fclose(result);
    printf("Done. Check \"Result.txt\" in the parent directory. Press Enter to continue...");
    }
    else
    {
    printf("\n---------------------------------------------------------------------------\n");
    printf("|   Code   |  Code  |                          Mean                       |\n");
    printf("|    of    |   of   |                          Value                      |\n");
    printf("|Enterprise|Workshop|------------------------------------------------------\n");
    printf("|          |        |    1   |    2   |   3    |   4    |   5    |   6    |\n");
    printf("---------------------------------------------------------------------------\n");    
    printf("|%10i|%8i|%8.2f|%8.2f|%8.2f|%8.2f|%8.2f|%8.2f|\n", code[1], codw[1], mean[0], mean[1], mean[2], mean[3], mean[4], mean[5]);
    printf("---------------------------------------------------------------------------\n");
    }
    getchar();
    getchar();
    return 0;
}

там задание было

"На основе запроса вычислить среднюю заработную плату работников за разрядом работ. Рассчитанные показатели вывести в следующей форме:".....дальше форма
Rififi
2338 / 1053 / 44
Регистрация: 03.05.2009
Сообщений: 2,656
27.05.2009, 21:45     Файлы данных #8
ааааааа спасайте мальчики!!!!!!!!!!!!!!!!!!!
некоторым мальчикам нужна мотивация.
Delphin_KKC
UNIX-way
709 / 494 / 17
Регистрация: 15.01.2009
Сообщений: 1,721
27.05.2009, 21:47     Файлы данных #9
В 22й строке твоего кода есть открытие файла "source.txt". Вот хотелось бы посмотреть на этот файл но для _твоего_ случая. Ибо в приведённом примере не считывается пол.

Добавлено через 49 секунд
Цитата Сообщение от Rififi Посмотреть сообщение
ааааааа спасайте мальчики!!!!!!!!!!!!!!!!!!!
некоторым мальчикам нужна мотивация.
А тем, у кого есть мотивация - нужна информация
Svetochek
0 / 0 / 0
Регистрация: 26.05.2009
Сообщений: 6
28.05.2009, 01:25  [ТС]     Файлы данных #10
некоторым мальчикам нужна мотивация.

я милая...цем)

Добавлено через 42 секунды
короче сделайте хоть что-нибудь,чтоб работало

Добавлено через 10 минут 23 секунды
вот общие требования:

В отдельном файле подготовить набор данных, который отвечает структуре данных избранного варианта задачи на выполнение лабораторной работы. Общий состав структуры данных определяется индивидуально. Файл с данными каждой отдельной задачи должен содержать лишь те элементы структуры, которые необходимые для выполнения расчетов. Обеспечить возможность редактирования файла с данными удобными для пользователя способами. Например, с помощью текстового редактора «Блокнот».
Реализовать в программе принудительный синтаксический контроль данных, которые сохраняются в файле и используются во время проведения расчетов.
Организовав диалог с пользователем обеспечить возможность выбора файла данных, вывода результатов выполненных расчетов на экран дисплея или в отдельный, указанный пользователем, файл.

Добавлено через 38 секунд
мальчики..мне сдавать завтра.......(((((

Добавлено через 17 минут 18 секунд
хелп

Добавлено через 2 часа 10 минут 32 секунды
((((((((((((((

Добавлено через 36 минут 9 секунд
помогитееееееее
Search..
Заказ софта
340 / 185 / 10
Регистрация: 26.05.2009
Сообщений: 863
28.05.2009, 04:29     Файлы данных #11
Я Вас наведу на путь праведный:

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
#include <stdio.h>
#include <locale.h>
 
struct svetochek
{
    int pcod[50];
    int ccod[50];
    int numbrab[50][6];
    int dender[50];
};
 
int main(int argc, char * argv [])
{
    setlocale(LC_ALL,"Rus");
    svetochek info;
    int number;
    printf("№: ");
    scanf_s("%d", & number);
 
    printf("Код предприятия: ");
    scanf_s("%d", & info.pcod[number]);
 
    printf("Код цеха: ");
    scanf_s("%d", & info.ccod[number]);
 
    printf("Пол: ");
    scanf_s("%d", & info.dender[number]);
 
    printf("Количество работников за разрядами.\n");
    printf("Первый разряд: ");
    scanf_s("%d", & info.numbrab[number][0]);
    printf("Второй разряд: ");
    scanf_s("%d", & info.numbrab[number][1]);
    printf("Третий разряд: ");
    scanf_s("%d", & info.numbrab[number][2]);
    printf("Четвертый разряд: ");
    scanf_s("%d", & info.numbrab[number][3]);
    printf("Пятый разряд: ");
    scanf_s("%d", & info.numbrab[number][4]);
    printf("Шестой разряд: ");
    scanf_s("%d", & info.numbrab[number][5]);
 
    //---------------------------------------------------
 
    int yn;
 
    printf("Вы хотите просмотреть инфо по всем предприятиям (""да"" 1//2 ""нет""): ");
    scanf_s("%d", & yn);
    if(yn == 1)
    {
        printf("Примечание: 1 - Мужчина. 0 - Женщина.\n");
        printf("---------------------------------------------------------------------------\n");
        printf("Код Предприятия | Код цеха  | Пол   |   Кол-во работников за разрядами |\n");
        printf("----------------------------------------| 1   | 2   | 3   | 4   | 5   | 6   |\n");
        printf("***************************************************************************\n");
 
        for(int i = 0; i < 50; i++)
        {
            printf("  %d        |  %d       |  %d       | %d | %d | %d | %d | %d | %d   |\n", 
                info.pcod[i], info.ccod[i], info.dender[i], info.numbrab[i][0], info.numbrab[i][1], 
                info.numbrab[i][2], info.numbrab[i][3], info.numbrab[i][4], info.numbrab[i][5]);
        }
    }
    else
    {
        int yes;
        printf("№ Предприятия: ");
        scanf_s("%d", & yes);
        if(yes < 50)
        {
        printf("---------------------------------------------------------------------------\n");
        printf("Код Предприятия | Код цеха  | Пол   |   Кол-во работников за разрядами |\n");
        printf("----------------------------------------| 1   | 2   | 3   | 4   | 5   | 6  |\n");
        printf("***************************************************************************\n");
        for(int j = 0; j < yes; j++)
        {
        printf("  %d        |  %d       |  %d   | %d | %d | %d | %d | %d | %d  |\n", info.pcod[j+1], 
            info.ccod[j+1], info.dender[j+1], info.numbrab[j+1][0], info.numbrab[j+1][1], info.numbrab[j+1][2], 
            info.numbrab[j+1][3], info.numbrab[j+1][4], info.numbrab[j+1][5]);
        }
        }
    }
 
    return 0;
}
Svetochek
0 / 0 / 0
Регистрация: 26.05.2009
Сообщений: 6
28.05.2009, 09:00  [ТС]     Файлы данных #12
вы меня спасли....оченя вам признательно....спасибо громаднющее

Добавлено через 19 минут 3 секунды
ой а оно както нитак считает...что делать??????

Добавлено через 3 минуты 28 секунд
оно только выводит количество работников, что было введдено, но не считает количества исходя из пола работников(((
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.05.2009, 02:41     Файлы данных
Еще ссылки по теме:

Как записывать массивы, структуры и блоки данных в файлы? - C++
Хочу понять как записывают данные в файлы. Интересует как записывают массивы в файл. И как их потом считать. Как записывают структуры и...

Сжатие данных методом Лемпеля-Зива-Велча. Почему некоторые файлы увеличиваются в размере? - C++
Здравствуйте. Подскажите, пожалуйста, почему файлы с расширениями (mp3, djvu, pdf, avi) при использовании LZW-метода сжатия, только лишь...

База данных файлы - Pascal
Составить базу данных на паскале..использовать тему файлы,типизированные файлы,записи...Составить таблицу чемпионата мира по футболу..ввод...

Типизированные файлы данных - Delphi
Здравствуйте! Вот в чем состоит мой вопрос: в книге, по которой я учусь, по файлам есть только инфа про текстовые файлы TextFile, а мне...

Восстановление данных. Разные файлы - Восстановление данных
Нечаянно удалил папку мои документы с диска D, фото, офисные документы и тд. Восстановил программой Recuva, по глупости на тот же диск....


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

Или воспользуйтесь поиском по форуму:
Search..
Заказ софта
340 / 185 / 10
Регистрация: 26.05.2009
Сообщений: 863
29.05.2009, 02:41     Файлы данных #13
Версия 2 =)

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
#include <stdio.h>
#include <string.h>
#include <locale.h>
 
struct test
{
    char Name[10];
    char Surname[10];
    int Age;
    int Salary;
    ////////////////////
    int stringsize;
};
 
int main(int argc, char * argv [])
{
    setlocale(LC_ALL,"Rus");
    int i, num;
    const int N = 100;
    test str[N];
    int all = 0;
 
    printf("Do you want add man [Yes(1) or No(0)]: ");
    scanf_s("%d", & i);
    if(i == 1)
    {
        printf("Сколько записей Вы хотите добавить: ");
        scanf_s("%d", & str[0].stringsize);
        printf("|Збор Данных - - - - - - - - - - - - - - - - - - - - - -|\n");
        if(str[0].stringsize > 100 || str[0].stringsize < 1)
        {
            fprintf(stderr, "Error! Max numbers is 100\n");
            return -1;
        }
        for(int jsd = 0; jsd < str[0].stringsize; jsd++)
        {
            printf("#%d-----------------------------|\n", jsd + 1);
            printf("Please entered name: ");
            scanf_s("%s", str[jsd].Name, 10);
            printf("#%d-----------------------------|\n", jsd + 1);
            printf("Please entered surname: ");
            scanf_s("%s", str[jsd].Surname, 10);
            printf("#%d-----------------------------|\n", jsd + 1);
            printf("Please entered age: ");
            scanf_s("%d", & str[jsd].Age);
            printf("#%d-----------------------------|\n", jsd + 1);
            if(str[jsd].Age > 120)
            {
                fprintf(stderr, "Error! Incorrect your age...\n");
                return -1;
            }
            printf("Please entered salary: ");
            scanf_s("%d", & str[jsd].Salary);
            printf("\n*******************************|\n\n", jsd + 1);
        }
    }
    else if(i > 1 || i < 0)
    {
        fprintf(stderr, "Error! Do you must entered 1 or 0\n");
        return -1;
    }
 
    printf("View list [All(1) or Once(0)]: ");
    scanf_s("%d", & num);
    if(num == 1)
    {
            printf("|-------------------------------------------------------|\n");
            printf("|Name           |Surname    |Age    |Salary |\n");
            printf("|-------------------------------------------------------|\n");
            while(all < str[0].stringsize)
            {
            printf("|%s     |%s     |%d |%d |\n", str[num-1].Name, str[num-1].Surname, str[num-1].Age, str[num-1].Salary);
            num++;
            all++;
            }
            printf("|-------------------------------------------------------|\n");
 
    }
    else if(num == 0)
    {
        printf("Please entered number list: ");
        scanf_s("%d", & num);
        if(num > 100 || num < 1)
        {
            fprintf(stderr, "Error! Max cout list is 100 [Min - 1]");
            return -1;
        }
 
        printf("|-------------------------------------------------------|\n");
        printf("|Name           |Surname    |Age    |Salary |\n");
        printf("|-------------------------------------------------------|\n");
        printf("|%s     |%s     |%d |%d |\n", str[num-1].Name, str[num-1].Surname, str[num-1].Age, str[num-1].Salary);
        printf("|-------------------------------------------------------|\n");
    }
    else
    {
        fprintf(stderr, "Incorect Number!\n");
        return -1;
    }
 
 
    return 0;
}
Microsoft Corporation (c) =)
Yandex
Объявления
29.05.2009, 02:41     Файлы данных
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru