C++Вопросы и внятные ответы
Автор izedog, 06.04.2010, 20:16
#7
Отправлено 06.04.2010, 23:14:15
Это точно по С++ учебник? Из известных мне языков такой метод в стандартной библиотеке есть у языков Delphi и C#. Я затрудняюсь сказать, чем Вам можно помочь, если именно этот фрагмент кода Вы перепечатали из учебника, посколько, за исключением этого метода, в остальном код корректен. Возможно это, так называемый, C++/CLI (версия С++ от Microsoft для платформы .NET). Убедитесь, что Вы используете именно этот язык, а не обычный C++.
Сообщение отредактировал v04bvs: 06.04.2010, 23:14:47
#9
Отправлено 07.04.2010, 12:29:49
#include <string>
#include <iostream>
using namespace std;
bool sc(string& st1, string& st2)
{
if (st1 == st2 ) return true;
return false;
}
int main(int argc, char** argv)
{
string st1 = "string 1";
string st2 = "string 2";
if (!sc(st1, st2))
cout <<endl <<" st1 not equal st2 " << endl;
else
cout <<endl <<" st1 equal st2 " << endl;
}
#include <iostream>
using namespace std;
bool sc(string& st1, string& st2)
{
if (st1 == st2 ) return true;
return false;
}
int main(int argc, char** argv)
{
string st1 = "string 1";
string st2 = "string 2";
if (!sc(st1, st2))
cout <<endl <<" st1 not equal st2 " << endl;
else
cout <<endl <<" st1 equal st2 " << endl;
}
#10
Отправлено 07.04.2010, 15:33:10
не.... код написан мной, с учебника взят только синтаксис
там был такой примерAnsiString S = "abcdefgh"; int n = s.Length(); // n=8и всё
Зачем людей путать. В учебнике все правильно, считается количество символов у строки типа AnsiString , а ты пытаешься это же самое повторить с массивом.
А количество элементов попробуй получить методом Count()
Сообщение отредактировал Big Joe: 07.04.2010, 15:45:34
#12
Отправлено 08.04.2010, 10:14:51
как-то так:
#include <string.h>
bool sc(char* st1, char* st2)
{
return (strcmp(st1, st2) == 0);
}
а если побайтно, как в примере, то
#include <string.h>
bool sc(char* st1, char* st2)
{
size_t k = strlen(st1);
bool p = true;
if(k != strlen(st2))
return false;
for(size_t i=0; i<k; i++) {
if (st1[i] != st2[i]) {
p = false;
break;
}
};
return p;
}
#include <string.h>
bool sc(char* st1, char* st2)
{
return (strcmp(st1, st2) == 0);
}
а если побайтно, как в примере, то
#include <string.h>
bool sc(char* st1, char* st2)
{
size_t k = strlen(st1);
bool p = true;
if(k != strlen(st2))
return false;
for(size_t i=0; i<k; i++) {
if (st1[i] != st2[i]) {
p = false;
break;
}
};
return p;
}
Сообщение отредактировал Палыч: 08.04.2010, 10:15:30
#17
Отправлено 25.04.2010, 11:14:29
на OnKeyPress
if ((Key >= '0') && (Key <= '9')) return;
else Key = 0;
А можно по подробнее? А то я пока это не разбирал
Я так понимаю вы используете C++ Builder. Где у компонента Edit есть событие OnKeyPress.
Вставьте туда этот код, запустите и проверьте ввод букв.
Количество пользователей, читающих эту тему: 3
пользователей: 0, неизвестных прохожих: 3, скрытых пользователей: 0