|
|
|
|
|
для: oleg_alexeev
(02.04.2007 в 11:42)
| | 255. Если пользователь введет больше, поведение программы перестанет быть предсказуемым. | |
|
|
|
|
|
|
|
для: ols
(02.04.2007 в 11:38)
| | Да. Если пользователь введет больше, программа аварийно завершится. | |
|
|
|
|
|
|
|
для: oleg_alexeev
(02.04.2007 в 09:12)
| |
256 в даенном случае это кол-во символов допустимых? | |
|
|
|
|
|
|
|
для: ols
(01.04.2007 в 16:50)
| |
действительно не объявление переменной. В С++ имеются так называемые пространства имен. Они придуманы для решения проблемы конфликта имен переменных и функций в больших проектах, где в программу включаются десятки заголовочных файлов и есть большая вероятность, что имена могут совпасть. У пространства имен есть свое имя, например std - это пространство имен стандартной библиотеки С++. Есть еще безымянное пространство имен для совместимости с Си. Как это работает?
обычное объявление
объявляет функцию в глобальном пространстве имен, а
namespace my
{
void MyFunc();
}
|
объявляет функцию в пространстве имен my.
Для вызова этих функций надо писать
MyFunc(); // для вызова первой
::MyFunc(); // для вызова первой
my::MyFunc(); // для вызова второй
|
Директива using позволяет использовать имена из некоторого пространства имен не приписывая к ним имя пространства имен, т.е. писать cout вместо std::cout
Для ввода текста с клавиатуры можно написать еще и так:
char string[256];
cout << "Vvedite text: ";
cin >> string;
|
| |
|
|
|
|
|
|
|
для: cheops
(01.04.2007 в 16:36)
| | Затруднение с указателем *string.
int main(int argc, char **argv)
{
char *string = "programmirovanie, eto estj nechto klassnoe";
char maxword[100], minword[100];
FindMinMax(string, maxword, minword);
printf("max: %s\n", maxword);
printf("min: %s\n", minword);
}
|
Тоесть в данном случае здесь уже задано в программе значение - char *string = "programmirovanie, eto estj nechto klassnoe";
|
Я пытался зделать так, чтобы текст (к примеру - programmirovanie, eto estj nechto klassnoe) можно было ввести с клавиатуры. а затем уже далее ясно - программа выводит слово с минимальным и макситмальным значением:
cout<<"Vvedite text="<<endl;cin>>*string;
|
и в общем случае изменил код вот так:
[/codint main(int argc, char **argv)
{
char *string;
cout<<"Vvedite text="<<endl;cin>>*string;
char maxword[100], minword[100];
FindMinMax(string, maxword, minword);
printf("max: %s\n", maxword);
printf("min: %s\n", minword);
}
|
Но видимо так нельзя делать, простите, наверное грубая ошибка. | |
|
|
|
|
|
|
|
для: cheops
(01.04.2007 в 16:36)
| | Затруднение с указателем *string.
int main(int argc, char **argv)
{
char *string = "programmirovanie, eto estj nechto klassnoe";
char maxword[100], minword[100];
FindMinMax(string, maxword, minword);
printf("max: %s\n", maxword);
printf("min: %s\n", minword);
}
|
Тоесть в данном случае здесь уже задано в программе значение - char *string = "programmirovanie, eto estj nechto klassnoe";
|
Я пытался зделать так, чтобы текст (к примеру - programmirovanie, eto estj nechto klassnoe) можно было ввести с клавиатуры. а затем уже далее ясно - программа выводит слово с минимальным и макситмальным значением:
cout<<"Vvedite text="<<endl;cin>>*string;
|
и в общем случае изменил код вот так:
[/codint main(int argc, char **argv)
{
char *string;
cout<<"Vvedite text="<<endl;cin>>*string;
char maxword[100], minword[100];
FindMinMax(string, maxword, minword);
printf("max: %s\n", maxword);
printf("min: %s\n", minword);
}
|
Но видимо так нельзя делать, простите, наверное грубая ошибка. | |
|
|
|
|
|
|
|
для: ols
(01.04.2007 в 15:43)
| | Что вызывает затруднение? Прикрепите к сообщению архив с тем, что у вас сейчас имеется? | |
|
|
|
|
|
|
|
для: oleg_alexeev
(31.03.2007 в 17:37)
| | Хм, что-то не получается внедирить код cheopsa в код oleg'a_alexeev'a. Помогите пожалуйста. Еще несовсем ясно
Это объявления тип'а переменной? | |
|
|
|
|
|
|
|
для: ols
(31.03.2007 в 00:56)
| | Чтобы компилятор не ругался на функцию printf надо включить её объявление:
>> p.s. А чем форматный вывод отличается? так и не пойму
printf входит в набор стандартных библиотечных функций языка С. С++ включает в себя С вместе с его стандартными функциями, поэтому в С++ можно пользоваться как объектно-ориентированным вводом-выводом, так и обычным, основанным на функциях. Набор возможностей одного и другого способа одинаков, разный только стиль написания программы.
Кстати я написал этот пример в стиле С. От языка С++ там только тип bool. Если писать в стиле С++, то кроме замены printf на cout надо бы вместо буферов для строк использовать класс std::string. | |
|
|
|
|
|
|
|
для: ols
(31.03.2007 в 01:36)
| | Для этого удобно воспользоваться функцией fgets() из библиотеки <stdio>
#include <stdio>
#include <iostream>
using namespace std;
int main()
{
char input[80];
int number = 0;
cout << "Введите строку " << endl;
fgets(input, 80, stdin);
while(input[number++]);
cout << "Строка содержит " << number << " символов " << endl;
return 0;
}
|
| |
|
|
|
|