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

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

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

Вынос мозга с чтением файла - C++

12.09.2013, 13:43. Просмотров 1072. Ответов 22
Метки нет (Все метки)

Здравствуйте.
К моему сожалению облазив Яндекс и Гугл, я не смог найти решения проблемы и поэтому вынужден просить помощи у вас.

Есть код. Функция void NenyjChusla() должна читать из файла числа и вывести их на экран. Но выводит она число
-858993460. Я облазил весь интернет, перепробовал различные варианты, но положительного результата не получил.
В текстовом файле числа:
1
2
3
4
5
6
7
8
9
10


Буду благодарен всем кто поможет новичку решить данную проблему.








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
#include <iostream>
#include <fstream> // для работы с потоками - чтения и для записи данных в файл. 
#include <conio.h> // Для закрытия программы по нажатию на любую клавишу.
#include <clocale> // для констант LC_ - например для поддержки русского языка.
#include <string> // string - представляет из себя коллекцию, хранящую символы char в формате ASCII.
#include <ctime> // Директива определения времени работы.
 
using namespace std; // чтоб часто не писать std.
 
 
 
 
void Password () // создаём проверку входа в ситему.
{
    cout << "Введите пароль" << endl;
    string pass = "1";
    string user_pass;
    getline(cin, user_pass); // getline -применяется для ввода со строки как я понял.
    if (pass == user_pass)
    { cout << endl <<"Добро пожаловать в программу!" << endl;}
    else { cout <<"Пароль не верен!" << endl << endl; Password ();}
} 
void NenyjChusla()
{
    
    fstream fs("stat.txt");//fs - надо т.к. у нас ввод и вывод информации.
    for (int i = 0; i < 10; i++)
    {
        int v;
        fs >> v;    
    cout << v << endl;
    }
    
fs.close();// быстрее всего закрытие файла и потока.
 
} 
 
int main()
{
    setlocale(LC_CTYPE,"Russian");
    srand(time(0)); // Запускаем рабоу счётчика времени.
    
    Password (); // Функция проверки пароля.
 
    NenyjChusla(); // Функция получения ненужных чисел.
 
 
    cout << "Время работы программы = " << clock()/1000.0 << "\a" << endl; // полное время работы программы 
    cout << "Для выхода из программы нажмите любую клавишу.";
 
        _getch();
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.09.2013, 13:43
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Вынос мозга с чтением файла (C++):

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

Проблема с чтением из файла - C++
Подскажите пожалуйста в чем ошибка? Чтения не происходит. Нули в массиве как были, так и остаются. первый раз работаю в Visual, может быть...

Чтением файла с сервера - C++
Всем привет, столкнулся с ошибкой, но сам не знаю где... Суть программы такова: При запуске программы должен отправляться запрос на...

Проблемы с чтением файла на c++ - C++
Задача: Сформировать массив данных с помощью структуры. Предметная область – данные о студентах имеющих публикации (номер по порядку,...

Ошибка с чтением файла - C++
Добрый вечер, ниже реализована программа по обработке файла данных &quot; Репертуар кинотеатров&quot; в котором указаны название кинотеатра и...

Проблема с чтением файла - C++
При открытии файла функцией fopen и выводе на консоль отображается только первая строчка. Я так понял что надо открыть файл как бинарный....

22
zer0mail
2342 / 1972 / 193
Регистрация: 03.07.2012
Сообщений: 7,090
Записей в блоге: 1
12.09.2013, 13:50 #2
ТС весь интернет облазил - пора в книгу рекордов Гинесса подавать заявку

ТС, откуда ты знаешь, что файл открыт и числа из него считываются? Никаких проверок я не вижу...
0
sdima75
1 / 1 / 0
Регистрация: 12.09.2013
Сообщений: 27
12.09.2013, 14:01  [ТС] #3
Добавил код для проверки открытия файла - пишет что файл не открыт.


Достало всё.....
0
rublag
52 / 52 / 4
Регистрация: 06.02.2013
Сообщений: 156
12.09.2013, 14:05 #4
У меня в линуксе всё кроме времени работает, может файл неправильно назван или прав не хватает?
0
alsav22
5421 / 4816 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
12.09.2013, 14:14 #5
Цитата Сообщение от sdima75 Посмотреть сообщение
пишет что файл не открыт.
Файл где находится?
0
sdima75
1 / 1 / 0
Регистрация: 12.09.2013
Сообщений: 27
12.09.2013, 14:15  [ТС] #6
Цитата Сообщение от alsav22 Посмотреть сообщение
Файл где находится?
На рабочем столе в другой папке.

А где надо чтоб находился?
0
gray_fox
What a waste!
1521 / 1226 / 70
Регистрация: 21.04.2012
Сообщений: 2,565
Завершенные тесты: 3
12.09.2013, 14:16 #7
Цитата Сообщение от sdima75 Посмотреть сообщение
А где надо чтоб находился?
В каталоге, откуда запускается приложение.
0
sdima75
1 / 1 / 0
Регистрация: 12.09.2013
Сообщений: 27
12.09.2013, 14:19  [ТС] #8
Цитата Сообщение от gray_fox Посмотреть сообщение
В каталоге, откуда запускается приложение.
Перебросил в папку Debug.
Таж фигня....
0
17 / 17 / 1
Регистрация: 09.03.2013
Сообщений: 65
12.09.2013, 14:21 #9
Или, если не ошибаюсь, в C:\Windows\System32\

Добавлено через 44 секунды
Попробуй запустить exe ручную из проводника
0
gray_fox
What a waste!
1521 / 1226 / 70
Регистрация: 21.04.2012
Сообщений: 2,565
Завершенные тесты: 3
12.09.2013, 14:22 #10
Цитата Сообщение от sdima75 Посмотреть сообщение
Перебросил в папку Debug.
Таж фигня....
Если VS, там в папку с проектом вроде.

Добавлено через 23 секунды
Или запусти сам из коммандной строки.
1
17 / 17 / 1
Регистрация: 09.03.2013
Сообщений: 65
12.09.2013, 14:23 #11
Если хочешь из студии, то кидай не в Debug, а в папку с названием проекта.
(C:\Users\%user%\Documents\Visual Studio 2010\Projects\%prjname%\%prjname%)
1
sdima75
1 / 1 / 0
Регистрация: 12.09.2013
Сообщений: 27
12.09.2013, 14:23  [ТС] #12
Цитата Сообщение от gray_fox Посмотреть сообщение
Если VS, там в папку с проектом вроде.

Добавлено через 23 секунды
Или запусти сам из коммандной строки.


Спасибо, сработало!!!!!!!!!!!!!!!!!
0
zer0mail
12.09.2013, 14:44
  #13

Не по теме:

Цитата Сообщение от sdima75 Посмотреть сообщение
Буду благодарен всем кто поможет новичку решить данную проблему.
Обманул. Включаю ТС в список тех, кому не стоит посказывать (надо тыкать носом, а это неинтересно).

0
sdima75
1 / 1 / 0
Регистрация: 12.09.2013
Сообщений: 27
12.09.2013, 17:27  [ТС] #14
Продолжаем выносить мозг.

Теперь я хочу из файла 3 строки и 5 столбцов взяв эти цифры, вывести на экран.


Текстовый файл
01 04 30 25 12
08 09 14 17 35
02 10 07 22 33

Результат
Вынос мозга с чтением файла





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
57
58
59
60
61
62
63
#include <iostream>
#include <fstream> // для работы с потоками - чтения и для записи данных в файл. 
#include <conio.h> // Для закрытия программы по нажатию на любую клавишу.
#include <clocale> // для констант LC_ - например для поддержки русского языка.
#include <string> // string - представляет из себя коллекцию, хранящую символы char в формате ASCII.
#include <ctime> // Директива определения времени работы.
 
using namespace std; // чтоб часто не писать std.
 
 
 
 
void Password () // создаём проверку входа в ситему.
{
    cout << "Введите пароль" << endl;
    string pass = "1";
    string user_pass;
    getline(cin, user_pass); // getline -применяется для ввода со строки как я понял.
    if (pass == user_pass)
    { cout << endl <<"Добро пожаловать в программу!" << endl;}
    else { cout <<"Пароль не верен!" << endl << endl; Password ();}
} 
int NenyjChusla()
{
    const int n = 3; // строки.
    const int m = 5; // столбцы.
    int a[n][m]; // Объявили массив.
    fstream fs("stat.txt");//fs - надо т.к. у нас ввод и вывод информации.
    if (NULL == fs) 
    {
        printf("Не удалось открыть файл!\n");
        return 0;
    }
    
    for (int i = 0; i < n; i++)
{
    for (int j = 0; j < m; j++)
    {
        fs >> a[i][j];
        cout << "a[" << i << "][" << j << "] = " << a[i][j];
    }
    cout << endl;
    
fs.close();// быстрее всего закрытие файла и потока.
 
} 
}
 
int main()
{
    setlocale(LC_CTYPE,"Russian");
    srand(time(0)); // Запускаем рабоу счётчика времени.
    
    Password (); // Функция проверки пароля.
 
    NenyjChusla(); // Функция получения ненужных чисел.
 
 
    cout << "Время работы программы = " << clock()/1000.0 << "\a" << endl; // полное время работы программы 
    cout << "Для выхода из программы нажмите любую клавишу.";
 
        _getch();
}
0
zer0mail
12.09.2013, 18:20     Вынос мозга с чтением файла
  #15

Не по теме:

Нетушки - только бледнолицый дважды наступает на одни и те же грабли

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.09.2013, 18:20
Привет! Вот еще темы с ответами:

Проблема с чтением из файла! - C++
Проблема такая: у меня есть текстовый файл, в котором на каждой новой строке написано число. Я хочу каждое из этих чисел присвоить массиву...

Ошибка с чтением файла - C++
Привет, у меня тут проблема. Я сделал программу, которая открывает файл и выводит содержимое на экран, но если я вывожу содержимое второй...

Работа со структурами и чтением из файла - C++
На основе сводной экзаменационной ведомости, включающей фамилии студентов и оценки по дисциплинам (математика, физика, программирование,...

Не могу разобраться с чтением из файла - C++
#include &quot;stdafx.h&quot; #include &lt;iostream&gt; #include &lt;conio.h&gt; #include &lt;stdio.h&gt; #include &lt;time.h&gt; #include &lt;fstream&gt; int...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
12.09.2013, 18:20
Ответ Создать тему
Опции темы

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