Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.53/19: Рейтинг темы: голосов - 19, средняя оценка - 4.53
 Аватар для bol2909
2 / 2 / 0
Регистрация: 29.08.2010
Сообщений: 51

Программа должна сохранять данный в файле

29.08.2010, 22:55. Показов 4796. Ответов 55
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте,я хочу чтобы моя программа сохраняла данные,а именно значения переменных в текстовом или еще в каком нибудь файле(не имеет значения) и могла потом загружать их из этого файла.
Подскажите какую функцию использовать и если надо,то что подключать?Заранее спасибо)
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
29.08.2010, 22:55
Ответы с готовыми решениями:

Пользователь вводит 10 чисел программа должна выдать 2 максимальных(берём от 1 до 10,если выпадает 2 10,то программа должна выдать 2 10,а не 10,9)
#include <iostream> using namespace std; int main () { int number, largest_1, largest_2, counter = 1; cout«"Vvedite 1oe...

Как правильно сохранять структуры разного размера в одном файле?
У меня есть структуры (struct) одного типа, но разного размера (длины строк в них отличаются). Как можно их загнать в файл, чтобы потом...

Разработать программу, позволяющую вводить с клавиатуры, сохранять в файле, просматривать и удалять информацию
В соответствии с данными Вашего варианта разработать программу, позволяющую вводить с клавиатуры, сохранять в файле, просматривать и...

55
Эксперт С++
 Аватар для CyBOSSeR
2348 / 1721 / 149
Регистрация: 06.03.2009
Сообщений: 3,675
30.08.2010, 11:25
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от bol2909 Посмотреть сообщение
А как тогда проверку temp сделать?
Вы сначала определитесь для чего Вам каждый из этих файлов нужен.
0
 Аватар для bol2909
2 / 2 / 0
Регистрация: 29.08.2010
Сообщений: 51
30.08.2010, 13:02  [ТС]
CyBOSSeR, почитайте пожалуйста тему там все написано
1 файл (temp) нужен для сохранения последнего полученного числа и последующей его перезаписи
2 файл (input) нужен для хранения истории операций то есть какие вводились данные сегодня вчера или еще когда то

Добавлено через 20 минут
Вот мой код единственное чего не хватает это проверки на файл input.txt но это не беда)
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
#include <iostream>
#include <fstream>
#include "conio.h"
 
int main()
{
   std::ifstream ifs;
   ifs.open("temp.txt");
   if(!ifs)
    {std::cout<<"Can`t open file (temp.txt)\nCheck that you created files in the right folder!\n";
   _getch();
   return 0;}
   
 
   int total_money, earnings, costs, now, result;
   ifs>>now;
   std::cout<<"Enter your earnings: ";
   std::cin>>earnings;
   std::cout<<"Enter your costs: ";
   std::cin>>costs;
   total_money=earnings-costs;
   result=total_money+now;
   std::cout<<"Your money: "<< now <<'\n';
   std::cout<<"Your earnings: "<< earnings<< '\n';
   std::cout<<"Your costs: "<< costs<< '\n';
   std::cout<<"Now your money: "<< result<< '\n';
   std::ofstream temp;
   temp.open("temp.txt");
   temp<<result;
   std::ofstream ofs;
   ofs.open("input.txt", std::ios::app);
   ofs<<"Было:"<<now<<' '<<"Доходы:"<<earnings<<' '<<"Расходы:"<<costs<<' '<<"Разница:"<<total_money<<' '<<"Стало:"<<result<<'\n';
    _getch();
   return 0;
}
Добавлено через 19 минут
Добавил дату:

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
#include <iostream>
#include <fstream>
#include "conio.h"
 
int main()
{
   std::ifstream ifs;
   ifs.open("temp.txt");
   if(!ifs)
    {std::cout<<"Can`t open file (temp.txt)\nCheck that you created files in the right folder!\n";
   _getch();
   return 0;}
   
 
   int total_money, earnings, costs, now, result,month,date;
   ifs>>now;
   std::cout<<"Enter the date\n"<<"Date:";
   std::cin>>date;
   std::cout<<"Enter the month\n"<<"Month:";
   std::cin>>month;
   std::cout<<"Enter your earnings: ";
   std::cin>>earnings;
   std::cout<<"Enter your costs: ";
   std::cin>>costs;
   total_money=earnings-costs;
   result=total_money+now;
   std::cout<<"Your money: "<< now <<'\n';
   std::cout<<"Your earnings: "<< earnings<< '\n';
   std::cout<<"Your costs: "<< costs<< '\n';
   std::cout<<"Now your money: "<< result<< '\n';
   std::ofstream temp;
   temp.open("temp.txt");
   temp<<result;
   std::ofstream ofs;
   ofs.open("input.txt", std::ios::app);
   ofs<<"Дата:"<<date<<"."<<month<<' '<<"Было:"<<now<<' '<<"Доходы:"<<earnings<<' '<<"Расходы:"<<costs<<' '<<"Разница:"<<total_money<<' '<<"Стало:"<<result<<'\n';
    _getch();
   return 0;
}
Добавлено через 53 минуты
Кто нибудь знает как сделать проверку input.txt файла?
0
146 / 146 / 32
Регистрация: 26.10.2008
Сообщений: 782
30.08.2010, 13:21
У вас есть проверка на открытие файла

Цитата Сообщение от bol2909 Посмотреть сообщение
ifs.open("temp.txt");
if(!ifs)
{std::cout<<"Can`t open file (temp.txt)\nCheck that you created files in the right folder!\n";
_getch();
return 0;}

Если на содержимое файла, то тут надо отлавливать ошибки при чтении, например, вы ожидаете, что в файле сначала целое число, а потом строка, а в файле нет числа, то будет ошибка при чтении через

Цитата Сообщение от bol2909 Посмотреть сообщение
ifs>>now;
Добавлено через 2 минуты
Кстати, файлы лучше явно закрывать, используя метод close().
0
 Аватар для bol2909
2 / 2 / 0
Регистрация: 29.08.2010
Сообщений: 51
30.08.2010, 13:23  [ТС]
У вас есть проверка на открытие файла
Мне нужна еще одна проверка на существование другого файла input.txt !
0
Эксперт С++
 Аватар для Nameless One
5828 / 3479 / 358
Регистрация: 08.02.2010
Сообщений: 7,448
30.08.2010, 13:31
Цитата Сообщение от bol2909 Посмотреть сообщение
Мне нужна еще одна проверка на существование другого файла input.txt !
Как узнать, существует ли файл? <-- (тебе нужен способ 9)
1
 Аватар для bol2909
2 / 2 / 0
Регистрация: 29.08.2010
Сообщений: 51
30.08.2010, 13:41  [ТС]
А куда тут вписать название файла?
C++
1
2
3
4
5
#include <io.h>
            bool FileExists(const char *fname)
            {
              return access(fname, 0) != -1;
            }
0
146 / 146 / 32
Регистрация: 26.10.2008
Сообщений: 782
30.08.2010, 13:45
Добавьте этот метод перед main и передавайте в него имя файла.
0
 Аватар для bol2909
2 / 2 / 0
Регистрация: 29.08.2010
Сообщений: 51
30.08.2010, 13:47  [ТС]
я не очень понял можете написать функцию?
0
Эксперт С++
 Аватар для Nameless One
5828 / 3479 / 358
Регистрация: 08.02.2010
Сообщений: 7,448
30.08.2010, 14:01
bol2909, функцию ты сам написал в посте #46. Вызываешь ее так:
C++
1
2
3
4
5
6
7
8
9
10
const char* filename = "file.txt"; //Имя файла, существование которого проверяешь
bool exists = FileExists(filename);
if(exists)
{
   //Блок кода, если файл существует
}
else
{
  //Блок кода, если файл не существует
}
0
 Аватар для bol2909
2 / 2 / 0
Регистрация: 29.08.2010
Сообщений: 51
30.08.2010, 14:05  [ТС]
Ошибка FileExists: идентификатор не найден
0
В астрале
Эксперт С++
 Аватар для ForEveR
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
30.08.2010, 15:19
В чем конкретно у вас проблема что-то не могу понять? Зачем проверки, зачем такая история? Цель?
0
 Аватар для bol2909
2 / 2 / 0
Регистрация: 29.08.2010
Сообщений: 51
30.08.2010, 15:21  [ТС]
чтобы если нету второго файла тоже ошибку выдавало а то получается если файл temp есть а input нету то програма работает
0
В астрале
Эксперт С++
 Аватар для ForEveR
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
30.08.2010, 15:32
bol2909, Проверка идет на temp... А input в целом и не обязан быть. Потому что туда идет запись. А если идет запись - файл создается сам. Поэтому проверка вцелом нужна только на чтение, что и было...
1
 Аватар для bol2909
2 / 2 / 0
Регистрация: 29.08.2010
Сообщений: 51
30.08.2010, 16:06  [ТС]
Спасибо а то я не знал что он сам создается =)
0
В астрале
Эксперт С++
 Аватар для ForEveR
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
30.08.2010, 16:08
bol2909, Таки советую прочитать пару книжек.
По поводу файла конкретно. Здесь открывается файл на запись в конец файла. Если файла нет - файл создается и в него записывается. Если файл есть - записывается в конец. Соответственно после хотя бы 1 запуска в целевой директории появится файл input.txt.
0
 Аватар для bol2909
2 / 2 / 0
Регистрация: 29.08.2010
Сообщений: 51
30.08.2010, 16:16  [ТС]
У меня есть книга по c++ очень хорошая все четко понятно, но я дошел еще только до ссылок про файлы там вообще ничего нет =)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
30.08.2010, 16:16

Программа отказывается сохранять в файл
Программа отказывается сохранять в файл (Окно сохранения выбивает, но текст не сохраняется). Помогите найти ошибку. #include...

Программа отказывается сохранять ответ в файл
У меня есть прога и меню к ней, так вот вся программа работает, кроме пункта сохранить в файл. Жмешь сохранить файл но ничего не...

Программа должна искать в текстовом файле строчку и если она есть вывести весь текстовый файл в memo (Где ошибка?)
procedure TForm16.Button2Click(Sender: TObject); var f,g:textfile; poisk,s:string; i:integer; begin memo1.Clear; ...

Как НЕ сохранять изменения в файле *.xls
Здравствуйте, хотелось бы узнать еще одну вещъ. В этом коде: Private Sub Command1_Click() Set ex_stud =...

Обновление данных с интернета о курсе валют и сохранять их в файле
Пытаюсь прикрепить файл к программе чтоб можно было обновлять данные с интернета о курсе валют и сохранять их в файле с расширением .xml но...


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

Или воспользуйтесь поиском по форуму:
56
Ответ Создать тему
Новые блоги и статьи
сукцессия 30. Фосфорный и азотный замки по "честному" закону лимитирования Либиха
anaschu 16.07.2026
Основные достижения за последние дни 1. Механизм отложенного высвобождения фосфора Добавлен специальный пул для медленного разложения меланизированных гиф ЕСМ Реализована разная скорость. . .
Запрет пометки на удаление и отмены проведения
Maks 16.07.2026
Алгоритм из решения ниже реализован на нетиповом документе "ПутевойЛист" разработанного в КА2. Задача: запретить помечать на удаление и отменять проведения путевого листа при условии, если он сдан. . .
Как надо было делать правильно - вообще не слушать ИИ, его дело - текст.
Hrethgir 15.07.2026
А вообще надо было делать не так, чтобы не исправлять ошибку https:/ / www. cyberforum. ru/ blogs/ 223907/ 10996. html , правильно было : удалил кнопку, а потом добавил её. Всё это стресс конечно. Почему?. . .
Знаете, от чего появляется стресс?
kumehtar 15.07.2026
Стресс появляется оттого, что вы, зная как поступить правильно, делаете наоборот. Ларри Уингет
Нас бьют, а мы крепчаем? Какая чушь!
kumehtar 15.07.2026
Вот это вот бытующее мнение, что человек меняется только под действием проблем, всегда считал вредоносным. Поверь, от проблем у людей появляются не изменения, а нервное расстройство и ПТСР. А. . .
сукцессия 29. Переход от одних деревьев на другие делать более или менее вероятностным?
anaschu 12.07.2026
Насколько смена типов микоризы — исключительное событие в двухвековой сукцессии? Оценка вероятности в пространстве параметров В текущей версии модели успешно реализован ключевой механизм. . .
сукцессия 27. Думаю, как переделывать уже написанную статью с планами на сукцессию.
anaschu 12.07.2026
Анализ соответствия модели требованиям Реализованные компоненты: Механизм закисления почвы через протонную помпу Конкуренция между типами микориз pH как триггер сукцессии C/ P соотношение. . .
Сукцессия 26. Мат модель создана.
anaschu 12.07.2026
Модель смены растительных сукцессий посредством управления грибами работает внутри небольшой ячейки почвы, восстанавливающейся после пожара, где ненадолго бывшее царство хвойных снова захватили. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru