Вопрос № 102513: Здравствуйте уважаемые эксперты!
Помогите пожалуйста решить задачу по языку программирования С,
по теме "Классы. Конструкторы, деструкторы. Определение методов класса. Типы доступа".
Задание: Определите класс с заданной структу...Вопрос № 102539: Здравствуйте уважаемые эксперты!
Подскажите, как работать с массивом строк (С-строки) через указатели.
Если массив одномерный то это выглядит примерно так:
int f[WRDCOUNT];
for(int* p=f; p<f+WRDCOUNT; *p++=0); //заполняем все строк...
Вопрос № 102.513
Здравствуйте уважаемые эксперты!
Помогите пожалуйста решить задачу по языку программирования С,
по теме "Классы. Конструкторы, деструкторы. Определение методов класса. Типы доступа".
Задание: Определите класс с заданной структурой. Определите 3 конструктора: конструктор по умолчанию, конструктор инициализации, конструктор копирования. Определите деструктор. Определите несколько методов класса. Все данные класса должны быть приватными, а доступ к ним реализован через функции типа Get и Set.
Таксист:
Член-данные:
1)Имя
2)Стаж работы
3)Номер машины
4)Марка машины
5)Пробег
Член-функции:
1)Инициализация с клавиатуры
2)Инициализация из файла
3)Вывод на экран
4)Запись в файл
5)Корректировка
Заранее благодарны.
Отвечает: Терсков Сергей
Здравствуйте, Diana Gutuleac!
Вариант решения вашей задачи смотрите в приложении... (Компилятор MS VS 2005)
Приложение:
Ответ отправил: Терсков Сергей (статус: Студент)
Ответ отправлен: 19.09.2007, 04:25
Вопрос № 102.539
Здравствуйте уважаемые эксперты!
Подскажите, как работать с массивом строк (С-строки) через указатели.
Если массив одномерный то это выглядит примерно так:
int f[WRDCOUNT];
for(int* p=f; p<f+WRDCOUNT; *p++=0); //заполняем все строки символом '
а как рабоать в таком случае? :
char w[WRDCOUNT][MAXWRDLN];
Отправлен: 18.09.2007, 21:32
Вопрос задал: aaqs (статус: 5-ый класс)
Всего ответов: 2 Мини-форум вопроса >>> (сообщений: 3)
Отвечает: Aristos
Здравствуйте, aaqs!
Строки в С/С++ - это массивы, поэтому точно так же как и для целых чисел:
char w[WRDCOUNT][MAXWRDLN];
for (int i = 0; i < WRDCOUNT; i++)
for (char* c = w[i]; c < w[i]+MAXWRDLN; *c++ = '
--------- нет ничего невозможного
Ответ отправил: Aristos (статус: 6-ой класс)
Ответ отправлен: 18.09.2007, 23:42 Оценка за ответ: 3 Комментарий оценки: все то правильно, но использован оператор индексироваия []
=\\
Отвечает: kool
Здравствуйте, aaqs!
Оптимально будет так
char w[WRDCOUNT][MAXWRDLN];
for (int i = 0; i < WRDCOUNT; i++)
memset((w+i),0,MAXWRDLN);
Удачи!
--------- I am.
Ответ отправил: kool (статус: Практикант)
Ответ отправлен: 19.09.2007, 20:57 Оценка за ответ: 5 Комментарий оценки: спасибо! совсем про него забыл.
в данной задаче он, в принципе, не нужен, а на будущее учту)