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

Работа с файлами - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Как переменную сделать общей для функции http://www.cyberforum.ru/cpp-beginners/thread1023536.html
void addChislo(){char type;int a=0; cout<<"Введите тип вашей переменной:"; cin>>type; cout<<"Введите значение переменной типа "<<type<<": "; if(!strcmp(type,"int")){int n=0;cin>>n;} else if(!strcmp(type,"float")){float n=0;cin>>n;} else if(!strcmp(type,"double")){double n=0;cin>>n;} else if(!strcmp(type,"char")){char n=0;cin>>n;} a=strlen(type); for(int i=0;i<a;i++)
C++ Шаблоны ругается на строку "friend class List<T>;", вот что пишет: 1>c:\users\slava\documents\visual studio 2012\projects\string_class\string_class\stringnode.h(7): error C2059: синтаксическая ошибка: < 1> c:\users\slava\documents\visual studio 2012\projects\string_class\string_class\stringnode.h(20): см. ссылку на создание экземпляров класса шаблон при компиляции "Node<T>"... http://www.cyberforum.ru/cpp-beginners/thread1023527.html
C++ Отладка и тестирование приложений в среде Visual Studio 2010
Студию я осваиваю, безусловно интересуют все методы, финты, возможности- в ней присуцтвующие. Как отладить большую сложную прогу скажем на предмет зацикливания, изменения переменных, есл скажем их сотни, на предмет общего торможения компа, если его происхождение не очевидно, и т.п. Добавлено через 1 минуту Для начала, придположим, я имею простейшую ( не из многих частей) прогу типа .cpp...
C++ злые скобки
Здравствуйте!!!Помогите пожалуйста написать код расстановки скобок! Задание такое: 1.Написать программу, которая расставляет всевозможными способами скобки в выражении так, что выражение становится формулой или выдает сообщение об ошибке, если в выражении встречаются недопустимые сочетания (подряд идут несколько переменных или несколько бинарных связок). Реализовать программу с использованием...
C++ Не большая ошибка в коде (массивы) http://www.cyberforum.ru/cpp-beginners/thread1023486.html
Само задание: Задана матрица размером AxB. Получить массив M, присвоив его n- му элементу значение 0, если все элементы n- го столбца матрицы нулевые , и значение 1 - в противном случае . Всё вроде бы работает, но при некоторых матрицах, всё же отображает неправильно Во вложении наглядно показан, пример ошибки #include <iostream> #include <math.h> #include...
C++ Различные структуры в структуре Здравствуйте форумчане. Пишу чат с возможностью регистрации, входа, добавления\удаления пользователей и т.д. Понадобилось в структуру TPacket "паковать" другие структуру и отправлять с сервера на клиент и наоборот. Структуры enum TPacketType { ptRegistrations, ptLogins, ptUnLogins, ptMessages, ptAdds, ptDeletes, ptError }; // Структура с данными для регистрации подробнее

Показать сообщение отдельно
Kingl
Сообщений: n/a
30.11.2013, 00:55     Работа с файлами
Составить программу, реализующую функции указанного ниже меню. Выполнить функциональное разбиение программного кода.

Меню программы:
1 – Сформировать с клавиатуры строку и записать в файл (строка может содержать пробелы);
2 – Считать строку из файла и распечатать;
3 – Зашифровать строку и записать в файл;
4 – Расшифровать строку и записать в файл;
5 – Выход.

Четные и нечетные символы меняются местами.

Вот что у меня получилось, все работает, но если сразу допустим 4 пункт меню выбрать, пропуская первый, то есть ничего не записывая в файл - виснет, а должно выводить ошибку. и функция "default" тоже не работает. Вот мой код:
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
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
#include <io.h>
#include <stdio.h>
#include <conio.h>
#include <locale.h>
#include <string.h>
#include <windows.h>
#include <ShellAPI.h>
 
void f(char*, char*);
 
void main()
{
    char Str1[100] = "";
    char Str2;
    unsigned char pm, i=0, j=0;
 
    setlocale(LC_CTYPE, "Russian");
 
    FILE *fl;
 
    for(;;)
    {
        puts("Выберите действие: \n");
        puts("1. Сформировать строку и записать в файл");
        puts("2. Считать строку и распечатать");
        puts("3. Зашифровать строку и записать в файл");
        puts("4. Расшифровать строку и записать в файл");
        puts("5. Выход.\n");
 
        pm=_getch();
 
        switch(pm)
        {
            case '1':
                if((fl=fopen("fl.txt", "w"))!=NULL) // Открываем файл только для записи
                {
                    puts("Введите строку: \n");
                    SetConsoleCP(1251);
                    gets(Str1); //Ввод строки
                    fputs(Str1, fl); // запись строки в файл
                    SetConsoleCP(866);
                    fclose(fl); //Закрыть файл после записи
 
                    puts("Строка записана успешно \n");
                }
                else
                {
                    puts("Ошибка при открытии файла \n");
                }
                    break;
 
            case '2':
                if ((fl=fopen("fl.txt", "r"))!=NULL) // Открываем файл только для чтения
                {
                    puts("Строка из файла: \n");
                    fgets(Str1, 100, fl); //Считывание строки из файла
                    puts(Str1);
                    printf("\n");
                    fclose(fl);
                }
                else
                {
                    puts("Ошибка при открытии файла \n");
                }
                break;
 
            case '3':
                if ((fl=fopen("fl.txt", "w+"))!=NULL) // Открываем файл для чтения и записи
                {
                    puts("Исходная строка:");
                    puts(Str1);
                    fgets(Str1, 100, fl);
                    printf("\n");
 
            f(str1, str2);
 
                    SetConsoleCP(1251);
                    fputs(Str1, fl);
                    SetConsoleCP(866);
                    puts("Зашифрованная строка:");
                    puts(Str1);
                    printf("\n");
                    fclose(fl);
 
                    puts("Строка успешно записана в файл \n");
                    }
                    else
                    {
                        puts("Ошибка при открытии файла \n");
                    }
                    break;
 
            case '4':
                if((fl=fopen("fl.txt", "w+"))!=NULL) // Открываем файл для чтения и записи
                {
                    puts("Исходная строка в файле:");
                    puts(Str1);
                    fgets(Str1, 100, fl);
                    printf("\n");
                    
            f(str1, str2);
                    
                    SetConsoleCP(1251);
                    fputs(Str1, fl);
                    SetConsoleCP(866);
                    puts("Расшифрованная строка:");
                    puts(Str1);
                    printf("\n");
                    fclose(fl);
                }
                else
                {
                    puts("Ошибка при открытии файла \n");
                }
                break;
 
            case '5':
                return;
default:
                puts("Введите значение от 1 до 5 \n");
                break;
        
    }
}
}
 
void f( char *str1, char *str2)
{
    for(int i=0; i<strlen(Str1)-1; i++)
    {             if(i%2==0) // Замена четного символа на нечетный
        {
            Str2=Str1[i];
            Str1[i]=Str1[i+1];
            Str1[i+1]=Str2;
        }
    }
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 15:41. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru