Вопрос № 92387: Уважаемые эксперты, помогите пожалуйста! Помогите с объяснением задачи (комментариями к строкам):
вот сама задача:
Напишите программу на С, которая открывает текстовый файл-список, содержащий имена файлов по одному в строке. Программа по...Вопрос № 92408: Уважаемые знатоки, внимание! Вопрос задает Чайник:
Как сделать так, чтобы при нажатии на кнопку открывалась другая форма(БилдерС++).
Спасибо....Вопрос № 92421: Здравствуйте! Начал изучать C и никак не могу решить задачу:
Ввести строку а с клавиатуры. Вместо каждой точки поставить многоточие, вместо буквы а поставить о посчитать кол-во замененных букв. На паскале решил на СИ не могу......Вопрос № 92424: Подскажите как получить текущий год.
пробывал декодировать дату (код прилогается), но я не пойму как потом использовать эти переменные day, month, year; а мне нужно число, например год 2007.
...Вопрос № 92432: подскажите как...
есть таблицы неизвестного формата, *.к01 *.к02 ... *.dat ....
подскажите как их конвертировать в вормат *.db, как вообще можно узнать о том что за формат этих таблиц? пробывал их открывать разными датабейзами все пишут что ...Вопрос № 92441: Уважаемые эксперты, помогите составить блок-схему к задаче:
Напишите программу на С, которая открывает текстовый файл-список, содержащий имена файлов по одному в строке. Программа подсчитывает количество предложений во всех файлах и выводит ...
Вопрос № 92.387
Уважаемые эксперты, помогите пожалуйста! Помогите с объяснением задачи (комментариями к строкам):
вот сама задача:
Напишите программу на С, которая открывает текстовый файл-список, содержащий имена файлов по одному в строке. Программа подсчитывает количество предложений во всех файлах и выводит сообщение на экран.
решение:
#include <fstream>
#include <stdio.h>
#include <conio.h>
using namespace std;
while (in1.getline(f_name,64))
{
ifstream in2(f_name,ios::binary);
if (in2.fail()) continue;
int s_count = 0,total_chars = 0;
while (in2.get(curr_ch))
{
total_chars++;
if (curr_ch == '.' || curr_ch == '?' || curr_ch == '!')
{
if (total_chars != 1)
s_count++;
total_chars = 0;
}
}
printf("
%s: %d total",f_name,s_count);
}
getch();
}
Напишите пожалуйста комментарии к строкам. Заранее спасибо!
Отправлен: 21.06.2007, 18:55
Вопрос задал: cascar (статус: Посетитель)
Всего ответов: 1 Мини-форум вопроса >>> (сообщений: 1)
Отвечает: Терсков Сергей
Здравствуйте, cascar!
См. в приложении. А вообще стиль программирования не очень хороший. Используются объекты из STL и обычные C-строки (а не string). Файлы не закрываются совсем (а если их очень много, что потом будет с программой ?)
Приложение:
Ответ отправил: Терсков Сергей (статус: Студент)
Ответ отправлен: 22.06.2007, 02:34 Оценка за ответ: 5
Вопрос № 92.408
Уважаемые знатоки, внимание! Вопрос задает Чайник:
Как сделать так, чтобы при нажатии на кнопку открывалась другая форма(БилдерС++).
Спасибо.
Отправлен: 21.06.2007, 22:41
Вопрос задал: Trifit (статус: Посетитель)
Всего ответов: 2 Мини-форум вопроса >>> (сообщений: 1)
Отвечает: Omickron
Здравствуйте, Trifit!
Форму можно просто открыть, а можно в диалоговом режиме (т.е. пока она не закроется, вернуться обратно к приложению ты не сможешь)
Чтобы просто открыть форму приметяется метод Show(). Для модального открытия - ShowModal():TModalResult.
Для того, чтобы открыть из главной формы вспомогательную, добавь модуль вспомогательной формы в раздел include.
Ответ отправил: Omickron (статус: 2-ой класс)
Ответ отправлен: 21.06.2007, 23:05
Ответ отправил: Sov (статус: 5-ый класс)
Ответ отправлен: 22.06.2007, 06:27
Вопрос № 92.421
Здравствуйте! Начал изучать C и никак не могу решить задачу:
Ввести строку а с клавиатуры. Вместо каждой точки поставить многоточие, вместо буквы а поставить о посчитать кол-во замененных букв. На паскале решил на СИ не могу...
Отправлен: 22.06.2007, 02:07
Вопрос задал: Klyan (статус: Посетитель)
Всего ответов: 2 Мини-форум вопроса >>> (сообщений: 1)
Отвечает: Терсков Сергей
Здравствуйте, Klyan!
Вариант решения вашей задачи...
Приложение:
Ответ отправил: Терсков Сергей (статус: Студент)
Ответ отправлен: 22.06.2007, 04:19
Отвечает: Ross
Другой вариант, с использование метода find из std::string.
Кстати, cin >> str считает только одно слово. Для чтения строки используется cin.getline
Приложение:
--------- Доступно только то, что видимо (c) Б. Керниган
Ответ отправил: Ross (статус: 10-ый класс)
Ответ отправлен: 22.06.2007, 15:36
Вопрос № 92.424
Подскажите как получить текущий год.
пробывал декодировать дату (код прилогается), но я не пойму как потом использовать эти переменные day, month, year; а мне нужно число, например год 2007.
year использовать как обыкновенную переменную. например вывести ее
cout << "год:" << year << endl;
Ответ отправил: ramok (статус: Практикант)
Ответ отправлен: 22.06.2007, 03:31
Вопрос № 92.432
подскажите как...
есть таблицы неизвестного формата, *.к01 *.к02 ... *.dat ....
подскажите как их конвертировать в вормат *.db, как вообще можно узнать о том что за формат этих таблиц? пробывал их открывать разными датабейзами все пишут что неизвестный формат, таблицы из программы написанной 10 лет назад. заранее спасибо
Отвечает: Алексей Демаков
Здравствуйте, Michail_bal!
Попробуйте открыть базу программой Database Workshop:
http://www.panvasoft.com/rus/2536/
http://www.degisy.com/database-workshop.php
Заявлена поддержка многих форматов, в том числе с возможностью преобразования в Excel, Word, HTML, XML, dBase, Paradox.
Ответ отправил: Алексей Демаков (статус: Студент)
Ответ отправлен: 22.06.2007, 07:59
Отвечает: Maxim V.G.
Здравствуйте, Michail_bal!
Есть вариант что эта программа писалась без использования сторонней СУБД. А организация хранения данных организовывалась в коде программы через нетипизированные файлы. Информация записанная в них вполне может быть организована через какой либо алгоритм понятен только самой программе.
--------- Жить вредно - от неё умирают
Ответ отправил: Maxim V.G. (статус: 1-ый класс)
Ответ отправлен: 22.06.2007, 12:23
Часто в таких файлах данные расположены в виде таблиц как в простом текстовом файле. Т.е. нужно попробовать просмотреть их как файл типа *.txt.
Возможно там не таблицы, но по виду можно определить какая там информация и как ее оттуда извлечь. Обычно в те времена сильно не мудрили.
Если так не получиться и т.к. ни один "датабейзер" их не определяет, то нужно искать автора или исходники.
Бывает еще, что с такими базами идет подробная документация об их структуре. Поэтому нужно еще смотреть, откуда эти файлы.
Ответ отправил: Зелик Колабухин (статус: 2-ой класс)
Ответ отправлен: 22.06.2007, 15:00
Вопрос № 92.441
Уважаемые эксперты, помогите составить блок-схему к задаче:
Напишите программу на С, которая открывает текстовый файл-список, содержащий имена файлов по одному в строке. Программа подсчитывает количество предложений во всех файлах и выводит сообщение на экран.
using namespace std; //Используем пространство имен std
void main() {
ifstream in1("files.txt"); //Создаем объект-файл содержащий список других файлов
char f_name[64],curr_ch; //Объфяляем переменные (строка для имен будущих файлов, и текущего символа)
while(in1.getline(f_name,64)) { //Читаем строки из файла-списка пока они есть
ifstream in2(f_name,ios::binary); //Открываем новый файл с именем f_name
if(in2.fail()) //Если файл не удалось открыть то
continue; //возвращаемся к началу цикла
int s_count = 0,total_chars = 0; //Переменные для количества строк и символов в строке
while(in2.get(curr_ch)) { //Читаем символы пока они есть
if(total_chars != 1) //Если срока больше одного символа
s_count++; //Увеличиваем количество строк
total_chars = 0; //Обнуляем счетчик символов
}
}
printf("
%s: %d total",f_name,s_count); //Выводим количество строк
}
getch(); //Ждем нажатия клавиши
}
Спасибо!
Отправлен: 22.06.2007, 08:54
Вопрос задал: cascar (статус: Посетитель)
Всего ответов: 1 Мини-форум вопроса >>> (сообщений: 0)
Отвечает: Maxim V.G.
Здравствуйте, cascar!
Блок должна выглядить имеет графические символы, поэтому попробую тебе помочь указывая в скобках графические символы в которые нужно поместить строку:
Начало (овал)
in1 (/______/)
in1 = file.txt (|___|)
f_name[64],curr_ch (/______/)
----------------------------------------------------------------------------------|
цикл1(| |) | |
file.txt<>EOF(\_____/ ) | |
f_name=file.txt (|_____|) | |
FILE fname (/______/) | |
fname=NULL (/) | |
нет------------(/)--------------------------------да |
s_count, total_chars(/_____________/) |
s_count = 0,total_chars = 0 (|______|) |
------------------------------------------------------------------- |
цикл2(| |) | |
f_name<>EOF(\_____/ ) | |
total_chars=total_chars+1 (|_________|) | |
curr_ch = '.' или curr_ch = '?' или curr_ch = '!' (/) | |
да-------------------------------------------------------(/)нет | |
total_chars <> 1(/) | | |
да------------------(/)------------------------------нет | | |
s_count++; (|________|) | | | |
total_chars = 0; (|________|) | | | |
----------------------------------------------|-------| | |
цикл 2 (/-------)__________________________________| |
(|____ |) |
цикл 1 (/-------)____________________________________________|
(|____ |)
f_name,s_count (вывод на экран - не помню)
конец (овал)
Примечание:
Все строки разделяются стрелкой вниз.
Текст пишется внутри графического символа
Называть файл именем переменной неудобно с точки зрения стилистического оформления программы. Поэтому название файла f_name я заменил на fname.
символ <> правильно писать в блок схемах перечёркнутым равно.
символ NULL - общепринятое обозначение логического нуля.
символ EOF общепринятое обозначение признака конца файла.
Надеюсь это тебе поможет составить блок схему.
--------- Жить вредно - от неё умирают
Ответ отправил: Maxim V.G. (статус: 1-ый класс)
Ответ отправлен: 23.06.2007, 13:19 Оценка за ответ: 5 Комментарий оценки: а что значит, наприме такая строчка ---------------------|-------| | | ?
Отправить вопрос экспертам этой рассылки
Приложение (если необходимо):
* Код программы, выдержки из закона и т.п. дополнение к вопросу.
Эта информация будет отображена в аналогичном окне как есть.
Обратите внимание!
Вопрос будет отправлен всем экспертам данной рассылки!
Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала RusFAQ.ru, зайдите непосредственно на RusFAQ.ru.
Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.