Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.90/29: Рейтинг темы: голосов - 29, средняя оценка - 4.90
 Аватар для ftp13
3 / 3 / 2
Регистрация: 18.10.2012
Сообщений: 101

Двухмерный массив с разными типами данных

09.12.2014, 19:25. Показов 6078. Ответов 23
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброе время суток.
Есть задание
Задание №4. Двумерные массивы. (5 сотрудников)
Есть информация о фамилии сотрудника, табельном номере и з\п (в месяц).
Вводим кол-во отработанных дней каждым сотрудником и выводим сколько ему нужно заплатить.

Пример:
Введите фамилию сотрудника:
Иванов
Количество отработанных дней:
10
Иванов 3645 (таб.номер) - 10500 руб.
Задание поменять нет возможности, да и самому доделать хочется.

Есть кое какие наработки, и тут же есть проблемы которые не могу решить.
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
#include "stdafx.h"
#include <iostream>
#include <string>
 
using namespace std;
 
 
int main()
{
    setlocale(LC_ALL,"Russian");
    string group[5][3];
    string name,days;
    unsigned int flags;
    unsigned int i,j;                   //vars for for
 
    /* Input data*/
        for(i=0;i<5;i++)
            {
                cout<<"Введите имя >>";getline(cin,group[i][0]);
                cout<<"Введите ID >>";getline(cin,group[i][1]);
                cout<<"Введите Зарплату >>";getline(cin,group[i][2]);
                cout<<"=====================================================\n";
            }                                                                       
    /*Strat user dialogs*/
        //retry:                                                                    //GOTO else false
        cout<<"Введите имя >>";cin>>name;
        cout<<"Введите колличество дней>>";cin>>days;
            /*Search in massive*/
                for(i=0;i<2;i++)
                    {
                        int flags_str=name.compare(group[i][0]);
                        cout<<flags_str<<endl;
                        if(flags_str=0)
                                flags=i;
                        else
                            {
                                cout<<"Такого работника нет в массиве\n";
                                goto retry; 
                            }
                
                    }
            /*End search in massive*/
            /*Payroll
        unsigned int a = atoi(group[flags][2]);                                 //string->char->int
        unsigned int pr=(/31)*days;
        */
    /*Input data about persone*/
                cout<<group[flags][0]<<"\t"<<group[flags][1];
 
    system("Pause");
    return 0;
}
1)проверка в if всегда выдает что нет такого человека в массиве(даже если flags=0), и если вводить две переменных совпадающим в массиве, тогда первое значение принимает 0, а второе -1.
Как все таки пройти проверку?
2)Как string преобразовать в int (может кто-то уже сталкивался с этим, и может подсказать куда копать).
3)Не по теме:зачем в ЯП ввели константу, если число забитое вручную уже константа?



P.S:если есть идеи как решить по другому данное задание, поделитесь пожалуйста.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
09.12.2014, 19:25
Ответы с готовыми решениями:

Массив с разными типами данных
Нужно создать массив, с разными типами данных т.е., чтобы пользователь мог сам определить тип массива при вводе. #include...

Сделать статический массив с разными типами данных
Задача такова, есть ровно 60 магазинов. У каждого магазина по 6 параметров: 1) Адрес типа char 2) Заработок за сутки типа int 3)...

Массив с разными типами через memcpy()
Здравствуйте! Подскажите пожалуйста, как через memcpy() организовать массив с разными типам? Я пытаюсь так: char * packet; ...

23
 Аватар для ftp13
3 / 3 / 2
Регистрация: 18.10.2012
Сообщений: 101
09.12.2014, 22:42  [ТС]
Студворк — интернет-сервис помощи студентам
flags это переменная в которую записывается номер элемента(если найдено), чтобы потом я мог по этому номеру добраться до ячейки.Это такой числовой указатель, и за чем проводить над ним проверки я не совсем понимаю вас.
Для проверок была переменная flags_str - это такой указатель что объект найден, а функция .compare(); возвращает 0 - если есть совпадение, остальные значения если нет.
P.S:к сожелению у меня сейчас нет времени рассматривать это подробнее, но этим я точно займусь.А так еще раз огромное спасибо за помощь.(Как только я разберусь или появятся вопросы по вашему варианту, я наберу в лс, вы не против?)
0
19501 / 10106 / 2461
Регистрация: 30.01.2014
Сообщений: 17,825
09.12.2014, 22:48
ftp13, я твою программу прекрасно понимаю, не трать время на объяснения
Чтобы удостовериться в том, что я прав, просто возьми и вставь мой вариант из поста 9 как есть, без изменений. Убедись, что он работает. Потом еще раз прочитай мой предыдущий пост

