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

Программа, которая будет работать с персональными данными 5 сотрудников малого предприятия - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Сортировка слиянием: подсчитать количество перестановок http://www.cyberforum.ru/cpp-beginners/thread1203144.html
Привет всем. Дана задача: подсчитать количество перестановок при сортировке массива. Нужен быстрый алгоритм, желательно алгоритм сортировки слиянием. Вот код: #include <stdio.h> #include <conio.h> void Merge(int *A, int first, int last) { int middle, start, final, j; int *mas=new int; middle = (first + last) / 2; start = first;
C++ Вставка элемента в массив после последнего положительного Нужно сделать программу, которая бы вставляла после последнего положительного элемента массива заданное значение, в противном случае вывести "ошибку". Что-то не получается. Посмотрите и подскажите, где ошибка? #include <iostream.h> #include <conio.h> #include <stdlib.h> #include <time.h> void main () { int mas, i, a, b; cout<<"Vvedite chislo: "; cin >>a; http://www.cyberforum.ru/cpp-beginners/thread1203142.html
Работа с переменными C++
В универе дали задание сделать что-то типо текстового редактора, выполняющего три функции: 1. Повышение регистра первых букв слов 2. Добавление в конец текста нового текста 3. Вставка в конец текста новый текст из файла Исходный текст вводится в начале, а затем на выбор предаставляются эти функции, причем порядок использования неважен и количество использования тоже не ограничено. То есть...
Получить все n-элементные последовательности из нулей и единиц содержащие ровно m единиц (m<=n) C++
Получить все n-элементные последовательности из нулей и единиц содержащие ровно m единиц (m<=n) Помогите, пожалуйста
C++ Как достать объект-контейнер, а не его элемент http://www.cyberforum.ru/cpp-beginners/thread1203106.html
Добрый вечер всем. Возник вопрос. Я читал Страуструпа и на одной из его глав, есть упражнение по созданию класса-контейнера, в котором также есть контейнеры (например vector и string). Суть следующая: У меня есть Структура S и шаблон, со своим распределителем памяти. В структуре S есть указатель val, который хранит адрес 1-го элемента. template <class T, class A = allocat<T> > struct S
C++ Упорядочивание массива структур по нескольким полям Есть программа,которая сортирует студентов по году рождения. #include <conio.h> #include <iostream> #include <stdio.h> const int n=3; struct student { char fio; char god; }; подробнее

Показать сообщение отдельно
freemanc
 Аватар для freemanc
12 / 12 / 1
Регистрация: 27.11.2012
Сообщений: 140
09.06.2014, 03:55     Программа, которая будет работать с персональными данными 5 сотрудников малого предприятия
Valeryi19,
Цитата Сообщение от Valeryi19 Посмотреть сообщение
Можно ли как-то сравнить параметр "зарплата" ( A[i][6]) с некой константой?
Да, конечно. В данном случае, массив весь состоит из строк. Вам нужно преобразовать строку в число, для того чтобы вычислить среднюю зарплату и сравнивать с другими. В этом вам поможет функция atof (<строка>) - преобразует массив символов в число с плавающей точкой (подробней: http://www.cplusplus.com/reference/c.../atof/?kw=atof). У этой функции есть собрат - atoi, которая делает тоже самое, только превращает строку в целое число.
Но так как у вас будет определяться среднее арифметическое, нужно учитывать и дробную часть.
C++
1
2
//преобразование строки в число
float value = atof(A[i][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
#include <iostream.h>
#include <conio.h>
#include<locale>
#include <windows.h>
#include <stdlib.h>  //подключаем atof
 
void main()
{
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
    setlocale(LC_ALL,"");
    //объявляем массив на 5 человек, у которых 7 атрибутов, длина каждого атрибута  - 256 символов:
    char A[5][7][256];
    //ввод информации о 5 сотрудников
    //занесение данных о сотрудниках в массив:
    for(int i = 0; i < 5; i++)
    {
        cout<<"Введите имя: ";
        cin>>A[i][0];
        cout<<"Введите фамилию: ";
        cin>>A[i][1];
        cout<<"Введите отчество: ";
        cin>>A[i][2];
        cout<<"Введите пол: ";
        cin>>A[i][3];
        cout<<"Введите год рождения: ";
        cin>>A[i][4];
        cout<<"Введите должность: ";
        cin>>A[i][5];
        cout<<"Введите размер зарплаты: ";
        cin>>A[i][6];
    }
    //создаем указатель на файл
    FILE* f;
    char path[256];     //путь к файлу
    cout<<"Введите путь к файлу: ";
    cin>>path;
    f = fopen(path, "w");             //открываем файл на запись ( "w" означает, что файл создастся, если его не сущ., либо перезапишется)
    float sum = 0;                    //объявляем наше среднее арифметическое зарплат сотрудников, и инициализируем 0-м
    //Определям среднюю зарплату
    for(int i = 0; i < 5; i++)
        sum += atof(A[i][6]) / 5;
    //Проверяем зарплату каждого человека с средней зарплатой
    for(int i = 0; i < 5; i++)
        if(atof(A[i][6]) > sum)        //если текущая больше средней
        {
            for(int j = 0; j < 7; j++) //записываем в файл все атрибуты человека
            {
                fputs(A[i][j], f);  //пишем j-ый атрибут
                fputs(" ", f);      //разделяем их пробелами чтобы не сливались
            }
            fputs("\n", f);   //переходим на новую строчку в файле
        }
    fclose(f);     //закрываем файл
 
    //выводим данные из массива:
    for(int i = 0; i < 5; i++)
    {
        cout<<A[i][0]<<" "<<A[i][1]<<" "<<A[i][2]<<", "<<A[i][3]<<", "<<A[i][4]<<", "<<A[i][5]<<", "<<A[i][6]<<endl;
    }
    _getch();
}

Не по теме:

Быстрее знакомьтесь со структурами данных, там такого типа вопросы гораздо проще и удобней решаются

 
Текущее время: 22:14. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru