Вопрос № 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 Комментарий оценки: а что значит, наприме такая строчка ---------------------|-------| | | ?