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

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

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

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

09.11.2013, 16:05. Просмотров 218. Ответов 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ый тест.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.11.2013, 16:05
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Задача "Тестовое задание" (C++):

Даны три слова - "мама", "мыла", "раму". Задача - напечатать всевозможные варианты построения слов - C++
Я записал код, однако эту часть надо автоматизировать, поможете? КОД: } #include &lt;iostream&gt; using namespace std; int main()...

Необработанное исключение в "0x76f015de" в "контрольная 1 задача 2.exe": 0xC0000005: Нарушение прав доступа при чтении "0x334e2c64" - C++
доброго времени суток. Необработанное исключение в &quot;0x76f015de&quot; в &quot;контрольная 1 задача 2.exe&quot;: 0xC0000005: Нарушение прав доступа при...

В зависимости от времени года "весна", "лето", "осень", "зима" определить погоду "тепло", "жарко", "холодно", "очень холодно" - C++
В зависимости от времени года &quot;весна&quot;, &quot;лето&quot;, &quot;осень&quot;, &quot;зима&quot; определить погоду &quot;тепло&quot;, &quot;жарко&quot;, &quot;холодно&quot;, &quot;очень холодно&quot;. Я так...

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

Наследование классов "Заявка", "Техническое задание", "Техническое предписание" - C++
Создать базовый класс ТЕХНИЧЕСКОЕ ЗАДАНИЕ со свойствами: номер, описание и методами: вывести всю информацию об объекте, добавить описание....

Реализовать классы "Воин", "Пехотинец", "Винтовка", "Матрос", "Кортик" (наследование) - C++
Разработать программу с использованием наследования классов, реализующую классы: − воин; − пехотинец(винтовка); − матрос(кортик). ...

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.11.2013, 16:05
Привет! Вот еще темы с ответами:

Создать класс "Вентилятор" содержащий в себе классы: "Двигатель", "Контроллер", "Пульт управления" - C++
Помогите с кодом написания задачи, не понимаю как написать классы в классе. Нужно создать класс &quot;вентилятор&quot; содержащий в себе классы:...

Создать абстрактный класс "Издание" и производные классы "Книга", "Статья", "Электронный ресурс" - C++
1. Создать абстрактный класс Издание с методами, позволяющими вывести на экран информацию об издании, а также определить является ли данное...

Создать класс "Книга" с полями "название книги", "количество страниц", "год издания" - C++
Создать класс Книга поля: название книги,количество страниц,год издания методы: вычислить сколько лет книге и количество дней прошедших...

Определить тип данных "Запись", имеющий поля "Фамилия", "Пол", "Зарплата" - C++
определить тип данных запись имеющий поля фамилия пол зарплата. определить массив из 10 записей. в программе ввести в массив данные и...


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

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