Добавлено через 2 минуты
Цитата Сообщение от ftp13 Посмотреть сообщение
Это такой числовой указатель, и за чем проводить над ним проверки я не совсем понимаю вас.
Этот "числовой указатель" используется одновременно для двух целей. Если он -1, то это служит флагом для того, чтобы обозначить, что мы не нашли совпадений. Если он не -1, то он служит этим самым "числовым указателем", чтобы работать с найденным элементом. Вот и все.

Добавлено через 1 минуту
Цитата Сообщение от ftp13 Посмотреть сообщение
Как только я разберусь или появятся вопросы по вашему варианту, я наберу в лс, вы не против?
Да пожалуйста
0
 Аватар для ftp13
3 / 3 / 2
Регистрация: 18.10.2012
Сообщений: 101
09.12.2014, 22:52  [ТС]
DrOffset там где я канючил на счет ошибки я понял что был неправ
Но приятно что кто то из более опытных людей помогли. До встречи на просторах великого www.
0
19501 / 10106 / 2461
Регистрация: 30.01.2014
Сообщений: 17,825
09.12.2014, 23:00
Цитата Сообщение от ftp13 Посмотреть сообщение
там где я канючил на счет ошибки я понял что был неправ
Это бывает со всеми.
Просто С и С++ это языки, которые требуют повышенной внимательности.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
09.12.2014, 23:00

Матрица с разными типами данных в ней
Мне нужно создать матрицу, которая содержала бы разные типы данных, содержащиеся, в ней. По сути обыкновенная таблица, только в виде...

Реализация Fifo с разными типами данных
Доброго времени суток! Задача следующая: Есть абстрактный класс CData, от него наследуются классы CByte, CWord, CNumber. Нужно...

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

Работа с указателями на функции, разными типами данных
Здравствуйте. Согласно заданию, я создаю указатели на функции следующего вида: int (*func1)(int *); int (*func2)(int *, float *); ...

Список с разными типами данных, унаследованным от одного
Доброго времени суток! У меня имеются унаследованные классы от одного , так же имеется vector&lt;общий_тип*&gt; arr. В программе создаются...


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

Или воспользуйтесь поиском по форуму:
24
Ответ Создать тему
Новые блоги и статьи
Алиса нашла кучу ошибок компиляции и запуска в проекте, который без проблем компилировался и запускался)))
anaschu 30.06.2026
Я пока посмеюся, но завтра проверю. А вообще интерсно. Дал алисе файл, в котором точно нет ошибок компиляции и запуска, и попросил их найти. Нашла кучу))) Критические ошибки, мешающие компиляции и. . .
сукцессия 16. Общий обзор, в основном что бы другие ии поняли
anaschu 29.06.2026
# Передаточный документ: модель микоризной сукцессии (для нового чата) Этот документ предназначен для того, чтобы новый чат Claude мог продолжить работу без необходимости заново разбираться в. . .
сукцессия 15 неявная схема
anaschu 29.06.2026
Алиса Калибровка параметров симбиотической модели: технический обзор Содержание: Введение Постановка проблемы Технические аспекты реализации Процесс внедрения изменений
сукцессия 14. Обновленная схема модели
anaschu 28.06.2026
ГЛОБАЛЬНАЯ ОПИСАТЕЛЬНАЯ СПЕЦИФИКАЦИЯ ЭКОСИСТЕМНОЙ МОДЕЛИ «SOIL CHEMISTRY & MYCORRHIZA 2. 0» https:/ / ibb. co/ NnkGpfMd Представленная интегрированная схема описывает непрерывную нелинейную. . .
сукцессия 13. Питон модель трехзонного мицелия, пока что в основном арбускулярного
anaschu 28.06.2026
## Разработка агентной модели микоризной сукцессии: от выявления артефактов к созданию комплексной системы ### Аннотация Представлено исследование по разработке агентной модели микоризной. . .
сукцессия 12. краткий список проверок модели перед запуском.
anaschu 27.06.2026
Скрытые отказы в моделях систем динамики (SD-models) экологических систем: два случая из практики Контекст Разбирался прототип модели систем динамики (SD-модели) микоризной сукцессии: пять. . .
Сукцессия 11. Проверка орудий перед войной: разработка через тестирование
anaschu 27.06.2026
Как не дать модели соврать самой себе: проверки для симуляции микоризной сукцессии Введение Когда вы строите математическую модель живой системы — грибов, растений, почвы — главная опасность. . .
10 сукцессия. Питон код войны грибов и растений
anaschu 27.06.2026
import numpy as np class PlantAgent: def __init__(self, name, strategy, initial_biomass): self. name = name self. strategy = strategy # "greedy" (широколиственные) или. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru