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

Определить, сколько занятий ведет один и тот де преподаватель - C++

Восстановить пароль Регистрация
 
дашик!
0 / 0 / 0
Регистрация: 10.04.2014
Сообщений: 6
10.04.2014, 19:44     Определить, сколько занятий ведет один и тот де преподаватель #1
В расписании шесть строк, в каждой из которых описан предмет, преподаватель, номер группы, день недели, часы занятия, аудитория. Определить, сколько занятий ведет один и тот де преподаватель. помогите пожалуйста со структурами....
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.04.2014, 19:44     Определить, сколько занятий ведет один и тот де преподаватель
Посмотрите здесь:

C++ Почему перегруженные шаблоны функций должны возвращать один и тот же тип?
Как использовать один и тот же объект в разных классах? C++
C++ Определить, сколько занятий ведет один и тот же преподаватель
Структура "Учебные предметы". Вывести те, которые ведет данный преподаватель C++
Двоичный поиск в массиве выдает один и тот же ответ C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
TenGen
Будущее рядом
 Аватар для TenGen
96 / 94 / 20
Регистрация: 06.03.2014
Сообщений: 342
10.04.2014, 19:50     Определить, сколько занятий ведет один и тот де преподаватель #2
дашик!, а в чем проблема?
C++
1
2
3
4
5
6
struct node
{
//тут что нибудь солидное надо написать
};
 
node raspisanie[6];
И вообще можно схитрить. Поскольку в программе используется всего одно поле записи (имя препода), остальные введенные данные можно просто не сохранять
дашик!
0 / 0 / 0
Регистрация: 10.04.2014
Сообщений: 6
10.04.2014, 19:58  [ТС]     Определить, сколько занятий ведет один и тот де преподаватель #3
проблема в том что вот я написала
C++
1
2
3
4
5
6
7
struct rasp
{string predmet;
string prepodavatel;
string  nomer ;
string  den;
int chasi ;
int auditoriya;
а дальше че писать то...... не велики мои знания в программировании..(
TenGen
Будущее рядом
 Аватар для TenGen
96 / 94 / 20
Регистрация: 06.03.2014
Сообщений: 342
10.04.2014, 20:02     Определить, сколько занятий ведет один и тот де преподаватель #4
дашик!, сделаю небольшое замечание, лучше все таки использовать английские слова для обзывания переменных, так меньше проблем. prepodavatel -> teacher и тд.
А дальше создаете массив из 6 элементов типа rasp, заполняете его, затем находите все уникальные имена в списке и считаете, сколько раз они встречаются в расписании. Например, в списке есть Козлов, Козлова и Добрый. Ищем, сколько пар ведет Козлов (проверяем имя преподавателя в каждом элементе массива), выводим на экран и тд
easybudda
Модератор
Эксперт С++
 Аватар для easybudda
9372 / 5422 / 914
Регистрация: 25.07.2009
Сообщений: 10,423
10.04.2014, 21:38     Определить, сколько занятий ведет один и тот де преподаватель #5
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
#include <iostream>
#include <iomanip>
#include <string>
#include <sstream>
#include <map>
#include <stdexcept>
 
struct ScheduleRow {
    std::string lessonTitle;
    std::string teacherName;
    int         groupNumber;
    std::string dayOfWeek;
    int         workHours;
    int         auditoryNumber;
 
    ScheduleRow(const std::string & row) {
        std::istringstream ist(row);
        if ( ( ! ( ist >> lessonTitle ) ) || ( ! ( ist >> teacherName ) ) || ( ! ( ist >> groupNumber ) ) ||
             ( ! ( ist >> dayOfWeek ) ) || ( ! ( ist >> workHours ) ) || ( ! ( ist >> auditoryNumber ) ) )
            throw std::runtime_error("Parsing error!");
    }
};
 
int main() {
    const int ROWS_COUNT = 6;
    const char * rows[ROWS_COUNT] = {
        "Alchemy Petrov 13 Mon 2 8",
        "Metaphysics Sidorov 6 Mon 1 4",
        "Izoteriki Ivanov 9 Tue 4 1",
        "Palmistry Sidorov 13 Tue 2 3",
        "Witchcraft Ivanov 4 Wed 3 1",
        "Exorcism Petrov 2 Wed 2 4"
    };
 
    std::cout << "Schedule:" << std::endl;
    for ( int i = 0; i < ROWS_COUNT; ++i )
        std::cout << rows[i] << std::endl;
 
    std::map<std::string, int> map;
    for ( int i = 0; i < ROWS_COUNT; ++i ) {
        try {
            ScheduleRow row(rows[i]);
            map[row.teacherName] += row.workHours;
        }
        catch ( std::runtime_error rte ) {
            std::cerr << "Error parsing row # " << ( i + 1 ) << std::endl;
        }
    }
 
    std::cout << "\nTeacher        Hours" << std::endl;
    for ( std::map<std::string, int>::const_iterator it = map.begin(); it != map.end(); ++it )
        std::cout << std::left << std::setw(15) << it->first << it->second << std::endl;
 
    return 0;
}
Yandex
Объявления
10.04.2014, 21:38     Определить, сколько занятий ведет один и тот де преподаватель
Ответ Создать тему
Опции темы

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