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

Не могу найти ошибку - C++

Войти
Регистрация
Восстановить пароль
 
Sylar9
-20 / 55 / 2
Регистрация: 04.09.2011
Сообщений: 1,890
Записей в блоге: 1
31.01.2012, 08:56     Не могу найти ошибку #1
Вот сама задача:
Создайте свою версию библиотечной функции strcmp(s1, s2), которая срав¬нивает две строки и возвращает -1, если s1 идет нерпой по алфавиту, О, если в s1 и s2 одинаковые значения, и 1, если s2 идет первой по алфавиту. Назовите вашу функцию compstr(). Она должна принимать в качестве ар¬гументов два указателя на строки char*, сравнивать эти строки посим¬вольно и возвращать число int. Напишите функцию main() для проверки работы вашей функции с разными строками. Используйте указатели во всех возможных ситуациях.

Вот код программы:
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
#include <iostream>
#include <locale.h>
using namespace std;
int main()
{
    setlocale(LC_ALL, "Rus");
    int strcmp(char**, char**);
    char* s[]={"Hello"};
    char* s2[]={"Hello"};
    int i=0;
    i=strcmp(s,s2);
    if(i==0)
        cout << "Строки равны" << endl;
 
    system("pause");
    return 0;
}
int strcmp(char** s1[], char** s2[])
{
   if(s1<s2)
   {
      //S1 раньше идет чем s2
       return -1;
   }
   else if(s1==s2) 
       return 0;
   else
       return 1;
 
}
Вот ошибки компилятора:
fatal error LNK1120: 1 неразрешенных внешних элементов
error LNK2019: ссылка на неразрешенный внешний символ "int __cdecl strcmp(char * *,char * *)" (?strcmp@@YAHPAPAD0@Z) в функции _main

Как это исправить можно
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
31.01.2012, 08:56     Не могу найти ошибку
Посмотрите здесь:

C++ Не могу найти ошибку
C++ Не могу найти ошибку
C++ Не могу найти ошибку!
Не могу найти ошибку C++
C++ Не могу найти ошибку
Не могу найти ошибку C++
C++ Не могу найти ошибку
Не могу найти ошибку C++
C++ Не могу найти ошибку
Не могу найти ошибку C++
Не могу найти ошибку C++
Не могу найти ошибку C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Байт
 Аватар для Байт
14484 / 9198 / 1326
Регистрация: 24.12.2010
Сообщений: 16,851
31.01.2012, 09:04     Не могу найти ошибку #2
C
1
int strcmp(char**, char**);
Вытащи перед main.
И советую во избежании наведенных ошибок обозвать функцию иначе, например StrCmp, Mystrcmp
Sylar9
-20 / 55 / 2
Регистрация: 04.09.2011
Сообщений: 1,890
Записей в блоге: 1
31.01.2012, 09:07  [ТС]     Не могу найти ошибку #3
Цитата Сообщение от Байт Посмотреть сообщение
C
1
int strcmp(char**, char**);
Вытащи перед main.
И советую во избежании наведенных ошибок обозвать функцию иначе, например StrCmp, Mystrcmp
а ваше где применять указатели надо, не ка немого понять
Байт
 Аватар для Байт
14484 / 9198 / 1326
Регистрация: 24.12.2010
Сообщений: 16,851
31.01.2012, 09:07     Не могу найти ошибку #4
Посмотрел внимательнее, еще нашел плюхи
C
1
2
3
int strcmp(char**, char**);
char* s[]={"Hello"};
char* s2[]={"Hello"};
Надо
C
1
2
3
4
5
6
int strcmp(char*, char*);
char s[]="Hello";
char s2[]="Hello";
   // Или
char *s="Hello";
char *s2="Hello";
Sylar9
-20 / 55 / 2
Регистрация: 04.09.2011
Сообщений: 1,890
Записей в блоге: 1
31.01.2012, 09:21  [ТС]     Не могу найти ошибку #5
Цитата Сообщение от Байт Посмотреть сообщение
Посмотрел внимательнее, еще нашел плюхи
C
1
2
3
int strcmp(char**, char**);
char* s[]={"Hello"};
char* s2[]={"Hello"};
Надо
C
1
2
3
4
5
6
int strcmp(char*, char*);
char s[]="Hello";
char s2[]="Hello";
   // Или
char *s="Hello";
char *s2="Hello";
спасибо!
Yandex
Объявления
31.01.2012, 09:21     Не могу найти ошибку
Ответ Создать тему
Опции темы

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