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

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

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

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

17.12.2013, 23:46. Просмотров 381. Ответов 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();
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.12.2013, 23:46     Преобразовать функцию strcmp в СВОЮ функцию
Посмотрите здесь:

C++ Написать функцию convert (преобразовать)
Как сделать свою формат-функцию? C++
Не получается преобразовать типы указателей на функцию C++
Как написать свою функцию atof() C++
C++ Из заданной строки, распечатать все слова без повторений (как добавить функцию strcmp)
C++ Как правильно вызывать функцию strcmp()?
не удается релизовать свою функцию sort для шаблонного массива C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
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
1250 / 1133 / 54
Регистрация: 21.04.2012
Сообщений: 2,357
Завершенные тесты: 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 в СВОЮ функцию
Еще ссылки по теме:

C++ Преобразовать выражение используя функцию abs
Как написать свою функцию типа printf? C++
C++ Заменить функцию strlen на свою
C++ Как написать свою функцию std::replace?
C++ Создайте функцию strcmp – сравнение двух строк, учитывая регистр символов

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

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

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