Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.75/40: Рейтинг темы: голосов - 40, средняя оценка - 4.75
0 / 0 / 1
Регистрация: 28.03.2014
Сообщений: 15
1

Нужен совет в выборе темы для курсовой по ООП. 2 курс

16.09.2014, 23:09. Показов 7810. Ответов 31
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте. Извиняюсь что пишу в основном разделе.

Я только перешел на 2 курс. У нас новый препод, достаточно молодой, весь на понтах, в общем поц конкретный. До этого был обычный препод, с которым мы считай переписывали стандартные функции си и начинали работать с классами
В общем мой уровень программирования был средним в группе. А новый сказал, что это полная чушь и т.д и т.п

Короче, сказали чтоб через 2 недели определились с темой курсовой, берите что нравится, главное что бы не слишком простое и было много ООП. Ребята в группе не поняли с чего это, в общем никто ничего не знает, а препода еще все побаюваются, он как то сразу стал давить авторитетом, на лекции начался "птичий язык".

Некоторые из парней, который особо башковитые уже получили согласие на такие вот проекты: онлайн крестики-нолики, сетевой месенджер(мне сказали что типо чата онлайн). Я рад за них, но в основном группа реально пересралась от страху.

Я собираюсь делать проект один, и попутно изучать то что понадобиться, но что то глобальное делать страшно. Ну помогите советом пожалуйста.

ВУЗ: СПБГПУ
направление: Программная инж.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
16.09.2014, 23:09
Ответы с готовыми решениями:

Нужен совет по выбору темы программы для курсовой работы
Здравствуйте, уважаемые форумчане. Нужен ваш совет по выбору темы программы для курсовика. При...

Нужен совет по выбору темы курсовой
Здравствуйте, уважаемые программисты. У меня в этом году первая курсовая работа. Нужно писать на...

Нужен анализ актуальности темы для курсовой
Нужен анализ актуальности темы для курсовой работы, по теме: «Разработка программного модуля,...

Нужен совет с выбором темы для дипломного проекта C#
Нужен совет. В следующем году у меня последний курс колледжа и у меня будет дипломное...

31
221 / 166 / 47
Регистрация: 17.07.2012
Сообщений: 587
17.09.2014, 02:29 21
Author24 — интернет-сервис помощи студентам
Fene4ka_, John Prick, еще такую задачу видел. типо дан телефонный номер. тебе надо вывести все варианты этого номера. Ну знаю щас непонятно. Ну вот на примерах станет ясно.

Пример 1, Дали номер 100252
Все варианты это
100000 - 252
100000 - 200 - 52
100000 - 200 - 50 - 2
100000 - 250 - 2
100200 - 52
Ну и т.д. короче вы поняли.
Вот это уже сложнее)
ЗЫ: одинаковость в том, что они все звучат одинаково, но пишутся по-разному
0
КОП
17.09.2014, 02:33
  #22

Не по теме:

John Prick, а что не немецкий? там все в одно слово (эпичность *= 100500) + я в нем больше шарю. Ну да ладно, завтра будет завтра, там и порешаю. Хотя бы порядковые добавить, с падежами уж как получится.

0
2277 / 1768 / 741
Регистрация: 27.07.2012
Сообщений: 5,251
17.09.2014, 02:36 23
Цитата Сообщение от КОП Посмотреть сообщение
имеете ввиду с парсером строковых чисел?
Ну и чисто из интереса, не дадите взглянуть?
Да не было там никакого парсера. Просто создавался набор из строк, причём он был важен весь целиком, так как если вывести только x[0] вывело бы "сто", ну т.е. первое слово из строкового представления.
Чё-т на новом ноуте не нахожу исходников, видимо, давно это было. Но говнокода и недоделок там было порядком. Просто заморачивался на тему наборов, совместимых с STL, вот с тех пор "комплекс незавершённости действия"
0
КОП
17.09.2014, 02:39
  #24

Не по теме:

Цитата Сообщение от John Prick Посмотреть сообщение
комплекс незавершённости действия
пришла пора избавиться от него

0
John Prick
17.09.2014, 02:43
  #25

Не по теме:

Цитата Сообщение от КОП Посмотреть сообщение
пришла пора избавиться от него
Избавишься тут, когда полночи только это и обсуждаем...

0
Модератор
Эксперт С++
13507 / 10757 / 6412
Регистрация: 18.12.2011
Сообщений: 28,712
17.09.2014, 10:40 26
Посмотрите темы, которые мы предлагаем для курсовых работ на физфаке МГУ:
http://cmp.phys.msu.ru/jt/site... %D1%81.pdf
0
John Prick
17.09.2014, 15:37
  #27

