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

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

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

Текстовые файлы - C++

02.07.2010, 00:44. Просмотров 471. Ответов 6
Метки нет (Все метки)

Помогите пожалуйста с программой. Она должна выводить все числа встеченные в программе (числом считать только те которые состоят только из цифр).
Например из wfwef, 2312 wfew we443 wfwqdqaf 9980 только 2312 и 9980 а у меня выводит еще и 443
Что надо добавить в код что бы было правильно?



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
#include <fstream>
#include <iostream>
using namespace std;
 
int main() {
    int i = 0;
    bool repeat = true;
    char a,r_char,c = ' ';
    char filename[70];
    while(repeat == true) {
          cout << "Vvedite nazvanie faila...\n";
          cin >> filename;
          fstream fin,fout;
          
          fin.open(filename,ios::in); 
          if(fin.is_open()) { 
              fout.open("output.txt",ios::out);
              fin.get(a);
              while(fin) {
                  if(a>='a' && a<='z' || a==',' || a=='.' || a==' ' || a==')' || a=='(' || a==']' || a=='[' || a=='!' || a=='?') {
                  
                      if(i!=0) {
                          fout.put(c);
                          i = 0; 
                                  
                      }             
                } else {
                      i++;   
                      fout.put(a);        
                  }
                  fin.get(a);
              }
              fin.close();
              fout.close();
          } else {
              cout << "Oshibka pri otkritii faila...\n";
          }
          cout << "Nachatj zanovo? y/n" << endl;
          cin >> r_char;
          if (r_char == 'y' || r_char == 'Y') repeat = true;
          else repeat = false;
    }
    return 0;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.07.2010, 00:44
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Текстовые файлы (C++):

нужно переделать код (из Файлы текстовые (FILE*) в Файлы текстовые (потоки)) - C++
вот задание для программы: 6. Задан текстовый файл input.txt. Требуется определить строки этого файла, содержащие максимальную по длине...

Текстовые файлы - C++
#pragma argsused #include &lt;iostream&gt; #include &lt;fstream&gt; #include &lt;string&gt; #include &lt;iterator&gt;- Что вот это за библиотека? и зачем...

Текстовые файлы - C++
добрый день, помогите написать следующую программу (plz ... plz ... plz ))) : Случайным образом создать таблицу пар символьных...

Текстовые файлы - C++
Здравствуйте! Никак не могу найти информацию по функциям, которые должны редактировать текстовые файлы (изменить, считать и тп)....

Текстовые файлы - C++
Задание: Дана строка S, состоящая из 10 цифр, и файл с русским текстом. Зашифровать файл, выполнив циклическую замену каждой русской...

Текстовые файлы - C++
#include&lt;iostream&gt; #include&lt;fstream&gt; #include&lt;locale.h&gt; #include&lt;iomanip&gt; #include&lt;conio.h&gt; #include&lt;iomanip&gt; using namespace...

6
easybudda
Модератор
Эксперт CЭксперт С++
9683 / 5633 / 956
Регистрация: 25.07.2009
Сообщений: 10,811
02.07.2010, 02:35 #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <iostream>
#include <string>
#include <sstream>
 
int main(){
    std::string buf;
 
    while ( true ){
        std::cout << "String: ";
        std::getline(std::cin, buf);
        if ( buf.empty() )
            break;
        std::istringstream ist(buf);
        std::cout << "Numbers: ";
        while ( ist >> buf )
            if ( buf.find_first_not_of("0123456789") == std::string::npos )
                std::cout << buf << ' ';
        std::cout << std::endl;
    }
 
    return 0;
}
0
melkaya19
0 / 0 / 0
Регистрация: 03.10.2009
Сообщений: 19
02.07.2010, 06:45  [ТС] #3
Спасибо конечно, но это немного не то Я забыла сказать, считывать можно лишь по одному символу, строку нельзя. И не желательно использовать другие библиотеки кроме fstream и iostream.

Добавлено через 4 часа 2 минуты
Никто не может помочь?
0
PointsEqual
ниначмуроФ
836 / 520 / 33
Регистрация: 12.10.2009
Сообщений: 1,915
02.07.2010, 10:22 #4
melkaya19, считай посимвольно в buf сначла, а потом работай со строкой
0
MrTwister
0 / 0 / 0
Регистрация: 13.07.2008
Сообщений: 34
16.08.2010, 10:31 #5
Привет всем!Помогите плиз с такой проблемкой!Есть текстовый файл нужно нати человека (пользователь вводит табельный номер и программа ищет в txt файле строку с этим значением и записывает в переменную значение "Часы" и "Сумму").
Пример текстового файла
|№ п\п|-|ФИО|-|Месяц|-|Часы|-|Сумма|
1 884 ФИО 1 1006 176.00 32437.00
2 1064 ФИО 2 1006 199.20 62888.00
3 1449 ФИО 3 1006 157.70 59922.00
4 1546 ФИО 4 1006 140.00 18424.00
5 2411 ФИО 5 1006 176.00 32437.00
6 2488 ФИО 6 1006 157.40 66639.00
7 3034 ФИО 7 1006 193.30 153349.00
8 3107 ФИО 8 1006 166.40 109121.00
9 3141 ФИО 9 1006 138.40 119801.00
10 3158 ФИО 10 1006 79.00 100050.00
0
accept
4823 / 3244 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
17.08.2010, 04:26 #6
можешь читать по строке через fgets()
первую пропустить
прочитанную строку прочитать в структуру человека через sscanf()
проверить значение поля "номер" структуры человека
если он совпадаёт с запрошенным (запрошенный можно не запрашивать, а вручную установить выше, как будто он запрошен, введён и сохранён в переменную), то сохранить нужную инфу из структуры в переменные и остановить цикл

C
1
2
3
4
5
6
7
8
9
struct person {
    int no;
    int pp;
    char fio[MAXFIO];
    int month;
    int year;
    double hours;
    double summ;
};
колонки не соответствуют количеству полей, так что колонки переделаешь

Добавлено через 1 минуту
нужно ещё после цикла точно знать, найдено ли значение
0
MrTwister
0 / 0 / 0
Регистрация: 13.07.2008
Сообщений: 34
17.08.2010, 08:50 #7
Вот незадача я в Delphi программирую!Немног новичок!
0
17.08.2010, 08:50
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.08.2010, 08:50
Привет! Вот еще темы с ответами:

Текстовые файлы. - C++
Дано целое число N и текстовый файл с именем Name1, содержащий один абзац текста, выровненный по левому краю. Отформатировать текст так,...

Текстовые файлы - C++
Дан файл, содержащий целые числа. Записать их в другие два файла, при этом в первый записать четные, а во второй нечетные числа. Ребята,...

Текстовые файлы - C++
В исходном файле float–числа в формате с фиксированной точкой (5 знаков после запятой). Создать из «-»-х чисел, следующих за двумя «+»-ми...

Текстовые файлы - C++
Когда сдавал программу, придрались к тому, что у меня файл считывается в строку. Как исправить? #include &lt;iostream.h&gt; #include...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

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