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

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

Войти
Регистрация
Восстановить пароль
 
Delpix
delpix.ru
19 / 19 / 1
Регистрация: 06.05.2011
Сообщений: 235
#1

Программа отказывается сохранять ответ в файл - C++

16.05.2011, 16:57. Просмотров 333. Ответов 3
Метки нет (Все метки)

У меня есть прога и меню к ней, так вот вся программа работает, кроме пункта сохранить в файл. Жмешь сохранить файл но ничего не сохраняется. Что делать?
Вот код:
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
64
65
66
67
68
69
70
71
72
#include<iostream>
#include<fstream>
#include<cstring>
using namespace  std;
void main ()
{
    setlocale (LC_ALL,"Russian");
    cout<<"1. Ввод с клавиатуры"<<endl;
    cout<<"2. Ввод из файла"<<endl;
    cout<<"Введите номер вашего выбора"<<endl;
    int ans;
    cin>>ans;
        if(ans!=1&& ans!=2)
    {
        cout<<"Ошибка!";
        return;
    }
char str[100];
        if(ans==1)
    {
        cout<<"Введите строку: "<<endl;
        cin.get();
        cin.getline(str,99);
    }
        if(ans==2)
{
ifstream start("start.txt");
        if(!start)
    {
        cout<<"Фаила нет!";
        return;
    }
start.getline(str,99);
start.close();
}
    cin.getline(str,99);
    int i=1;
    cout<<"1. Вывод в окне"<<endl;
    cout<<"2. Вывод в файл"<<endl;
    cout<<"Введите номер вашего выбора "<<endl;
    int ans2;
    cin>>ans2;
        if(ans2!=1&& ans2!=2)
    {
        cout<<"Ошибка! ";
        return;
    }
        if(ans2==1)
        cout<<"Новая строка: "<<endl;
        while(str[i]!='\0')
        {
            cout<<str[i]<<' ';
            i=i+2;
        }
        cout<<endl;
        if(ans2==2)
{
        ofstream sa("sa.txt");
        if(!sa)
    {
        cout<<"Файла нет!";
        return;
    }
    while(str[i]!='\0')
    {
        sa<<str[i]<<' ';
        i=i+2;
    }
    sa<<str[i]<<' '<<endl;
sa.close();
}
}
Проблема видимо где то здесь

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
{
        ofstream sa("sa.txt");
        if(!sa)
    {
        cout<<"Файла нет!";
        return;
    }
    while(str[i]!='\0')
    {
        sa<<str[i]<<' ';
        i=i+2;
    }
    sa<<str[i]<<' '<<endl;
sa.close();
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.05.2011, 16:57
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Программа отказывается сохранять ответ в файл (C++):

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

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

Как создать возможность сохранять текст в html файл? - C++
Здравствуйте, о лучезарные мастера кодинга в с++. :) Есть некая программа. 1. Пользователь вводит данные. 2. Получает результат...

Studio 2010 - как при компиляции сохранять файл ассемблерного листинга? - C++
Подскажите пожалуйста!! В се настройки где и как, со всеми падробностями, если можно!!

Программа задание-ответ - C++
И снова здрасти :) Возникла необходимость создания программы по типу Вопрос-Ответ. Т.е. программа задаёт вопрос, в случае если ответят...

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

3
Kastaneda
Нарушитель
Эксперт С++
4676 / 2880 / 234
Регистрация: 12.12.2009
Сообщений: 7,315
Записей в блоге: 2
Завершенные тесты: 1
16.05.2011, 18:57 #2
Скобки забыл:
C++
1
2
3
4
5
6
7
8
9
 if(ans2==1){//!!!
                cout<<"Новая строка: "<<endl;
                while(str[i]!='\0')
                {
                        cout<<str[i]<<' ';
                        i=i+2;
                }
                cout<<endl;
}//!!!
Добавлено через 1 минуту
Без них при выборе "сохранить в файл" переменная i "прокручивается" до конца строки и в файл уже ни чего не сохраняется.
1
Delpix
delpix.ru
19 / 19 / 1
Регистрация: 06.05.2011
Сообщений: 235
16.05.2011, 19:20  [ТС] #3
Спасибо большое
0
Delpix
delpix.ru
19 / 19 / 1
Регистрация: 06.05.2011
Сообщений: 235
17.05.2011, 21:24  [ТС] #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
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
#include <iostream>
#include <stdio.h>
#include <conio.h>
#include <fstream>
#include <cstring>
using namespace  std;
void main()
{
    setlocale (LC_ALL,"Russian");
    cout<<"1. Ввод с клавиатуры"<<endl;
    cout<<"2. Ввод из файла"<<endl;
    cout<<"Введите номер вашего выбора"<<endl;
    int ans;
    cin>>ans;
    if(ans!=1&& ans!=2)
{
    cout<<"Ошибка!";
    return;
}
char str[50];
    if(ans==1)
{
        cout<<"Введите строку: "<<endl;
        cin.get();
        cin.getline(str,49);
}
        if(ans==2)
    {
ifstream start("start.txt");
        if(!start)
{
        cout<<"Фаила нет!";
        return;
}
start.getline(str,49);
start.close();
    }
    int i=0;
    int size=strlen(str);
    char c; 
    bool fin=true;
    cout<<"1. Вывод в окне"<<endl;
    cout<<"2. Вывод в файл"<<endl;
    cout<<"Введите номер вашего выбора "<<endl;
    int ans2;
    cin>>ans2;
    if(ans2!=1&& ans2!=2)
{
    cout<<"Ошибка! ";
    return;
}
    if(ans2==1)
{
        cout<<"Старая строка: "<<str<<endl;
        cout<<"Новая строка: ";
        for (int t=0;t<size;t++)
        {
        c=str[t];
        if ((c=='.')||(c=='!')||(c=='?')) { fin=true; putchar (c); continue;}
        if ((fin)&&(c!=' ')) {putchar (toupper(c)); fin=false;}
        else putchar (c);
        }
        cout<<endl;
}
        if(ans2==2)
{
        ofstream finish("finish.txt");
        if(!finish)
    {
        cout<<"Файла нет!";
        return;
    }
    cout<<"Старая строка: "<<str<<endl;
    cout<<"Новая строка: ";
    for (int t=0;t<size;t++)
    {
    c=str[t];
    if ((c=='.')||(c=='!')||(c=='?')) { fin=true; putchar (c); continue;}
    if ((fin)&&(c!=' ')) {putchar (toupper(c)); fin=false;}
    else putchar (c);
    }
    cout<<"\n";
    finish<<endl;
    finish.close();
}
}
0
17.05.2011, 21:24
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.05.2011, 21:24
Привет! Вот еще темы с ответами:

Проблемка (программа сразу закрывается и не выдаёт ответ) - C++
#include &quot;StdAfx.h&quot; #include &quot;iostream&quot; // для cin и cout //#include &quot;conio.h&quot; // для getch #include &quot;cmath&quot; // для выполнения мат....

Записываем ответ в текстовый файл - C++
Здравствуйте, вопрос почему ответ не записывается в мой файл? (сохраняет там тока 0)... #include&lt;stdio.h&gt; #include&lt;iostream.h&gt; ...

После установки флага -O2 программа не выдаёт правильный ответ - C++
В чём проблема? #include &lt;fstream&gt; #include &lt;array&gt; #include &lt;vector&gt; #include &lt;algorithm&gt; #include &lt;iostream&gt; using...

После ввода данных программа закрывается, не показав ответ (Dev C++) - C++
Ребят помогите!!!! работаю в dev c++, после ввода суммы просто закрывает командную стоку и ответа не выдает вот код # include...


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

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

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