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

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

Войти
Регистрация
Восстановить пароль
 
Olka_CP_help
0 / 0 / 0
Регистрация: 07.11.2013
Сообщений: 12
#1

Преобразовать функцию strcmp в СВОЮ функцию - C++

17.12.2013, 23:46. Просмотров 404. Ответов 7
Метки нет (Все метки)

Нужно заменить функцию strcmp на свою. я создала свою, но код не коректний и выбивает ошибки.
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
#include <iostream>
#include <stdio.h>
#include <conio.h>
#include <string.h>
   // int l_fan(char *s, char *t)
   // { for(; *s!=*t; s++, t++)
   // {
   // if(*s ==0 return(0); }
   // return(*s,*t);
   //  }
void main()
{
     char logins[4][7]={"Login1","Login2","Login3","Login4"};
    char pass[4][5]={"pas1","pas2","pas3","pas4"};
    char login[7],pas[5];
    for(int i=0;i<3;i++)
    {
cout<<"Vvedite login - ";
cin>>login;
for(int j=0;j<4;j++)
if(strcmp(login,logins[j])==0)
 {
cout<<"Vvedite porol - ";
cin>>pas;
if(strcmp(pas,pass[j])==0)
                        {
 cout<<"Dobro pojalovat na sait!";
 return 0;
                        }
else
{
 cout<<"Ne pravilno ykazan porol."<<endl;
 break;
}
 }
else if(j==3)
 cout<<"Ne pravilno ykazan login."<<endl;
        if(i==2)
            cout<<"Dostupa k sisteme net!"; 
}
return 0; 
getch();
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.12.2013, 23:46
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Преобразовать функцию strcmp в СВОЮ функцию (C++):

Как сделать функцию, возвращающую указатель на функцию (которая в свою очередь возвращает указатель на массив) - C++
Изучаю c++ по одной книжке.Она говорить не умеет.. Так вот понадобилось написать функцию,которая как параметр получает указатель на...

Как правильно вызывать функцию strcmp()? - C++
При вызове strcmp() можно использовать пространство имен std::, а так же можно и без него обойтись: strcmp(s1, s2); std::strcmp(s1,...

Создайте функцию strcmp – сравнение двух строк, учитывая регистр символов - C++
Всем привет :) Объясните , пожалуйста, почему не работает программа (работает неправильно ). Несмотря на то , что строки одинаковые ,...

Из заданной строки, распечатать все слова без повторений (как добавить функцию strcmp) - C++
Из заданной строки, распечатать все слова без повторений, используя функции strtok, strcmp. #include &lt;iostream&gt; #include...

Заменить функцию strlen на свою - C++
подскажите, как написать свою собственную функцию, эквивалентную функции strlen. Вот код: #include &lt;stdio.h&gt; #include &lt;stdlib.h&gt; ...

Как написать свою функцию atof() - C++
Как написать свою функцию atof()?

7
Yanush
159 / 156 / 46
Регистрация: 28.09.2013
Сообщений: 288
Завершенные тесты: 1
18.12.2013, 00:01 #2
Могу предложить такой вариант.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
    bool StrCmp(const char *strA, const char *strB, bool sense)
    {
        char tmpA;
        char tmpB;
 
        if (strlen(strA) != strlen(strB))
            return false;
 
        for (int i = 0; i < strlen(strA); i++)
        {
            tmpA = strA[i];
            tmpB = strB[i];
            if (!sense)
            {
                tmpA = tolower(tmpA);
                tmpB = tolower(tmpB);
            }
            if (tmpA - tmpB != 0)
                return false;
        }
        return true;
    }
1
Olka_CP_help
0 / 0 / 0
Регистрация: 07.11.2013
Сообщений: 12
18.12.2013, 00:15  [ТС] #3
Добавлено через 2 минуты
тогда мне вместо strcmp в своем коде вставить StrCmp?? я правильно поняла?
если так то есть ошибки
0
Yanush
159 / 156 / 46
Регистрация: 28.09.2013
Сообщений: 288
Завершенные тесты: 1
18.12.2013, 00:24 #4
А что вы делаете? у меня Ваш код нормально работает. Ввожу login1, затем pas1 и программа закрывается. В других случаях пишет, что не правильный пароль/логин.
0
gray_fox
What a waste!
1521 / 1226 / 70
Регистрация: 21.04.2012
Сообщений: 2,565
Завершенные тесты: 3
18.12.2013, 00:28 #5
Как вариант)
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
int your_strcmp(char const* lhs, char const* rhs) {
   for ( ; *lhs && *rhs; ++lhs, ++rhs) {
      if (*lhs < *rhs) {
         return -1;
      }
 
      if (*rhs < *lhs) {
         return 1;
      }
   }
 
   if (*lhs) {
      return 1;
   }
 
   if (*rhs) {
      return -1;
   }
 
   return 0;
}
1
Olka_CP_help
0 / 0 / 0
Регистрация: 07.11.2013
Сообщений: 12
18.12.2013, 00:32  [ТС] #6
преподаватель поставил задачу заменить стандартную функцию на СВОЮ
0
Yanush
159 / 156 / 46
Регистрация: 28.09.2013
Сообщений: 288
Завершенные тесты: 1
18.12.2013, 00:38 #7
Подставьте ту функцию, которую я скинул (или ту, что предложил человек выше) вместо стандартной и все будет работать.
1
Olka_CP_help
0 / 0 / 0
Регистрация: 07.11.2013
Сообщений: 12
18.12.2013, 00:41  [ТС] #8
ВСе работает!!!! Спасибо огромное
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.12.2013, 00:41
Привет! Вот еще темы с ответами:

Как сделать свою формат-функцию? - C++
навроде void logtofile(const char * _Format, ...) { FILE * pFile; pFile = fopen (&quot;log.txt&quot;,&quot;a&quot;); fprintf (pFile,...

Как написать свою функцию типа printf? - C++
Доброго времени суток! Прошу помочь в непонятном для меня задании. Какой должна быть функция, чтоб при ее вызове (в следующеем виде) ...

Как написать свою функцию std::replace? - C++
В STL есть функция std::replace. Как написать свою? У меня не получается template &lt; typename T, class Container&lt;T&gt; &gt; void...

не удается релизовать свою функцию sort для шаблонного массива - C++
функция должна получать Array&lt;T&gt;::Iterator #ifndef SORT_H #define SORT_H #include &lt;iostream&gt; //#include &lt;string&gt; ...


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

Или воспользуйтесь поиском по форуму:
8
Yandex
Объявления
18.12.2013, 00:41
Ответ Создать тему
Опции темы

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