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

Список контрольных работ - C++

Восстановить пароль Регистрация
 
softonet
 Аватар для softonet
32 / 32 / 2
Регистрация: 17.04.2011
Сообщений: 201
26.04.2012, 08:43     Список контрольных работ #1
Студенты сдают контрольные работы на стол преподавателя титульной стороной вниз
(вставка в конец списка). Предположим, что студент обнаруживает неправильный ответ на какой-либо вопрос и хочет проверить как он ответил. Преподаватель должен перевернуть стопку контрольных работ так, чтобы первая работа оказалась титульной стороной вверх, просмотреть работы, пока не будет найдена работа этого студента и затем удалить контрольную из списка. После того, как студент закончит проверку работы, преподаватель вставляет ее в конец списка.

Добавлено через 12 минут
Можно на объектном С++

Добавлено через 9 часов 57 минут
Помощи 0)))
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
ForEveR
Модератор
Эксперт C++
 Аватар для ForEveR
7927 / 4709 / 318
Регистрация: 24.06.2010
Сообщений: 10,524
Завершенные тесты: 3
26.04.2012, 13:34     Список контрольных работ #2
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
#include <iostream>
#include <list>
#include <algorithm>
 
class test
{
public:
   test(const std::string& s, const std::string& g):
      surname(s), group(g)
   {
   }
   std::string get_surname() const { return surname; }
   std::string get_group() const { return group; }
private:
   std::string surname;
   std::string group;
};
 
struct compare_test_by_s_g : public std::unary_function<test, bool>
{
public:
   compare_test_by_s_g(const std::string& s, const std::string& g):
      surname(s), group(g)
   {
   }
   result_type operator () (const argument_type& arg)
   {
      return arg.get_surname() == surname && arg.get_group() == group;
   }
private:
   std::string surname;
   std::string group;
};
 
bool work_with_tests(std::list<test>& tests, const std::string& s_name, const std::string& s_group)
{
   std::list<test>::iterator iter = std::find_if(tests.begin(), tests.end(), compare_test_by_s_g(s_name, s_group));
   if (iter != tests.end())
   {
      std::cout << "Finded student: " << s_name << "/" << s_group << std::endl;
      test cur_test = *iter;
      iter = tests.erase(iter);
      tests.push_back(cur_test);
   }
   return iter != tests.end();
}
 
int main()
{
   std::list<test> tests = 
   {
      test("Ivanov", "A1"),
      test("Ivanov", "A2"),
      test("Vasilev", "A1"),
      test("Some", "A1")
   };
   work_with_tests(tests, "Ivanov", "A2");
   work_with_tests(tests, "Some", "A1");
   if (!work_with_tests(tests, "Ivanov", "A3"))
   {
      std::cerr << "No test" << std::endl;
   }
   return 0;
}
http://liveworkspace.org/code/080352...e9dddc0c416ac4
softonet
 Аватар для softonet
32 / 32 / 2
Регистрация: 17.04.2011
Сообщений: 201
26.04.2012, 14:34  [ТС]     Список контрольных работ #3
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
[C++ Error] Unit1.cpp(53): E2291 } expected
[C++ Error] Unit1.cpp(56): E2034 Cannot convert 'test' to 'list<test,allocator<test> >'
[C++ Error] Unit1.cpp(56): E2141 Declaration syntax error
[C++ Error] Unit1.cpp(56): E2139 Declaration missing ;
[C++ Warning] Unit1.cpp(56): W8004 'tests' is assigned a value that is never used
[C++ Error] Unit1.cpp(56): E2190 Unexpected }
[C++ Error] Unit1.cpp(57): E2303 Type name expected
[C++ Error] Unit1.cpp(57): E2238 Multiple declaration for 'work_with_tests(list<test,allocator<test> > &,const string &,const string &)'
[C++ Error] Unit1.cpp(35): E2344 Earlier declaration of 'work_with_tests(list<test,allocator<test> > &,const string &,const string &)'
[C++ Error] Unit1.cpp(57): E2063 Illegal initialization
[C++ Error] Unit1.cpp(57): E2293 ) expected
[C++ Error] Unit1.cpp(58): E2303 Type name expected
[C++ Error] Unit1.cpp(58): E2238 Multiple declaration for 'work_with_tests(list<test,allocator<test> > &,const string &,const string &)'
[C++ Error] _string.c(57): E2344 Earlier declaration of 'work_with_tests(list<test,allocator<test> > &,const string &,const string &)'
[C++ Error] Unit1.cpp(58): E2063 Illegal initialization
[C++ Error] Unit1.cpp(58): E2293 ) expected
[C++ Error] Unit1.cpp(59): E2040 Declaration terminated incorrectly
[C++ Error] Unit1.cpp(64): E2190 Unexpected }
С++ Builder выдаёт такие ошибки
panicwassano
590 / 558 / 20
Регистрация: 07.11.2010
Сообщений: 2,004
26.04.2012, 14:36     Список контрольных работ #4
Цитата Сообщение от softonet Посмотреть сообщение
С++ Builder выдаёт такие ошибки
компилятор старый
softonet
 Аватар для softonet
32 / 32 / 2
Регистрация: 17.04.2011
Сообщений: 201
26.04.2012, 21:16  [ТС]     Список контрольных работ #5
Цитата Сообщение от panicwassano Посмотреть сообщение
компилятор старый
Смошешь мне exe-шник этого кода скинуть???

Добавлено через 6 минут
То есть Компилированную уже программу

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

Добавлено через 5 часов 53 минуты
UP UP
Yandex
Объявления
26.04.2012, 21:16     Список контрольных работ
Ответ Создать тему
Опции темы

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