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

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

Восстановить пароль Регистрация
 
Olka_CP_help
0 / 0 / 0
Регистрация: 07.11.2013
Сообщений: 12
17.12.2013, 23:46     Преобразовать функцию strcmp в СВОЮ функцию #1
Нужно заменить функцию 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();
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Yanush
 Аватар для Yanush
154 / 150 / 44
Регистрация: 28.09.2013
Сообщений: 281
Завершенные тесты: 1
18.12.2013, 00:01     Преобразовать функцию strcmp в СВОЮ функцию #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;
    }
Olka_CP_help
0 / 0 / 0
Регистрация: 07.11.2013
Сообщений: 12
18.12.2013, 00:15  [ТС]     Преобразовать функцию strcmp в СВОЮ функцию #3
Добавлено через 2 минуты
тогда мне вместо strcmp в своем коде вставить StrCmp?? я правильно поняла?
если так то есть ошибки
Yanush
 Аватар для Yanush
154 / 150 / 44
Регистрация: 28.09.2013
Сообщений: 281
Завершенные тесты: 1
18.12.2013, 00:24     Преобразовать функцию strcmp в СВОЮ функцию #4
А что вы делаете? у меня Ваш код нормально работает. Ввожу login1, затем pas1 и программа закрывается. В других случаях пишет, что не правильный пароль/логин.
gray_fox
What a waste!
 Аватар для gray_fox
1244 / 1127 / 53
Регистрация: 21.04.2012
Сообщений: 2,350
Завершенные тесты: 3
18.12.2013, 00:28     Преобразовать функцию strcmp в СВОЮ функцию #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;
}
Olka_CP_help
0 / 0 / 0
Регистрация: 07.11.2013
Сообщений: 12
18.12.2013, 00:32  [ТС]     Преобразовать функцию strcmp в СВОЮ функцию #6
преподаватель поставил задачу заменить стандартную функцию на СВОЮ
Yanush
 Аватар для Yanush
154 / 150 / 44
Регистрация: 28.09.2013
Сообщений: 281
Завершенные тесты: 1
18.12.2013, 00:38     Преобразовать функцию strcmp в СВОЮ функцию #7
Подставьте ту функцию, которую я скинул (или ту, что предложил человек выше) вместо стандартной и все будет работать.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.12.2013, 00:41     Преобразовать функцию strcmp в СВОЮ функцию
Еще ссылки по теме:

не удается релизовать свою функцию sort для шаблонного массива C++
C++ Как сделать функцию, возвращающую указатель на функцию (которая в свою очередь возвращает указатель на массив)
Как написать свою функцию типа printf? C++

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

Или воспользуйтесь поиском по форуму:
Olka_CP_help
0 / 0 / 0
Регистрация: 07.11.2013
Сообщений: 12
18.12.2013, 00:41  [ТС]     Преобразовать функцию strcmp в СВОЮ функцию #8
ВСе работает!!!! Спасибо огромное
Yandex
Объявления
18.12.2013, 00:41     Преобразовать функцию strcmp в СВОЮ функцию
Ответ Создать тему
Опции темы

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