Не по теме:

КОП, покрутил твой алгоритм на предмет обобщения. Русский язык, конечно, такая штука сложная, но как-то что-то вышло. Ну и, естесвенно, там ещё куча вариантов улучшения.

Кликните здесь для просмотра всего текста
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
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
#include <iostream>
#include <stdlib.h>
#include <string>
 
struct genders { enum e { male, female, none }; };
 
struct thousand_exponent
{
    std::string root;
    genders::e gender;
};
 
const thousand_exponent exp[] = {
    { "", genders::none },
    { "тысяч", genders::female },
    { "миллион", genders::male },
    { "миллиард", genders::male },
    { "триллион", genders::male },
    { "квадриллион", genders::male },
    { "квинтиллион", genders::male },
    { "секстиллион", genders::male },
    { "септиллион", genders::male },
    { "октиллион", genders::male },
    { "нониллион", genders::male },
    { "дециллион", genders::male }
};
 
std::string male_exponent_endings[] = { "ов", "", "а", "а", "а", "ов", "ов", "ов", "ов", "ов" };
std::string female_exponent_endings[] = { "", "а", "и", "и", "и", "", "", "", "", "" };
std::string none_exponent_endings[] = { "", "", "", "", "", "", "", "", "", "", "" };
std::string * exponent_endings[] = {
    male_exponent_endings,
    female_exponent_endings,
    none_exponent_endings };
 
std::string get_exponent(int exp_degree, int exp_num)
{
    return exp[exp_degree].root + exponent_endings[exp[exp_degree].gender][exp_num] + ' ';
}
 
std::string male_numeric[] = { "", "один", "два", "три", "четыре", "пять", "шесть", "семь", "восемь", "девять" };
std::string female_numeric[] = { "", "одна", "две" };
 
struct ending
{
    std::string value;
    genders::e root_gender;
    int root_clipping;
};
 
ending teens_endings[] = {
    { "десять", genders::none, 0 },
    { "надцать", genders::male, 0 },
    { "надцать", genders::female, 0 },
    { "надцать", genders::male, 0 },
    { "надцать", genders::male, 1 },
    { "надцать", genders::male, 1 },
    { "надцать", genders::male, 1 },
    { "надцать", genders::male, 1 },
    { "надцать", genders::male, 1 },
    { "надцать", genders::male, 1 },
};
 
ending ****er_endings[] = {
    { "", genders::none, 0 },
    { "", genders::none, 0 },
    { "дцать", genders::male, 0 },
    { "дцать", genders::male, 0 },
    { "сорок", genders::none, 6 },
    { "десят", genders::male, 0 },
    { "десят", genders::male, 0 },
    { "десят", genders::male, 0 },
    { "десят", genders::male, 0 },
    { "носто", genders::male, 2 }
};
 
ending hundred_endings[] = {
    { "", genders::none, 0 },
    { "сто", genders::none, 4 },
    { "ста", genders::female, 0 },
    { "ста", genders::male, 0 },
    { "ста", genders::male, 0 },
    { "сот", genders::male, 0 },
    { "сот", genders::male, 0 },
    { "сот", genders::male, 0 },
    { "сот", genders::male, 0 },
    { "сот", genders::male, 0 }
};
 
std::string get_numeric(int num, genders::e gender)
{
    if ((gender == genders::female) && (num < sizeof(female_numeric) / sizeof(female_numeric[0])))
        return female_numeric[num];
    return male_numeric[num];
}
 
std::string get_digit(int num, ending * endings)
{
    std::string s;
    s += get_numeric(num, endings[num].root_gender);
    s.erase(s.size() - endings[num].root_clipping, endings[num].root_clipping);
    s += endings[num].value + ' ';
    return s;
}
 
std::string get_hundreds(int hundreds_num)
{
    return get_digit(hundreds_num, hundred_endings);
}
 
std::string get_****ers(int ****ers_num)
{
    return get_digit(****ers_num, ****er_endings);
}
 
std::string get_teens(int teens_num)
{
    return get_digit(teens_num, teens_endings);
}
 
std::string parsetriplet(long long int i, int p)
{
    std::string s;
    if (!i) return s;
 
    s += get_hundreds(i / 100);
 
    if (i % 100 >= 20)
    {
        s += get_****ers(i % 100 / 10);
        s += get_numeric(i % 10, exp[p].gender) + ' ';
    } else if ((i % 100 >= 10) && (i % 100 < 20))
    {
        s += get_teens(i % 100 - 10);
    } else
    {
        s += get_numeric(i % 10, exp[p].gender) + ' ';
    }
 
    s += get_exponent(p, i % 10);
    
    return s;
}
 
std::string inttoword(long long int i, int p = 0)
{
    if ((p == 0) && (i == 0)) return std::string("ноль");
    if (!i) return std::string();
    if (i < 0) return "минус " + inttoword(abs(i) / 1000, p + 1) + parsetriplet(abs(i) % 1000, p);
    return inttoword(i / 1000, p + 1) + parsetriplet(i % 1000, p);
}
 
int main()
{
    setlocale(LC_ALL, "RUSSIAN");
    long long int i;
    while (true)
    {
        cin >> i;
        cout << i << ' ' << inttoword(i) << '\n';
    system("pause");
    }
}

0
КОП
17.09.2014, 15:51
  #28

Не по теме:

John Prick, увы и ах, 12000 двенадцать тысячи, а так же двенадцать миллиона и т.д. Попались там же где и я при написании Ü

0
2277 / 1768 / 741
Регистрация: 27.07.2012
Сообщений: 5,251
17.09.2014, 16:15 29

Не по теме:

КОП, :) да уж, обобщишь тут... Но я, на самом деле, не проверял почти.



Добавлено через 7 минут

Не по теме:

Исправил:
// ...

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
std::string get_exponent(int exp_degree, int exp_num, int exp_teen_hack)
{
    exp_num = ((exp_teen_hack > 10) && (exp_teen_hack < 20)) ? 0 : exp_num;
    return exp[exp_degree].root + exponent_endings[exp[exp_degree].gender][exp_num] + ' ';
}
// ...
 
std::string parsetriplet(long long int i, int p)
{
// ...
    s += get_exponent(p, i % 10, i % 100);
// ...
}



Добавлено через 4 минуты

Не по теме:

Впрочем, так будет лучше:

Кликните здесь для просмотра всего текста
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
std::string parsetriplet(long long int i, int p)
{
    std::string s;
    if (!i) return s;
 
    s += get_hundreds(i / 100);
 
    bool teens_flag = false;
    if (i % 100 >= 20)
    {
        s += get_****ers(i % 100 / 10);
        s += get_numeric(i % 10, exp[p].gender) + ' ';
    } else if ((i % 100 >= 10) && (i % 100 < 20))
    {
        teens_flag = true;
        s += get_teens(i % 100 - 10);
    } else
    {
        s += get_numeric(i % 10, exp[p].gender) + ' ';
    }
 
    s += get_exponent(p, (teens_flag) ? 0 : i % 10);
    
    return s;
}

А get_exponent оставить, как была в первом варианте.

0
КОП
17.09.2014, 16:27
  #30

Не по теме:

John Prick, чет я разошелся с проверкой, вы уж извините...
200200 двеста тысяч двеста (+ пробел двойной)

0
2277 / 1768 / 741
Регистрация: 27.07.2012
Сообщений: 5,251
17.09.2014, 16:34 31
КОП, да всё правильно. Надо жёстко тестить.
На самом деле просто в окончании ошибся:
C++
1
2
3
4
5
6
7
8
9
10
11
12
ending hundred_endings[] = {
    { "", genders::none, 0 },
    { "сто", genders::none, 4 },
    { "ста", genders::female, 0 }, // тут на "сти" исправить.
    { "ста", genders::male, 0 },
    { "ста", genders::male, 0 },
    { "сот", genders::male, 0 },
    { "сот", genders::male, 0 },
    { "сот", genders::male, 0 },
    { "сот", genders::male, 0 },
    { "сот", genders::male, 0 }
};
0
0 / 0 / 1
Регистрация: 28.03.2014
Сообщений: 15
30.09.2014, 23:56  [ТС] 32
Всем спасибо. Преподаватель разрешил делать консольный морской бой(одиночный).
0
30.09.2014, 23:56
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
30.09.2014, 23:56
Помогаю со студенческими работами здесь

Нужен совет в выборе языка для приложения
Добрый день Дамы и Господа! Нужна помощь в выборе языка для приложения. Приложение под Андроид....

Нужен совет в выборе компонентов для работы с БД
Доброго всем времени суток! Помогите с выбором компонентов для работы с базой данных. Delphi 7...

Очень нужен совет в выборе комплектующих для компьютера, для работы с 3D графикой и тп. (Есть предвар. список)
Друзья, очень нужен ваш совет в выборе комплектующих для компьютера, заточенного под работу с 3D...

Нужен совет в выборе процессора для мат платы asus m4a78 am
Посоветуйте самый мощный/лучший процессор, который подойдет для мат платы asus m4a78 am. На данный...


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

Или воспользуйтесь поиском по форуму:
32
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru