Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Работа в С++ с файлами

2.2K
27 ноября 2006 года
MagicPRO
100 / / 02.10.2006
Программа: задан массив слов – словарь. Пользователь вводит слово поиска по одной букве. После каждой введенной буквы слова на экране отображается список всех возможных слов продолжений из словаря, либо появляется сообщение об отсутствии данного слова.
=========================================================
Я решил подключить не массив слов, а уже имеющийся текстовый файл со словами, как связать его с прогаммой?
12K
27 ноября 2006 года
Belomorkan
59 / / 18.10.2006
Ета прога тебе поможет, переделай просто ее.
/**********************************POISK************************************/
void poisk(FILE *fPtr)
{
struct workData work={0,"lastName","dName",0};
char lastName[15];
if((fPtr=fopen("worker.txt","r"))==NULL)/*Esla faila net to vuvesti soobshen ob oshibke*/
{
printf("Nevozmozhno otkrut' fail\n","worker.txt");
exit(1);
}
puts("Poisk rabochego\n"); /*Tozhe samoe chto i (printf)*/
printf("Vvedite familiuy i inicialu sotrydnika:\n");
scanf("%s",&work.lastName); /*Vvod familii dlja poiska*/
while(fread(&work,sizeof(struct workData),1,fPtr) && strcmp(work.lastName,lastName)!=0); /*operator kotorui sravnivaet stroki i esli naxodit nyzhnyuy to vuvodit ee na pechat'*/
{
printf("%-6d%-16s%-11s%-6d\n",work.acctNum,work.lastName,work.dName,work.data);
}
fclose(fPtr);
}
3
27 ноября 2006 года
Green
4.8K / / 20.01.2000
Цитата: Belomorkan
Ета прога тебе поможет, переделай просто ее.


На C++ это будет выглядеть проще.
Т.к. словарь - это скорее всего текстовый файл, используй файловые потоки: fstream (ifstream).
Для решения твоей задачи информацию (хотя бы индекс словаря) лучше загружать в память, а не перечитывать каждый раз.

242
27 ноября 2006 года
Оlga
2.2K / / 04.02.2006
http://xammep.nm.ru/doc/cpp/index.html - если надо. тут можешь скачать книги по С++: Дейтел(1.6 mg), Страуструп..

2Belomorkan
не надо copy/past делать, ссылку на тему можно дать. и не путай С с С++ плиз.
2.2K
28 ноября 2006 года
MagicPRO
100 / / 02.10.2006
В принципе код пойдет, но тут работа с стркутурами, а в этой программе нужно реализовать работу с строками, так что нужно все поменять))) Но все равно спасибо!
2.2K
29 ноября 2006 года
MagicPRO
100 / / 02.10.2006
Короче вышло так, но чето мне всегда выдает что на любую букву нет слова, а когда захожу в файл со словами то он пустой, че тут надо доработать??
Код:
#include <iostream.h>
#include <fstream.h>
#include <string.h>
#include <conio.h>
#include <ctype.h>
#include <stdlib.h>

void main ()
{
 ofstream outClientFile("slovar.dat", ios::out);
 if (! outClientFile)
{
 cerr<< "File not open!!!"<< endl;
 exit(1);
 }
 cout<<"BBedite na4alo slova: ";
 char str[] = "Question";
 char ch;
 cin>>ch;
 if (tolower(str[0]) == tolower(ch) )
  cout<< "Takie slova:\n" <<str;
else
  cout<<"Slova na dannyy bykvy otsytstvyyt";
  getch();
}
242
29 ноября 2006 года
Оlga
2.2K / / 04.02.2006
так вся твоя работа с файлами заключена в том что ты его открываешь и ВСЕ, тот пример что я тебе привела - это сравнение первой буквы строки с символом, а не работа с файлом. где ты читаешь с файла, и почему ofstream, а не ifstream?
2.2K
29 ноября 2006 года
MagicPRO
100 / / 02.10.2006
Тю емоё, тогда надо шото придумать...если есть какие-то варианты может напишешь!!
242
29 ноября 2006 года
Оlga
2.2K / / 04.02.2006
варианты есть :) :
1 - берешь книгу, изучаешь нужный тебе матерьял и пишешь. только ты это делаешь, а не я.
2 - ждешь доброго программера, который тебе напишет, может быть.

а у меня времени нет на чужии лабы :)
5.2K
29 ноября 2006 года
SerMax
96 / / 04.11.2006
!!!! А можно выложить полный код поиска ?? даже без файла. А то человек один давно это ищет. Заодно посмотрю ,что тут с файлами сделать можно
2.2K
29 ноября 2006 года
MagicPRO
100 / / 02.10.2006
Так тот код полный, ну это то че я смог нашкребсти)))
Если будет чето то напиши обязательно
2.2K
04 декабря 2006 года
MagicPRO
100 / / 02.10.2006
Народ выручите меня пожалуста, помогите с этим заданием!Ниче вообще не получается
2.2K
06 декабря 2006 года
MagicPRO
100 / / 02.10.2006
Помогите с поиском в файле, надо находить слова в файле, на ту букву которую мы вводим!!
Вот я начал, а как продолжить не знаю???
Код:
#include <iostream.h>
#include <fstream.h>
#include <string.h>
#include <conio.h>
#include <ctype.h>
#include <stdlib.h>

void main ()
{
 ofstream outClientFile("d:\\KS-05-3\\My program\\slovar.txt", ios::app);
 if (! outClientFile)
{
 cerr<< "File not open!!!"<< endl;
 exit(1);
 }
 cout<<"BBedite na4alo slova: ";
 char str[] = "Question";
 char ch;
 cin>>ch;
 if (tolower(str[0]) == tolower(ch) )
  cout<< "Takie slova:\n" <<str;
else
  cout<<"Slova na dannyy bykvy otsytstvyyt";
  getch();
}
3
06 декабря 2006 года
Green
4.8K / / 20.01.2000
MagicPRO, пора уже начинать учиться и делать что-то самому!
12K
10 декабря 2006 года
Belomorkan
59 / / 18.10.2006
Вот этот код выполняет поиск,и выводит все что начинается с введенной буквы например, если сильно надо, то я в твою прогу вгоню.Тебе срочно.
Код:
int look_up( FILE *fp )
{
    char tmp_lname[20+1];
    int  ctr = 0;

    fprintf(stdout, "\n\nPlease enter last name to be found: ");
    gets(tmp_lname);

    if( strlen(tmp_lname) != 0 )
    {
       if (fseek( fp, 0, SEEK_SET ) == 0)
       {
          fread(&rec, 1, sizeof(rec), fp);
          while( !feof(fp))
          {
             if( strcmp(rec.lname, tmp_lname) == 0 )
             /* if matched */
             {
                fprintf(stdout, "\n%s %s %s - %s", rec.fname,
                                               rec.mname,
                                               rec.lname,
                                               rec.phone);
                ctr++;
             }
             fread(&rec, 1, sizeof(rec), fp);
          }
       }
       fprintf( stdout, "\n\n%d names matched.", ctr );
    }
    else
    {
        fprintf( stdout, "\nNo name entered." );
    }
    return(ctr);
}
2.2K
11 декабря 2006 года
MagicPRO
100 / / 02.10.2006
Если есть время и желание, то можешь сделать буду блогадарен. Вот тот код у меня самый последний!!!
12K
11 декабря 2006 года
Belomorkan
59 / / 18.10.2006
Завтра я тебе пришлю файлик только будет он ни просто Си написан Ок???Я просто в С++ не работал хотя это одно и тоже из С++ я переделывал под С и все ок
2.2K
12 декабря 2006 года
MagicPRO
100 / / 02.10.2006
ок, спасибо
12K
12 декабря 2006 года
Belomorkan
59 / / 18.10.2006
Ты в програмировании хорошо пашешь или чисто только начал??
Тут такая тема я тебе скидываю файлик с поиском, но припоять ты наверно сам сможешь к своему,обьявишь новый прототип типа
void sort(FILE *f);
и потом в прогу вгонишь в свою.
У меня завтра колок по физике, но я о тебе незабыл и попробую помочь будут вопросы пиши
2.2K
12 декабря 2006 года
MagicPRO
100 / / 02.10.2006
С программированием только начал, но шас гляну твой код и буду сам пытаться его доделать если чето не будет появляться то напишу!
2.2K
14 декабря 2006 года
MagicPRO
100 / / 02.10.2006
Программа должна находить слова, на ту бкуву которую мы вводим с клавы.
Уже пару дней сочиняю этот код и никак не получается че за ошибка в потоке ifstream:
Код:
#include <fstream.h>
#include <stdlib.h>
#include <conio.h>

void outputLine(char*);
void main()
ifstream inClientFile ("slovar.txt", ios::in);
if (! inClientFile)
{
cerr << "File could not be open"<<endl;
exit(1);
}
cout<<"Vvedite na4alo bykvy"<<endl;
char str[] = "zapros";
char ch;
inClientFile >> ch;
while (! inClienFile.eof () )
{ if (ch < 0)
outputFile (ch);
inClientFile >> ch;
}
{if (tolower(str[0] == tolower(ch))
cout<<"Takie slova:\n"<<str;
}
void outputLine(char *key)
{
cout<< setiosflags(ios::left)<<key<<endl;
getch();
}

я не знаю че делать, прочитал пару книг, все сделал как там написано
1.9K
20 октября 2007 года
max_dark
256 / / 11.11.2005
Считай файл в массив, гемороя меньше будет :)
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог