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

Алгоритм составления расписания занятий ВУЗа - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Алгоритм Хорспула c++ http://www.cyberforum.ru/cpp-beginners/thread1174944.html
Доброго времени суток! Мне нужно реализовать алгоритм Бойера-Мура-Хорспула В самой сути разобрался, но программно не знаю как сделать. У кого то есть готовый исходник? можно на Шарпе или...
C++ Задача на логику, про путешественника и ограниченный бюджет Путешественник располагает суммой Р рублей. Он может двигаться со скоростью 5км/ч бесплатно, со скоростью 40 км/ч за 14руб или со скоростью 80 км/ч за 10р/км. Определить сможет ли он преодолеть... http://www.cyberforum.ru/cpp-beginners/thread1174931.html
Создать список, после каждого отрицательного числа вставить в список 0 C++
задание такое, создать список, после каждого отрицательного числа вставить в список 0. я кое-что тут пытался делать: #include <iostream> using namespace std; struct List { int a; List*...
Функции C++ для печати сразу на принтер C++
Доброго времени суток, уважаемые программисты. Вопрос следующий - есть ли стандартные функции в С++ по выводу строчки на принтер. А если, нет ко каким методом это делается (компилятор MinGW).
C++ Программа для расчета количества рулонов обоев http://www.cyberforum.ru/cpp-beginners/thread1174917.html
консольная программа, в которой работник вводит длину и ширину комнаты, высоту потолков, длину и ширину рулона обоев и его стоимость. Программа рассчитывает необходимое количество рулонов обоев и их...
C++ Динамические структуры данных. Организация данных в списковые структуры в С++ В элементе списка содержатся данные о рейсах самолетов: ○ № рейса; ○ тип самолета; ○ конечный пункт полета; ○ дата вылета. Ввести название типа самолета и вывести названия всех городов, куда они... подробнее

Показать сообщение отдельно
Argentum21
1 / 1 / 0
Регистрация: 05.03.2014
Сообщений: 75

Алгоритм составления расписания занятий ВУЗа - C++

13.05.2014, 21:01. Просмотров 1363. Ответов 1
Метки (Все метки)

Дорогие друзья, сейчас у меня на руках задание по составлению расписания в ВУЗе.
Пока определилась только со структурами и вводом, считываю введеные данные в файл, так же организовала графическое меню.
Очень нужна Ваша помощь! Любые идеи, советы и пояснения, все что угодно.
Догадываюсь, что сперва нужно заполнить таблицу результата случайным образом лекциями, ибо на лекциях присутствует обычно несколько групп и, следовательно, подгрупп, однако, не знаю как воплотить эту идею в виде кода.
Совсем нет идей...

Условие самой задачи: (№8)
http://cs614823.vk.me/v614823823/5584/KgoZ0Kz5aRY.jpg
http://cs614823.vk.me/v614823823/558e/8U1773peXAc.jpg


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
164
165
166
167
168
169
170
171
172
173
174
175
#include <stdio.h>
#include <conio.h> 
#include <string.h>
#include <math.h>
#include <dos.h>
#include <graphics.h>
 
 
struct diciplina
{
       char name_predmet[20];
       int lec, sem, lab;
};
 
 
struct prepodavatel 
{
       diciplina predmet;
       char FIO[25];
};
       
 
struct auditoria
{
       int nomer_audit[2];
       int id[3]; //идентификатор: 0 - лекция, 1- семинар, 3- лабораторная
};
 
struct group
{
       int n_gr;
       int n_podgruppy; //max - 2 podgruppy: 1 and 2
};                    
 
 
 
void input ()
{
     diciplina dic;
     prepodavatel pr;
     auditoria audit;
     group gr;
char filename[100];
int vsego_audit=0;
printf ("\nViberite deystvie\n");
printf ("\n1). Sozdat` file\n");
printf ("\n2). Otkrit` file\n");
fflush (stdin);
char d=getche ();
FILE *F;
if (d=='1')
{
printf ("\nVvedite imya dlya novogo faila\n");
gets (filename);
F=fopen (filename, "wb+");
}
if (d=='2')
{
printf ("\nVvedite imya faila\n");
gets (filename);
F=fopen (filename, "rb+");
if (F)
printf ("\nFile sushestvuet!\n");
else
{ printf ("File ne sushestvuet!\n");
printf ("\nViberite deistvye:\n");
printf ("\n1). Sozdat file\n");
printf ("\n2). Vyhod!\n");
d=getche ();
if (d=='1')
{
printf ("\nVvedite imya dlya novogo faila\n");
gets (filename);
F=fopen (filename, "wb+");
}
if (d=='2')
return;
}
}
{
do
{ fflush (stdin);
printf ("\nVyberute deistvie: \n");
printf ("\n1). Dobavit dannye\n");
printf ("\n2). Posmotret` dannye\n");
printf ("\n3). Sozdat file zanovo \n");
printf ("\n4). Vyhod!");
d=getche ();
if (d=='4') break;
if (d=='3')
{
printf ("\nVvedite imy dly novogo faila\n");
gets (filename);
F=fopen (filename, "wb+");
}
if (d=='1')
{
F=fopen (filename, "ab+");
do
 { fflush (stdin);
  printf ("Vvedite FIO prepodavatelya, provod. zanyatiye: \n");
  gets (pr.FIO);
  printf ("\n Vvedite naim.discipliny: \n");
  gets (dic.name_predmet);
  printf ("\n Vvedite kol-vo lekciy po etoy discipline: \n");
  scanf ("%d", &dic.lec);
  printf ("Vvedite kol-vo seminar. zanyatiy po etoy discipline: \n");
  scanf ("%d",&dic.sem);
  printf ("Vvedite kol-vo lab.rabot po etoy discipline: \n");
  scanf ("%d", &dic.lab);
  printf ("Vvedite nomera vozmozhnyh auditoriy dlya dannogo zanyatiya: \n");
  for (int i=0; i<2; i++)
  scanf ("%d", &audit.nomer_audit[i]);
  fwrite (&pr, sizeof(pr), 1, F);
  fwrite (&audit, sizeof(audit), 1, F);
  fwrite (&dic,sizeof(dic), 1, F);
  printf ("\nProdolzat' vvod: [D/H]\n");
  fflush (stdin);
  d=getche ();
 }
 while (d=='D' || d=='d');
 fclose (F);
}
}
while (d!=1 || d!=2 || d!=3);
}
}
 
 
 
 
 
 
void inf ()
{    initwindow (800, 600);
     setcolor (4);
     outtextxy (0, 0, "Nazvanie programmy: Raspisanie zanyatiy. Chtoby posmotret optimalnoe raspisanie, nazhmite 1.");
}     
      
 
 
 
int main ()
{ int menu1;
char d = '\0';
do
{
initwindow (800, 600);
settextstyle (0, 0, 32); //0 0 4
setcolor (3);
outtextxy (250, 100, "ÐÀÑÏÈÑÀÍÈÅ");
setcolor (10);
setlinestyle (0, 0, 5);
circle (175, 185, 30);
outtextxy (160, 170, "1");
outtextxy (220, 170, "Ââîä Г¤Г*Г*Г*ûõ");
setcolor (2);
circle (175, 250, 30);
outtextxy (159, 235, "2");
outtextxy (220, 235, "ÑïðГ*ГўГЄГ*");
circle (175, 315, 30);
outtextxy (159, 300, "3");
outtextxy (220, 300, "Âûõîä!");
getch ();
if (d=='3') break;
fflush(stdin);
scanf ("%d", &menu1);
switch (menu1)
{ case 1: input (); break;
  case 2: inf (); break;
}
}
while (menu1!=3);
closegraph ();
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru