Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
igorfors
0 / 0 / 0
Регистрация: 17.11.2013
Сообщений: 30
#1

Файловый ввод-вывод(доработка) - C++

01.05.2014, 18:22. Просмотров 178. Ответов 5
Метки нет (Все метки)

Помогите с заданием: Записать в файл строку. Скопировать в буфер фрагмент строки ОТ НАЧАЛА до ПЕРВОГО символа "е" во втором слове. Вывести фрагмент на экран.

Проблема в том,что мне надо,чтоб программа реагировала на второе слово. И ничего не происходило,если вдруг встретить символ "e" в первом или втором слове.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
#include "stdafx.h"
#include <iostream>
#include <fstream>
using namespace std;
 int main(){
 
char ch[30];
char e='e';
int a=0;
ofstream out("test1.txt",ios::out | ios::binary);//Запись файла
if(!out){cout<<"Can't open file!"<<endl;
return 1;}
 
cout<<"Enter string: ";
    cin.get(ch,30);
    out<<ch<<endl;
    
 
out.close();
 
ifstream in("test1.txt",ios::in | ios::binary);//Чтение файла
in.open("test1.txt",ios::binary);
if(!out){cout<<"Can't open file!"<<endl;
return 1;}
 
cout<<"Result: ";
 
 
for(int i=0;i<strlen(ch);i++)
    
if(ch[i]==' '&& ch[i+1]!=' ' ){
    a=a+1;
    if(ch[i]!=e && a==1){
        cout<<ch[i];}
    else a=a+0; break;}
else{cout<<"There is one word here";break;}
               
    
    
cout<<'\n';
in.close();
system("pause");
}
Добавлено через 1 час 39 минут
И ничего не происходило,если встретит "е" в первом или ТРЕТЬЕМ слове!!!!!!!!!!!!Ошибочно написал
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.05.2014, 18:22     Файловый ввод-вывод(доработка)
Посмотрите здесь:

файловый ввод-вывод - C++
посоветуйте пожалуйста какие нужно использавать функции для файлового ввода-вывода блоками данных (не строками а то строковые функции сами...

Файловый ввод/вывод в С++ - C++
Здравствуйте не подскажите как организовать файловый ввод вывод в С++ Скажем есть файл 1 из него надо прочитать 2 переменные и записать...

Файловый ввод вывод - C++
Создать класс СПРАВОЧНИК со следующими полями: Название фирмы Владелец Телефон Адрес Род деятельности Реализовать...

Файловый ввод/вывод - C++
Вот такая вот задачка досталась, и вроде не из сложных, но что-то всё никак не выходит( Найти сумму элементов массива, расположенных...

Файловый ввод\вывод - C++
У меня есть файл: 111111100000101111111 100000100101001000001 101110100101101011101 101110100111001011101 101110100110101011101 ...

Файловый ввод/вывод - C++
Ребят, помогите решить один вопросик, пожалуйста. Вот есть потоковые объекты классов ifstream и ofstream, которые работают с файлами....

Файловый ввод/вывод - C++
#include&lt;fstream&gt; #include&lt;string&gt; #include&lt;conio.h&gt; using namespace std; template&lt;typename inf&gt; class MyFile { char...

Файловый ввод-вывод - C++
Дан текстовый файл с некоторыми целыми числами. Открыть файл, определить максимальное значение элементов. Если оно кратно трем, заменить...

Файловый ввод-вывод - C++
Нужно написать программу, которая выводит меню следующего вида: Ввод Корректировка Удаление Вывод Поиск Выход Для каждого...

Файловый ввод/вывод в С++ - C++
1. Дан файл. В нем записана матрица 10 на 10, состоящая из вещественных чисел. Считать с файла эту матрицу. Транспонировать и вывести в...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
alsav22
5416 / 4812 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
01.05.2014, 19:50     Файловый ввод-вывод(доработка) #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
#include <iostream>
#include <fstream>
using namespace std;
 
int main(){
 
char ch[30];
char e='e';
int a=0;
ofstream out("test1.txt");//Запись файла
if(!out){cout<<"Can't open file!"<<endl;
return 1;}
 
cout<<"Enter string: ";
    cin.get(ch,30);
    out<<ch<<endl;
    
 
out.close();
 
ifstream in("test1.txt");//Чтение файла
//in.open("test1.txt");
if(!in){cout<<"Can't open file!"<<endl;
return 1;}
 
cout<<"Result: ";
 
char c;
bool flag = false;
while (in.get(c))
{
    if (c == ' ')
        flag = true;
    if (flag && c == e)
        break;
    cout << c;
}
 
 
//for(int i=0;i<strlen(ch);i++)
//    
//if(ch[i]==' '&& ch[i+1]!=' ' )
//{
//    a=a+1;
//    if(ch[i]!=e && a==1){
//        cout<<ch[i];}
//    else 
//        a=a+0; 
//    break;
//}
//else{cout<<"There is one word here";break;}
               
cout<<'\n';
in.close();
system("pause");
}
igorfors
0 / 0 / 0
Регистрация: 17.11.2013
Сообщений: 30
01.05.2014, 20:00  [ТС]     Файловый ввод-вывод(доработка) #3
Условие должно касаться только второго слова. Просто,если я ввиду произвольные слова типа :Nastya Igor Petya,то выведет :Nastya Igor P,а должно вывести полностью,так как нас интересует ТОЛЬКО второе слово
alsav22
5416 / 4812 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
01.05.2014, 20:18     Файловый ввод-вывод(доработка) #4
Сообщение было отмечено автором темы, экспертом или модератором как ответ
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
#include <iostream>
#include <fstream>
using namespace std;
 
int main(){
 
char ch[30];
char e='e';
int a=0;
ofstream out("test1.txt");//Запись файла
if(!out){cout<<"Can't open file!"<<endl;
return 1;}
 
cout<<"Enter string: ";
    cin.get(ch,30);
    out<<ch<<endl;
    
 
out.close();
 
ifstream in("test1.txt");//Чтение файла
if(!in){cout<<"Can't open file!"<<endl;
return 1;}
 
cout<<"Result: ";
 
char buff[30];
char c;
int n_s = 0;
int i = 0;
bool flag = false;
while (in.get(c))
{
    if (c == ' ')
        ++n_s;
    if (n_s == 1 && c == e)
    {
        buff[i] = '\0';
        cout << buff << endl;
        flag = true;
        break;
    }
    buff[i++] = c;
    if (i == 30)
        break;
}
if (!flag)
    cout << "Not found!" <<endl;
 
 
cout<<'\n';
in.close();
system("pause");
}
Добавлено через 1 минуту
Цитата Сообщение от igorfors Посмотреть сообщение
фрагмент строки ОТ НАЧАЛА до ПЕРВОГО символа "е" во втором слове.
ОТ НАЧАЛА - от начала строки?
igorfors
0 / 0 / 0
Регистрация: 17.11.2013
Сообщений: 30
01.05.2014, 20:33  [ТС]     Файловый ввод-вывод(доработка) #5
А если брать твой первый код,то за что отвечает переменная "с"?
alsav22
5416 / 4812 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
01.05.2014, 21:02     Файловый ввод-вывод(доработка) #6
Цитата Сообщение от igorfors Посмотреть сообщение
А если брать твой первый код,то за что отвечает переменная "с"?
Что первый, что второй - ни за что не отвечает, символы из файла в неё читаются.
Yandex
Объявления
01.05.2014, 21:02     Файловый ввод-вывод(доработка)
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru