Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / C++ [игнор отключен] [закрыт для гостей] / Символьные строки / 16 сообщений из 16, страница 1 из 1
03.12.2006, 22:37
    #34173312
errorka
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Символьные строки
Я пониманию,что это очень просто,но я уже долго мучаюсь и не могу сделать. Вот сама задача: Задан текст. Определить первое слово, начинающееся с заданного символа.
Пробовала так,но быдает ошибку: fatal error C1010: unexpected end of file while looking for precompiled header directive
Как исправить не знаю.
Может другой вариант решения подкажите?



#include<stdio.h>
#include<string.h>
const int lenmax=41;
void main(int argc, char* argv[])
{
void elabor(char str[],char let,FILE* res);
char let,str[lenmax];
FILE *dat,*res;
int k;
if((dat=fopen(argv[1],"r"))==NULL)
printf("Файл данных не открыт");
if((res=fopen(argv[2],"w"))==NULL)
printf("Файл результатов не открыт ");
fprintf(res," Program %s \n",argv[0]);
fscanf(dat,"%c\n",&let);
fprintf(res," Поиск слов, начинающихся с буквы %c \n",let);
k=1;
while(!feof(dat))
{
fgets(str,41,dat);
fprintf(res,"\n %d строка: %s \n",k,str);
fprintf(res," Найденные слова: \n");
elabor(str,let,res);
k++;
}
fclose(dat);fclose(res);
}
...
Рейтинг: 0 / 0
04.12.2006, 09:53
    #34173736
muk07
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Символьные строки
В какой среде? (VC++,CBUilder......)
...
Рейтинг: 0 / 0
04.12.2006, 09:58
    #34173748
Akh
Akh
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Символьные строки
Откуда берется:
Код: plaintext
 void elabor(char str[],char let,FILE* res); 
...
Рейтинг: 0 / 0
04.12.2006, 19:20
    #34175882
errorka
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Символьные строки
muk07В какой среде? (VC++,CBUilder......)
CBUilder вроде в этой...
...
Рейтинг: 0 / 0
04.12.2006, 19:25
    #34175890
errorka
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Символьные строки
AkhОткуда берется:
Код: plaintext
 void elabor(char str[],char let,FILE* res); 


void elabor(char str[],char let,FILE* res); //прототип функции
Я это из какой-то книги взяла...
...
Рейтинг: 0 / 0
05.12.2006, 09:52
    #34176566
Akh
Akh
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Символьные строки
Значит так:
1. Пример, который привела такой ошибки при компиляции не вызывает. Поэтому ты что-то не договариваешь.
Далее:
2. Раз берется откуда-то прототип, значит и сама функция откуда-то должна браться.
3. Функция main() обычно возвращает тип инт. Желательно сразу к этому привыкнуть.
4. Если файл не удалось открыть, то необходимо позаботиться, чтобы программа не исполняла код, который предназначен для удачного открытия файла.
...
Рейтинг: 0 / 0
05.12.2006, 13:08
    #34177283
VladimirP
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Символьные строки
CBuilder используй его возможности.
TStringList *slIn;
TStringList *slOut;
AnsiString as;
char ch;
if( !FileExist( argv[1]))
{ printf("bkjbvjhbkjhbj"; return 1;}
slIn = new TStringList;
slOut = ne TStringList;

slIn->LoadFromFile( argv[1]);
as = slIn->String[0];
ch = *(as.c-str());

for( int i=1; i<slIn->Count; i++)
{
as = slIn->String ;
slOut->Add( as);
// поиск слов пишется (мне лень)
}
slOut->SaveToFile( argv[2]);
delete slIn;
delete slOut;
return 0;
}
А с твоим примером найди
void elabor(char str[],char let,FILE* res);
его текст и вставь в программу
...
Рейтинг: 0 / 0
05.12.2006, 15:18
    #34177823
maXmo
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Символьные строки
имхо, это всё-таки вс, первой директивой в каждом сорсовом файле должен быть #include "stdafx.h" — включение прекомпилируемого хедера.
...
Рейтинг: 0 / 0
05.12.2006, 15:56
    #34178001
Aklin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Символьные строки
Akh3. Функция main() обычно возвращает тип инт. Желательно сразу к этому привыкнуть.


функция main возвращает нормальное значение, а вот его нормальность зависит от среды.
int - не факт, совершенно
...
Рейтинг: 0 / 0
05.12.2006, 16:18
    #34178099
Akh
Akh
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Символьные строки
Aklin Akh3. Функция main() обычно возвращает тип инт. Желательно сразу к этому привыкнуть.


функция main возвращает нормальное значение, а вот его нормальность зависит от среды.
int - не факт, совершенно

Например g++ просит сделать int
...
Рейтинг: 0 / 0
05.12.2006, 16:38
    #34178219
maXmo
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Символьные строки
просто там загрузочный модуль не рассчитан на void main
...
Рейтинг: 0 / 0
05.12.2006, 16:39
    #34178223
maXmo
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Символьные строки
багофича
...
Рейтинг: 0 / 0
05.12.2006, 16:44
    #34178249
Akh
Akh
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Символьные строки
maXmoбагофича

четкое наследование main от program. :)
...
Рейтинг: 0 / 0
05.12.2006, 18:15
    #34178575
errorka
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Символьные строки
AkhЗначит так:
1. Пример, который привела такой ошибки при компиляции не вызывает. Поэтому ты что-то не договариваешь.
Далее:
2. Раз берется откуда-то прототип, значит и сама функция откуда-то должна браться.
3. Функция main() обычно возвращает тип инт. Желательно сразу к этому привыкнуть.
4. Если файл не удалось открыть, то необходимо позаботиться, чтобы программа не исполняла код, который предназначен для удачного открытия файла.

Хм...При компиляции не вызывает...при запуске...
А как мне сделать 2 и 4 пункт? в моем варианте?
...
Рейтинг: 0 / 0
06.12.2006, 10:26
    #34179540
Akh
Akh
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Символьные строки
errorka AkhЗначит так:
1. Пример, который привела такой ошибки при компиляции не вызывает. Поэтому ты что-то не договариваешь.
Далее:
2. Раз берется откуда-то прототип, значит и сама функция откуда-то должна браться.
3. Функция main() обычно возвращает тип инт. Желательно сразу к этому привыкнуть.
4. Если файл не удалось открыть, то необходимо позаботиться, чтобы программа не исполняла код, который предназначен для удачного открытия файла.

Хм...При компиляции не вызывает...при запуске...
А как мне сделать 2 и 4 пункт? в моем варианте?

Пишет при запуске ошибку которую ты привела в первом сообщении?

п.2. Это функция должна содержаться в файле твоей программы или в другом файле. Ты написала прототим этой функции, значит компилятор понял, что ты имеешь ввиду. После того, как он скомпилирует твою программу, запуститься линковщик, который должен из всех скомпилированных модулей сложит один екзешник. Т.е. свяжет все функции и переменные между собой. Компилятору по барабану, про функцию, которую ты описала. Он узнал, как ее зовут, и все. Линковщик же должен найти эту функцию, чтобы когда ты ее вызывала запускался именно ее код. Так вот, чтобы программа получилась в одном из модулей (файлов cpp) должно содержаться определение этой функции. Оно у тебя есть?
п.4. Например, по аналогии с примером VladimirP. Т.е. вывод сообщения об ошибке и выход из программы.
...
Рейтинг: 0 / 0
06.12.2006, 12:28
    #34180044
VladimirP
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Символьные строки
Кстати. Кому-то писал похожую програмку. добавь проверку с какого символа начинается слово файл прикрепляю Объяснять ничего не буду. если непонятно, то программирование не для ВАС
...
Рейтинг: 0 / 0
Форумы / C++ [игнор отключен] [закрыт для гостей] / Символьные строки / 16 сообщений из 16, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]