Вопрос № 104467: Здравствуйте!
Товарищи эксперты, подскажите, как получить строку из EditBox в ListBox при нажатии на кнопку?
Спасибо.
...Вопрос № 104478: Задача 1
Вычислить средний балл учеников класса, если известны оценки ученикоа по математике, русскому языку и физики, распечатать список учеников , имеющих средний балл выше среднего в классе
Задача 2
Дан файл, содержащий текст на англий...Вопрос № 104483: Помогите написать программу на С++ для Borland 3.1
Дан файл F, компоненты которого являются целыми числами. Никакая из компонент файла не равна нулю. Файл F содержит столько же отрицательных чисел, сколько положительных. Используя вспомогате...Вопрос № 104490: Здравствуйте!
Мне необходимо написать на С поиск файлов и подкаталогов, входящих в выбранный каталог.
Спасибо....Вопрос № 104492: Здравствуйте, ув. эксперты.
Подскажите, каким образом можно считать из файла каждую 50ую строчку (может есть для этого какие-нибудь стандартные функции)?
Мне в голову пришла только одна мысль: считать все строчки из файла в массив и уже из не...Вопрос № 104497: пишу простенькую прогу на си. в vs 2005.прога рабочая, компилируется без ошибок. но exeшный файл не запускается...т.е.запускается и тут же закрывается. писала ф-цию getch()не помогло. думаю, можт это из-за настроек vs5, тк в vs6 все норм(но к сожален...
Вопрос № 104.467
Здравствуйте!
Товарищи эксперты, подскажите, как получить строку из EditBox в ListBox при нажатии на кнопку?
Спасибо.
Отправлен: 06.10.2007, 12:50
Вопрос задал: Sky24dive (статус: Посетитель)
Всего ответов: 1 Мини-форум вопроса >>> (сообщений: 0)
Отвечает: Архипов Александр Леонидович
Здравствуйте, Sky24dive!
На BC++ 6 это выглядит так:
ListBox1->Items->Add(Edit1->Text)
Приложение:
Ответ отправил: Архипов Александр Леонидович (статус: 5-ый класс)
Ответ отправлен: 06.10.2007, 13:44 Оценка за ответ: 4
Вопрос № 104.478
Задача 1
Вычислить средний балл учеников класса, если известны оценки ученикоа по математике, русскому языку и физики, распечатать список учеников , имеющих средний балл выше среднего в классе
Задача 2
Дан файл, содержащий текст на английском языке и некоторая буква, подсчитать , сколько слов начинается с указанной буквы
Заранее спасибо
Отвечает: Sov
Здравствуйте, Николаева Татьяна Ивановна!
Есть структура student, в ней 4 поля:имя ученика и массивы оценок по предметам
Пользователь вводит только имена учеников, массивы с оценками заполняются случаным образом
Приложение:
Ответ отправил: Sov (статус: 7-ой класс)
Ответ отправлен: 07.10.2007, 07:01
Отвечает: Гальцов Андрей Михаилович
Здравствуйте, Николаева Татьяна Ивановна!
// Заполнение массива данных и вычисление среднего балла для каждого ученика
String name[5]; // Массив учеников
float oz[5][4]; // Замеьте, для количества оценок - 4 значения. Четвёртая для среднего
char str[20], o[1];
for (int i = 0; i < 5; i++)
{
printf("Studet ");
gets(str);
name[i] = str;
oz[i][3] = (oz[i][0]+oz[i][1]+oz[i][2])/3;
printf("srednee = %s
", FloatToStr(oz[i][3]));
}
// Вычисление среднего балла по классу
float sr;
for (int i = 0; i < 5; i++) sr = sr + oz[i][3];
printf("
Srednee po klassu = %s
", FloatToStr(sr/5));
// Вывод на экран
for (int i = 0; i < 5; i++)
{
if (oz[i][3] > sr/5)
{
printf(": %s - ", name[i]);
printf(" %s
", FloatToStr(oz[i][3]));
}
}
getch();
return 0;
}
Задача 2
int main(void)
{
// Принимаем условие, что перед словом должен стоять пробел
int j = 0; // Счётчик слов
char buf[1];
String sm;
// В S текст
String S = "Activation/registration instructions, other product configuration issues, and installation instructions are included in the install.txt/install.rtf documents, located at the root of your C++Builder CD and your C++Builder installation directory. An overview of the product registration process is also provided in Chapter 1 of the Quick Start, which comes with the product.";
printf("%s
", S);
gets(buf); // Ввод искомого символа
sm = buf;
if (S.SubString(1,1) == sm) j = j + 1; // Проверка первого слова
sm = " " + sm;
for (int i = 1; i<=S.Length(); i++) // проверка последующих слов
if (S.SubString(i,2) == sm) j = j + 1;
printf("%s", IntToStr(j));
getch();
return 0;
Помогите написать программу на С++ для Borland 3.1
Дан файл F, компоненты которого являются целыми числами. Никакая из компонент файла не равна нулю. Файл F содержит столько же отрицательных чисел, сколько положительных. Используя вспомогательный файл H, переписать компоненты файла F в файл G так, чтобы в файле G не было двух соседних
компонент с одним знаком.
Отвечает: Sov
Здравствуйте, Предеин Денис Дмитроевич!
Каждая строка в файле-это число
Приложение:
Ответ отправил: Sov (статус: 7-ой класс)
Ответ отправлен: 07.10.2007, 06:53
Вопрос № 104.490
Здравствуйте!
Мне необходимо написать на С поиск файлов и подкаталогов, входящих в выбранный каталог.
Спасибо.
Отправлен: 06.10.2007, 15:53
Вопрос задала: Svetilka (статус: Посетитель)
Всего ответов: 1 Мини-форум вопроса >>> (сообщений: 0)
Отвечает: Verena
Здравствуйте, Svetilka!
Вы можете воспоьзоваться win api функциями FindFirstFile/FindNextFile. HANDLE FindFirstFile(
LPCTSTR lpFileName,
LPWIN32_FIND_DATA lpFindFileData
);
Начинает поиск в директории lpFileName и отправляет результат в структуру lpFindFileData (см. описание структры в приложении). BOOL FindNextFile(
HANDLE hFindFile,
LPWIN32_FIND_DATA lpFindFileData
);
Продолжает поиск, начатый предыдущей функцией. В качестве первого параметра передаётся handle, полученный как результат выполнения findfirstfile, в качнстве второго - вновь указатель на структуру.
Закрыть поиск необходимо функцией BOOL FindClose(
HANDLE hFindFile
);
, где в качестве параметра передаётся handle, полученный первой функцией.
Пример использования:
WIN32_FIND_DATA fd; //структура
HANDLE hFindFile= FindFirstFile ("C:\1\*.*", &fd); //ищем все файлы в папке C:\1
BOOL bContinue=(hFindFile!= INVALID_HANDLE_VALUE); //если что-то найдено
while (bContinue)
{
//что-то делаем здесь с найденной информацией,
// например, выведем на экран:
cout << fd.cFileName
bContinue= FindNextFile(hFindFile, &fd); //ищем следующий
}//while (bContinue)
FindClose(hFindFile); //закрываем поиск
Удачи!
Приложение:
--------- Эта история - не для истории, понимаешь?
Ответ отправила: Verena (статус: Студент)
Ответ отправлен: 06.10.2007, 17:16
Вопрос № 104.492
Здравствуйте, ув. эксперты.
Подскажите, каким образом можно считать из файла каждую 50ую строчку (может есть для этого какие-нибудь стандартные функции)?
Мне в голову пришла только одна мысль: считать все строчки из файла в массив и уже из него дергать нужные строки, но мне кажется это не слишком разумно, особенно если файл большой.
Отвечает: Verena
Здравствуйте, Никитаев Константин Александрович!
Считывать файлы целиком во время выполнения программы - вообще есть вещь нежелательная, поскольку файл может быть любого размера. Считать каждую 50-ю строчку можно по-разному. Например, если строки фиксированной длины или есть возможность как-то предсказать их длину в байтах, можно пользоваться функцией fseek (файл, сдвиг_в_байтах, откуда_сдвигать) - последний параметр может быть выражен одной из следующих констант:
SEEK_SET Начало файла
SEEK_CUR Текущая позиция указателя файла
SEEK_END Конец файла
Другой вариант: можно в цикле до 50 считывать строку из файла (например, функцией fgets) в одну и ту же переменную, чтобы после выхода из цикла там осталась только нужная строка. С точки зрения быстродействия, этот способ хуже, поскольку обращение к файлу занимает достаточно много времени.
Это наиболее простые способы, но, возможно, есть какие-то другие :)
Удачи!
--------- Эта история - не для истории, понимаешь?
Ответ отправила: Verena (статус: Студент)
Ответ отправлен: 06.10.2007, 16:52
Отвечает: kool
Здравствуйте, Никитаев Константин Александрович!
Каждая строка заканчивается парой знаков - перевод строки, возврать каретки.
(hex код 0x0D, 0x0A) 50 раз найдя эту пару будем находиться на 50 строке.
А файл можно отобразить на память и работать с ним как с массивом.
Удачи!
--------- I am.
Ответ отправил: kool (статус: Практикант)
Ответ отправлен: 07.10.2007, 10:31
Отвечает: Гальцов Андрей Михаилович
Здравствуйте, Никитаев Константин Александрович!
Если это файл последовательного доступа(как чаще всего бывает в таких зажаниях), то надо перебрать все 49 строк что бы добраться до 50-й...Делайте, так как написали...думаю всё получится...
пишу простенькую прогу на си. в vs 2005.прога рабочая, компилируется без ошибок. но exeшный файл не запускается...т.е.запускается и тут же закрывается. писала ф-цию getch()не помогло. думаю, можт это из-за настроек vs5, тк в vs6 все норм(но к сожалению нужно в 2005-ом) помогите плз!
Отправлен: 06.10.2007, 16:32
Вопрос задал: FRJ
Всего ответов: 1 Мини-форум вопроса >>> (сообщений: 0)
Отвечает: Rockie
Здравствуйте, !
В VS 2005 вы можете компилировать в режиме Debug и Release. В первом случае компилятор сам добавляет аналог getch, чтобы окно колнсоли не закрывалось. Если режими Release - окошко будет закрываться. Эти пункты можно настроить в Project-> Properties-> кнопка Configuration Manager-> Active Solution Configuration-> выбираете режим, close, OK.
Если вы говорите, что добавляете функцию getch() и программа все равно закрывается - можно предположить что программа все же содержит ошибку и завершается аварийно(до getch() дело не доходит). Так что в любом случае вам стоит привести код и тогда вам намного быстрее ответят.
Ответ отправил: Rockie (статус: 5-ый класс)
Ответ отправлен: 08.10.2007, 16:58