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

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

Войти
Регистрация
Восстановить пароль
 
lex90
2 / 2 / 0
Регистрация: 19.01.2014
Сообщений: 51
#1

Выйти из цикл по окончании всех строк в файле - C++

01.02.2014, 22:47. Просмотров 290. Ответов 5
Метки нет (Все метки)

Привет Всем буду Благодарен за все ответы.

Программа открыает TXT файл и поочередно считывает строки из него.Все в принципе получается.Да вот только
мне нужно сделать так что бы когда строки все кончатся что бы выполнение вышло из цикла.Ну и передалось дальше к примеру на вывод строки а далее return 0;

1.Вопрос как проверить кончились ли строки для вывода или нет?
2.fgets в аргументах к примеру длинна строки в данном случае 256 или это совсем другое?

C++
1
2
3
4
5
6
7
 
           char a ;
                   char buff[256];
               a: fgets(buff,256,str);
                   std::cout<<buff;
               std::cout<<"Для продолжения нажмите 2\n!";std::cin>> c ;
           while( с==2 ){ goto a ;}
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.02.2014, 22:47     Выйти из цикл по окончании всех строк в файле
Посмотрите здесь:

Как остановить цикл при окончании строки string - C++
Пробую разделять на слова, разделенные пробелом строку string. Внутренний код цикла работает исправно, но сам цикл не останавливается...

Цикл: Выйти в любой момент времени из цикла while нажатием определённой кнопки. Как реализовать? - C++
Необходимо выйти в любой момент времени из цикла while нажатием определённой кнопки. Как реализовать?

Прочитать неограниченное количество строк, а после нажатия Enter выйти из цикла - C++
Здравствуйте. Столкнулся с такой проблемой: необходимо прочитать неограниченное количество строк, а после нажатия Enter выйти из цикла. ...

Подсчет произведения всех элементов массива (цикл и рекурсия) - C++
#include &lt;iostream&gt; #include &lt;conio.h&gt; #include &lt;cmath&gt; using namespace std; unsigned long long Arr (unsigned int n) {if (n==0) ...

Цикл: Найти среднее арифметическое всех чисел а1,…,an, кроме ai. - C++
Даны натуральные числа i, n, действительные числа а1,…, an . Найти среднее арифметическое всех чисел а1,…,an, кроме ai. #include...

Найти сумму всех двузначных чисел,кратных 5 (цикл while) - C++
корректна ли постановка задачи? ведь в условии не указано,что надо найти именно натуральных чисел... и как это отразить в коде? ...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
mustimur
268 / 222 / 57
Регистрация: 22.11.2013
Сообщений: 832
Записей в блоге: 1
01.02.2014, 23:25     Выйти из цикл по окончании всех строк в файле #2
Цитата Сообщение от lex90 Посмотреть сообщение
while( с==2 ){ goto a ;}

Не по теме:

Да поправят меня господа эксперты но сочетать while и goto это равноценно селедку молоком запивать.

А вообще весь код покажите
Меорн
74 / 59 / 29
Регистрация: 01.02.2014
Сообщений: 202
01.02.2014, 23:39     Выйти из цикл по окончании всех строк в файле #3
Цитата Сообщение от mustimur Посмотреть сообщение

Не по теме:

Да поправят меня господа эксперты но сочетать while и goto это равноценно селедку молоком запивать.

А вообще весь код покажите

Не по теме:

Согласен. Я goto уже лет 10 не видел в программах. а тут еще в таком сочетании... О_о

mustimur
268 / 222 / 57
Регистрация: 22.11.2013
Сообщений: 832
Записей в блоге: 1
01.02.2014, 23:43     Выйти из цикл по окончании всех строк в файле #4
Цитата Сообщение от Меорн Посмотреть сообщение
Согласен. Я goto уже лет 10

Не по теме:

Я его не давно применял, удобно при "дословном" переводе старых отлаженных на фортране еще мат.функций на C++. Переводишь дословно не думая, что с чем объединить и не ошибиться

lex90
2 / 2 / 0
Регистрация: 19.01.2014
Сообщений: 51
02.02.2014, 22:15  [ТС]     Выйти из цикл по окончании всех строк в файле #5
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
#include<iostream>
#include<string>
using namespace std;
int main(){
            
           char  c ; 
           char  exit;  
           setlocale(LC_ALL,".1251"); 
           char stroka[256];
           std::cout<<"Введите путь к файлу!";
           std::cin>>stroka;
           FILE *str = fopen (stroka,"r");
           
           char a ;
           char buff[256];
        a: fgets(buff,256,str);
           std::cout<<buff;
           std::cout<<"Для продолжения нажмите 2\n!";std::cin>> c ;
           while(  ){ goto a ;}
           
           
           char x;
        x: std::cout<<"Для выхода из программы нажмите 1!\n";std::cin>>exit;
            
           while( exit==1 ){return 0;}
           goto x;
 
}
Пожалуйста подскажите.Пока обучаюсь

Добавлено через 15 секунд
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
#include<iostream>
#include<string>
using namespace std;
int main(){
            
           char  c ; 
           char  exit;  
           setlocale(LC_ALL,".1251"); 
           char stroka[256];
           std::cout<<"Введите путь к файлу!";
           std::cin>>stroka;
           FILE *str = fopen (stroka,"r");
           
           char a ;
           char buff[256];
        a: fgets(buff,256,str);
           std::cout<<buff;
           std::cout<<"Для продолжения нажмите 2\n!";std::cin>> c ;
           while(  ){ goto a ;}
           
           
           char x;
        x: std::cout<<"Для выхода из программы нажмите 1!\n";std::cin>>exit;
            
           while( exit==1 ){return 0;}
           goto x;
 
}
Пожалуйста подскажите.Пока обучаюсь
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.02.2014, 16:01     Выйти из цикл по окончании всех строк в файле
Еще ссылки по теме:

Цикл для ввода строк. Как отловить '\n'? - C++
char ch; cout &lt;&lt; &quot;Печатайте,а я буду повторять. \n&quot;; cin.get(ch); while (ch != '.') { if (ch == '\n') cout &lt;&lt; ch; ...

цикл на удаление строк, столбцов в квадратной матрице С++ - C++
помогите с циклом на удаление строк, столбцов в квадратной матрице. дана квадратная матрица порядка n, натуральные числа i, j (1&lt;=i&lt;=n,...

Количество строк в файле - C++
Вот написал простенькую программу для подсчета строк в файл все работает но мучают сомнения почему везде где я бы не читал все делают по...

Сортировка строк в файле - C++
Дана строка вида: Имя Фамилия номер_телефона дата_рождения. Нужно выполнить сортировку строк в файле по первым двум цифрам номера...


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

Или воспользуйтесь поиском по форуму:
mustimur
268 / 222 / 57
Регистрация: 22.11.2013
Сообщений: 832
Записей в блоге: 1
03.02.2014, 16:01     Выйти из цикл по окончании всех строк в файле #6
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Например так если не напутал
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
#include<iostream>
#include<string>
using namespace std;
int main(){
            
           int  c; 
           char  exit;  
           setlocale(LC_ALL,".1251"); 
           char stroka[256];
           std::cout<<"Введите путь к файлу!";
           std::cin>>stroka;
           FILE *str = fopen (stroka,"r");
                     
           char buff[256];
           do
           {
           if (fgets(buff,256,str)==NULL) c=2;
           else {
           
           std::cout<<buff;
           std::cout<<"Для продолжения нажмите 2\n!";std::cin>> c ;}
           }while(c==2);
           
           
          do
          {
              std::cout<<"Для выхода из программы нажмите 1!\n";std::cin>>exit;
          } while( exit!=1 );
          return 0;
 
}
Yandex
Объявления
03.02.2014, 16:01     Выйти из цикл по окончании всех строк в файле
Ответ Создать тему
Опции темы

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