Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 15.12.2011, 01:54   #1
Дмитрий_Попов
 
Регистрация: 31.10.2011
Сообщений: 8
Восклицание поток. ввод-вывод. Ошибка на этапе компиляции.

#include <windows.h>
#include <fstream>
#include <iostream>
#include <iomanip>
using namespace std;

void main()
{
char Answer;
const int MessageCount = 8;
int i, j;

// Подсказки
enum {CHOICE = 3, INPUT_FILENAME, INPUT_DIMENSIONS, INPUT_ELEMENTS, FILE_ERROR};

// Сообщения
char Msg[MessageCount][50] =
{
"1. Вывести данные из текстового файла\n",
"2. Записать данные в текстовый файл\n",
"3. Выход из программы\n",
"\nВаш выбор: ",
"Введите имя обрабатываемого файла: ",
"Введите размерности матрицы:\n",
"Введите элементы матрицы:\n",
"Невозможно открыть файл\n"
};

// Русификация сообщений и вывод меню на экран

for(i = 0; i < MessageCount; i++)
CharToOem(Msg[i], Msg[i]);//ошибка на этапе компиляции, //почему? без этого работать не будет((

do
{
for(int i = 0; i < 4; i++)
cout << Msg[i];
cin >> Answer;
} while (Answer < '1' || Answer > '3');

if(Answer == '3')
return;

// Переменная для имени файла
char FileName[80];

// Размерности матрицы
int M, N;

int num;
cout << "\n" << Msg[INPUT_FILENAME];
cin >> FileName;

// Если выбран первый пункт меню,
// то выводим данные из текстового файла на экран
if(Answer == '1')
{
// Если файл с указанным именем не существует,
// выводим сообщение об ошибке
ifstream inF(FileName, ios::in | ios::_Nocreate);
if (!inF)
{
cout << endl << Msg[FILE_ERROR];
return;
}
// Считываем размерность массива
inF >> M;
inF >> N;
// Считываем элементы массива из файла и выводим их сразу на экран
for (i = 0; i < M; i++)
{
for (j = 0; j < N; j++)
{
inF >> num;
cout << setw(6) << num;
}
cout << endl;
}
inF.close();
}

// Если выбран второй пункт меню, то запрашиваем
// у пользователя данные и выводим их в текстовый файл
else
{
// Открываем файл для записи.
// Если файл с указанным именем не существует,
// то программа создает его
ofstream outF(FileName, ios:ut);
if (!outF)
{
cout << "\n" << Msg[FILE_ERROR];
return;
}
// Запрашиваем размерность матрицы и записываем данные в файл
cout << Msg[INPUT_DIMENSIONS];
cout << "M: ";
cin >> M;
cout << "N: ";
cin >> N;

outF << M << ' ' << N << "\n";

cout << Msg[INPUT_ELEMENTS];
// Запрашиваем элементы массива и записываем их в файл
for (i = 0; i < M; i++)
{
for(j = 0; j < N; j++)
{
cout << "A[" << i << "][" << j << "] = ";
cin >> num;
outF << num << " ";
}
outF << "\n";
}
outF.close();
}
}
Дмитрий_Попов вне форума Ответить с цитированием
Старый 15.12.2011, 10:36   #2
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,709
По умолчанию

какая ошибка?
p51x вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
С. Задание с шаблоном функции. Ошибка на этапе компиляции. CofeIn Помощь студентам 2 18.02.2011 21:33
Windows 7 ошибка на этапе загрузки delphin100 Windows 1 18.12.2010 12:48
вывод переменной в поток на Си pysik Помощь студентам 2 17.08.2009 16:17
Ошибка компиляции С++ jeka101 Общие вопросы C/C++ 3 27.03.2009 19:16
Вывод float числа в поток cout IgorKr Общие вопросы C/C++ 7 30.05.2008 01:21