![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 10.05.2010
Сообщений: 17
|
![]()
Задание:написать программу,которая считывает текст из файла и выводит на экран только предложения начинающиеся с тире,перед которыми могут находиться только пробельные символы.
#include <fstream> #include <stdio.h> #include <windows.h> char*Rus(const char*text); using namespace std; int main(int argc, char *argv[]) { ifstream fin("text.txt", ios::in); if(!fin){cout << Rus( " Ошибка " ) << endl; return 1;}; fin.seekg(0,ios::end); long len = fin.tellg(); char*buf = new char [len +1]; fin.seekg(0,ios::beg); fin.read (buf, len); buf[len] = '\0'; long n = 0, i = 0, j = 0; while(buf[i]){ if((buf[i] == '')&&(buf[i] == '-')){ for (j = n; j <=i; j++) cout << buf[j]; n = i + 1; } if (buf[i] == '.' || buf[i] == '!') n = i + 1; i++; } fin.close(); cout << endl; system("PAUSE"); return 0; } char bufRus[256]; char* Rus (const char*text){ CharToOem (text, bufRus); return bufRus; } не работает((((( |
![]() |
![]() |
![]() |
#2 |
Старожил
Регистрация: 21.03.2009
Сообщений: 2,193
|
![]()
1. Оформите код нормально - в тег CODE (значок
Код:
2. Что значит "не работает"? Не компилируется, вылетает при запуске и работе, выдает неправильный результат?
Простые и красивые программы - коды программ + учебник C++
Создание игры - взгляд изнутри - сайт проекта Тема на форуме, посвященная ему же |
![]() |
![]() |
![]() |
#3 |
Пользователь
Регистрация: 10.05.2010
Сообщений: 17
|
![]()
она вообще не запускается и выдает ошибку ,я на сайте нашла похожую програмку,задание тоже,но там стоит ограничение на колличество слов,она у меня запускается,но потом вылетает(((((
#include <cstdlib> #include <iostream> #include <string> #include <fstream> using namespace std; int main(int argc, char *argv[]) { setlocale (0,"Rus"); ifstream fin("text.txt", ios::in); if (!fin) { cout<<"Ошибка открытия файла"<<endl; return 1; } const int n=81; char s[n]; bool f; while (!fin.eof()){ fin.getline(s,n); int l=strlen(s); f=false; for (int i=0;i<l;i++){ if ((s[i-1]==' ')&&(s[i]=='-')) { f=true; break; }if ((s[i]!='.')&&(s[i]!=' ')&&(s[i]!='!')) {f=false;break;} } if (f) puts(s); } return 0; } у меня есть не большой вопрос,что значит эта строка,просто этого мы еще не проходили setlocale (0,"Rus"); |
![]() |
![]() |
![]() |
#4 |
Пользователь
Регистрация: 10.05.2010
Сообщений: 17
|
![]()
все получилось!!!!!!!!!!!!!
#include <fstream> #include <stdio.h> #include <windows.h> #include <iostream.h> char*Rus(const char*text); using namespace std; int main(int argc, char *argv[]) { ifstream fin("text.txt", ios::in); if(!fin){ cout << Rus( " Ошибка " ) << endl; return 1;}; fin.seekg(0,ios::end); long len = fin.tellg(); char*buf = new char [len +1]; fin.seekg(0,ios::beg); fin.read (buf, len); long i = 0; while(buf[i] != '\0'){ if (buf[i] == ' ' && buf[i+1] == '-') while (buf[i+1]!='.' && buf[i]!='\0') { cout<<buf[i]; i++; } i++; } fin.close(); cout << endl; system("PAUSE"); return 0; } char bufRus[256]; char* Rus (const char*text){ CharToOem (text, bufRus); return bufRus; } |
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
файлы и строки зашифрованные | Из_Астрала | Помощь студентам | 6 | 12.05.2010 11:13 |
Строки и файлы в С++ | marina_sergina | Помощь студентам | 5 | 11.05.2010 00:21 |
строки и файлы в с++ | LovingDaisy | Общие вопросы C/C++ | 2 | 21.01.2010 00:20 |
Строки и файлы. Шифрование | mishanic | Общие вопросы C/C++ | 2 | 14.12.2009 17:11 |
Строки и файлы | BR@BUS | Общие вопросы Delphi | 5 | 08.04.2008 23:54 |