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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
HardLogin
52 / 52 / 1
Регистрация: 20.01.2013
Сообщений: 750
Записей в блоге: 1
#1

Задача "Тестовое задание" - C++

09.11.2013, 16:05. Просмотров 211. Ответов 0
Метки нет (Все метки)

Доброго времени суток http://acm.timus.ru/problem.aspx?space=170&num=3 вот задача, а вот мое решение:
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
#include <iostream>
using namespace std;
 
int users = 0;
 
 
struct koms
{
    char kom[ 30 ];
    char name[ 30 ];
    char pass[ 30 ];    
};
 
struct Database
{
       char name[ 30 ];
       char pass[ 30 ];
       bool online;
};
 
Database db[ 101 ];
 
bool SearchInDB( Database );
 
int main()
{
    int n;
    cin >> n;
    
    koms kom[ 101 ];
    
    for( int i = 0; i < n; i++ )
    {
        cin >> kom[ i ].kom;
        cin >> kom[ i ].name;
        if( strcmp( "logout", kom[ i ].kom ) != 0 )
        cin >> kom[ i ].pass;
        
        /*if( strcmp( "register", kom[ i ].kom ) == 1 )
        users++;*/
    }
    
    for( int i = 0; i < n; i++ )
    {
         if( strcmp( "register", kom[ i ].kom ) == 0 )
         {
             Database u;
             strcpy( u.name, kom[ i ].name );
             strcpy( u.pass, kom[ i ].pass );
             if( SearchInDB( u ) )
             cout << "fail: user already exists" << endl;
             else
             {
                 strcpy( db[ users ].name, u.name );
                 strcpy( db[ users ].pass, u.pass );
                 db[ users ].online = false;
                 users++;
                 
                 cout << "success: new user added" << endl;
             }
         }
         
         if( strcmp( "login", kom[ i ].kom ) == 0 )
         {
             Database u;
             strcpy( u.name, kom[ i ].name );
             strcpy( u.pass, kom[ i ].pass );
             if( !SearchInDB( u ) )
             cout << "fail: no such user" << endl;
             else
             {
                 int index;
                 
                 for( int i = 0; i < users; i++ )
                 if( strcmp( u.name, db[ i ].name ) == 0 ){ index = i; break; }
                 
                 if( strcmp( u.pass, db[ index ].pass ) != 0 )
                 cout << "fail: incorrect password" << endl;
                 else
                 {
                     if( db[ index ].online )
                     cout << "fail: already logged in" << endl;
                     else
                     {
                          db[ index ].online = true;
                          cout << "success: user logged in" << endl;
                     }
                 }
             }
         }
         
         if( strcmp( "logout", kom[ i ].kom ) == 0 )
         {
             Database u;
             strcpy( u.name, kom[ i ].name );
             
             if( !SearchInDB( u ) )
             cout << "fail: no such user" << endl;
             else
             {
                 int index;
                 
                 for( int i = 0; i < users; i++ )
                 if( strcmp( u.name, db[ i ].name ) == 0 ){ index = i; break; }
                 
                 if( !db[ index ].online )
                 cout << "fail: already logged out" << endl;
                 else
                 {
                     db[ index ].online = false;
                     cout << "success: user logged out" << endl;
                 }
             }
         }
    }
    
    return system( "pause" );
}
 
 
bool SearchInDB( Database user )
{
     for( int i = 0; i < users; i++ )
     if( strcmp( user.name, db[ i ].name ) == 0 )
     return true;
     return false;
}
выдает ошибку что не проходит 4ый тест.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.11.2013, 16:05     Задача "Тестовое задание"
Посмотрите здесь:

Класс "Задание" - Перенос "выполненного" задания из одного списка в другой - C++
Вопрос из &quot;базового курса&quot;. Код: #include&lt;iostream&gt; using namespace std; class Stack; class Datetime { int day; int month; ...

Задача на нахождение "+" и "-" элементов в массиве - C++
В массиве из положительных и отрицательных чисел, найти первый, второй и третий положительный элемент. Вычислить их произведение. ...

Тестовое задание - C++
private class Connect (){ public Device dev1 = new Device(); public Device dev2 = new Device(); puclic void Connect (){ for...

Задание: разработать "Интерпретатор языка". С чего начать? - C++
Здравствуйте, вручили темку на курсовик, ну точнее как вручили, не успел взять то, что хотел - пришлось брать то, что осталось. Плоховато...

Олимпиадное задание "Сильные мира сего" - C++
Преподаватель дал задания с олимпиады, но так как С++ мы проходим от силы месяц, то мы не поняли смысла. А задание является...

Задание по ООП: создание АТД "Массив" - C++
Такое задание на листке бумаги написать ADT массива, то что я принес преподаватель откатл и сказал что много чего не достает и ещё и не ...

Задание "Заказ пиццы" (на английском языке) - C++
Здравствуйте, уважаемые Программисты. Я учусь на первом курсе, поэтому я еще новичок. Прошу вашей помощи в модификации программы. Тут у...

Задание на тему "Строки и Функции" - C++
Привет всем. Помогите решить задачу. Не могу понять само задание, т.к. не сталкивался подобным... И если уж кто-то это решит,...

ООП. Тестовое задание собеседования. - C++
Это тестовое задание для устройста на работу. Я не совсем понимаю что от меня хотят. Не могли бы вы мне далее составить набросок плана...

Тестовое задание на Junior C++ dev - C++
Доброго времени суток. Неделю назад ради интереса отправил свое резюме в одну компанию, куда требуются с++ юниоры. Получил от них...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

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