Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
дашик!
0 / 0 / 0
Регистрация: 10.04.2014
Сообщений: 6
#1

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

10.04.2014, 19:44. Просмотров 312. Ответов 4
Метки нет (Все метки)

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

Определить, сколько занятий ведет один и тот же преподаватель
В расписании шесть строк, в каждой из которых описан предмет, преподаватель,...

Структура "Учебные предметы". Вывести те, которые ведет данный преподаватель
Структуры в C++ Написать программу, которая записывает данные в массив...

Несколько new на один и тот же указатель
char* p; p = new char; strcpy(p, "june"); cout << p << endl; p = new char;...

Генератор паролей создает один и тот же пароль
Собственно вопрос, почему он генерирует одно и тоже каждый раз? const int...

Начинаются и заканчиваются ли строки на один и тот же символ
Пользователь вводит две строки и если они начинаются и заканчиваются на один и...

4
TenGen
Будущее рядом
99 / 97 / 48
Регистрация: 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 / 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;
а дальше че писать то...... не велики мои знания в программировании..(
0
TenGen
Будущее рядом
99 / 97 / 48
Регистрация: 06.03.2014
Сообщений: 342
10.04.2014, 20:02 #4
дашик!, сделаю небольшое замечание, лучше все таки использовать английские слова для обзывания переменных, так меньше проблем. prepodavatel -> teacher и тд.
А дальше создаете массив из 6 элементов типа rasp, заполняете его, затем находите все уникальные имена в списке и считаете, сколько раз они встречаются в расписании. Например, в списке есть Козлов, Козлова и Добрый. Ищем, сколько пар ведет Козлов (проверяем имя преподавателя в каждом элементе массива), выводим на экран и тд
0
easybudda
Модератор
Эксперт CЭксперт С++
10054 / 5974 / 1493
Регистрация: 25.07.2009
Сообщений: 11,313
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;
}
0
10.04.2014, 21:38
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.04.2014, 21:38

Чтение и запись в один и тот же файл с CreateFile
Добрый день. необходимо, чтобы можно было открыть файл, произвести из него...

Два потока читают один и тот же буфер
void priem(char * g) { for (;;Sleep(500)) { printf(&quot;%s\n&quot;, g); } } ...

Возвращает один и тот же результат. Найти произведение ряда
Нужно подсчитать: \prod_{k=1}^{n} \frac{{(1-x)}^{k+1}+1}{{((k-1)!+1)}^{2}} ...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

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