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

Почему выводит не понятные символы, а не то что вводилось пользователем? - C++

Восстановить пароль Регистрация
 
АнастасияПять
0 / 0 / 0
Регистрация: 11.09.2013
Сообщений: 12
11.11.2013, 19:20     Почему выводит не понятные символы, а не то что вводилось пользователем? #1
#include "stdafx.h"
#include <iostream>
#include <sstream>
#include <cstring>
#include <conio.h>

using namespace std;

struct knigizd /*ОПИСЫВАЕМАЯ СТРУКТУРА*/
{
char NI[30];
char G[20];
char AK[30];
char NK[30];
char VI[30];
int tir;
int gi;
int cena;
int DD;
int DM;
int DG;
int DV;
};
void vvod(int n,knigizd* str)
{ setlocale (LC_ALL, "Russian");
for(int i=0;i<n;i++)
{ cout<<"Введите название издательства: "<<endl; cin>>str[i].NI;

}
}
void vivod(int n,knigizd* str)
{ setlocale (LC_ALL, "Russian");
cout<<"Название издательства"<<endl;
for (int i=0;i<n;i++)
{
cout<<str[i].NI<<" ;"<<endl;

}
}

int main()
{ setlocale (LC_ALL, "Russian");
int n;
cout<<"Введите размер таблицы:"<<endl;
cin>>n;
knigizd* str=new knigizd[n];
vvod(n,str);
vivod(n,str);
}
Миниатюры
Почему выводит не понятные символы, а не то что вводилось пользователем?  
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Fintt
 Аватар для Fintt
10 / 10 / 0
Регистрация: 13.02.2012
Сообщений: 94
11.11.2013, 19:30     Почему выводит не понятные символы, а не то что вводилось пользователем? #2
Попробуй подключить библиотеку <windows.h> и функции SetConsoleCP(1251); SetConsoleOutputCP(1251);
АнастасияПять
0 / 0 / 0
Регистрация: 11.09.2013
Сообщений: 12
11.11.2013, 19:32  [ТС]     Почему выводит не понятные символы, а не то что вводилось пользователем? #3
скажите а как эти функции подключить?
Fintt
 Аватар для Fintt
10 / 10 / 0
Регистрация: 13.02.2012
Сообщений: 94
11.11.2013, 19:36     Почему выводит не понятные символы, а не то что вводилось пользователем? #4
C++
1
2
3
4
5
6
7
8
9
10
11
12
#include <windows.h>
int main()
{ setlocale (LC_ALL, "Russian"); 
SetConsoleCP(1251);
SetConsoleOutputCP(1251);
int n;
cout<<"Введите размер таблицы:"<<endl;
cin>>n;
knigizd* str=new knigizd[n];
vvod(n,str);
vivod(n,str);
}
АнастасияПять
0 / 0 / 0
Регистрация: 11.09.2013
Сообщений: 12
11.11.2013, 19:43  [ТС]     Почему выводит не понятные символы, а не то что вводилось пользователем? #5
Теперь вот как получается?
Миниатюры
Почему выводит не понятные символы, а не то что вводилось пользователем?  
Fintt
 Аватар для Fintt
10 / 10 / 0
Регистрация: 13.02.2012
Сообщений: 94
11.11.2013, 19:47     Почему выводит не понятные символы, а не то что вводилось пользователем? #6
Попробуй закоментить setlocale, или в край пользуйся латинскими буквами.
Anton_Kretov
 Аватар для Anton_Kretov
89 / 51 / 7
Регистрация: 26.06.2013
Сообщений: 179
11.11.2013, 20:24     Почему выводит не понятные символы, а не то что вводилось пользователем? #7
Просто после начала функции main() напишите:
C++
1
setlocale(LC_ALL, "rus");
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
11.11.2013, 20:28     Почему выводит не понятные символы, а не то что вводилось пользователем?
Еще ссылки по теме:

Почему в конце символьной строки появляются разные символы, и что с ними делать? C++
сделать что бы число записей вводилось пользователем C++
C++ Почему выводит ошибку C4700, что локальная переменная неинициализированна, если она инициализированна

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

Или воспользуйтесь поиском по форуму:
АнастасияПять
0 / 0 / 0
Регистрация: 11.09.2013
Сообщений: 12
11.11.2013, 20:28  [ТС]     Почему выводит не понятные символы, а не то что вводилось пользователем? #8
У меня так и было записано!
Yandex
Объявления
11.11.2013, 20:28     Почему выводит не понятные символы, а не то что вводилось пользователем?
Ответ Создать тему
Опции темы

Текущее время: 18:10. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru