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

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

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

Некорректный вывод из структуры в файл - C++

06.04.2014, 13:41. Просмотров 177. Ответов 0
Метки нет (Все метки)

Здравствуйте! Нужно вывести в файл фамилию, имя и отчество студента, которые я ранее ввожу русскими буквами. В консоль вывод нормальный, а вот при выводе в файл русских букв выводятся "левые" символы. Код:
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
#include <iostream>
using namespace std;
#include <fstream>
#include <string>
#include <iomanip>
struct tabl{    
    char Number[15];
    char LastName[12];
    char FirstName[12];
    char FatherName[20];
    char Sex;
    int age;
    int kurs;   
};
int main(){     
    setlocale(1, "russian");
    tabl *students; 
    char name[10];
    puts("Введите имя файла, куда будут заноситься введенные вами данные о студентах: ");
    cin.getline(name, 10);
    ofstream file(name);
    int n;
    bool flag=false;
    puts("Введите количество студентов, данные о которых хотите ввести: ");
    cin>>n; 
    students=new tabl[n];   
    puts("Поочередно вводите данные о студентах(Длина имени, фамилии или отчества не должна превышать 12 символов!): ");
    for(int i=0; i<n; i++){     
        cout<<"Введите номер студенческого билета "<<i+1<<" студента: "<<endl;
        getchar();
        cin.getline(students[i].Number, 15);
 
        cout<<"Введите фамилию "<<i+1<<" студента: "<<endl;
        cin.getline(students[i].LastName, 12);
        
        cout<<"Введите имя "<<i+1<<" студента: "<<endl;
        cin.getline(students[i].FirstName, 12);
        
        cout<<"Введите отчество "<<i+1<<" студента: "<<endl;
        cin.getline(students[i].FatherName, 20);
        
        cout<<"Введите пол(M/Ж) "<<i+1<<" студента: "<<endl;
        cin>>students[i].Sex;
        
        cout<<"Введите возраст "<<i+1<<" студента: "<<endl;
        cin>>students[i].age;
        
        cout<<"Введите номер курса на котором обучается "<<i+1<<" студент: "<<endl;
        cin>>students[i].kurs;
        if(flag==false){
            file<<"№ студенческого"<<setw(15)<<"Фамилия"<<setw(15)<<"Имя"<<setw(15)<<"Отчество"<<setw(15)<<"Пол"<<setw(15)<<"Возраст"<<setw(15)<<"№ курса"<<endl;
            flag=true;
            cout<<"№ студенческого"<<setw(15)<<"Фамилия"<<setw(15)<<"Имя"<<setw(15)<<"Отчество"<<setw(15)<<"Пол"<<setw(15)<<"Возраст"<<setw(15)<<"№ курса"<<endl;
        }
        system("chcp 1251");
        file<<students[i].Number<<setw(30-strlen(students[i].Number))<<students[i].LastName<<setw(15)<<students[i].FirstName<<setw(15)<<students[i].FatherName<<setw(15)<<students[i].Sex<<setw(15)<<students[i].age<<setw(15)<<students[i].kurs<<endl;
        cout<<"----------------------<<<Cледущий студент>>>-----------------------------"<<endl;
    }
    return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.04.2014, 13:41     Некорректный вывод из структуры в файл
Посмотрите здесь:

Структуры, некорректный вывод - C++
Задание: 1. Описать структуру с именем STUDENT, содержащую следующие поля: • фамилия и инициалы; • номер группы; • успеваемость...

Некорректный вывод в файл - C++
Добрый день! При выводе таблицы умножения в файл числа выводятся некорректно. Заранее спасибо! #include &lt;iostream&gt; #include...

Некорректный вывод в файл - C++
Добрый день. Реализован алгоритм Хаффмана: #include &quot;stdafx.h&quot; using namespace std; class Node { public: int a;...

Некорректный вывод в файл - C++
Здравствуйте. Компилятор находит ошибку, что-то с вводом выводом #include &quot;stdafx.h&quot; #include &lt;iostream&gt; #include &lt;fstream&gt; ...

Некорректный вывод матрицы в файл - C++
Добрый день! Возникла такая проблема, во время работы программы при поиске максимального или минимального значения элемента строки матрицы,...

Вывод структуры в файл - C++
Здравствуйте, у меня есть вопрос. У меня есть структура с большим количеством переменных. Работа с этой структурой происходит в...

Вывод структуры в файл C++ - C++
Необходимо предоставить возможность сохранения таблицы в файл и чтения её из файла с помощью типа данных FILE (FILE *f =...

Вывод структуры в файл C++ - C++
Необходимо предоставить возможность сохранения таблицы в файл и чтения её из файла. #include &lt;iostream&gt; #include &lt;stdio.h&gt; ...

Запись/вывод структуры в файл - C++
Здравствуйте. Само задание: Написать функцию, которая динамически выделяет память под массив структур (не меньше шести элементов),...

Ввод/вывод структуры в текстовый и бинарный файл - C++
есть код #include &quot;stdafx.h&quot; #include &lt;iostream&gt; #include &lt;stdio.h&gt; #include &lt;math.h&gt; #include &lt;stdlib.h&gt; #include &lt;time.h&gt; ...

Вывод структуры в файл. Исправить ошибки в коде - C++
Здравствуйте. Пишу программу с структурой и вводом в файл. Выдает ошибку что не определены переменные: v, s, t, at. Помогите, пожалуйста,...

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


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

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