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

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

Восстановить пароль Регистрация
 
HardLogin
 Аватар для HardLogin
52 / 52 / 1
Регистрация: 20.01.2013
Сообщений: 692
Записей в блоге: 1
09.11.2013, 16:05     Задача "Тестовое задание" #1
Доброго времени суток 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++
Небольшое тестовое задание в финской компании. C++
Тестовое задание на Junior C++ dev C++
C++ Найти ошибку в решении "Числа - палиндрома" (задача с acmp)
C++ Не могу понять задание по "ООП"
C++ Задание "Заказ пиццы" (на английском языке)
ООП. Тестовое задание собеседования. C++
C++ Тестовое задание для трудоустройства
Задание на тему "Строки и Функции" C++
Задание: разработать "Интерпретатор языка". С чего начать? C++
C++ Олимпиадное задание "Сильные мира сего"
C++ Задание по ООП: создание АТД "Массив"

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

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

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