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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 26.12.2012, 14:22   #1
Vadiliy
Пользователь
 
Регистрация: 30.11.2012
Сообщений: 43
По умолчанию Перевод текста в цифры

Всем привет. Я начинающий программист на С++, работаю в компиляторе Microsoft Visual Studio 2010. Вот решил написать программу которая будет переводить буквы в цифры, каждая буква имеет свой номер, это не полная версия программы, но уже есть проблема. Все работает нормально до строки "1" (смотрите на исходный код и найдете ее), как только нужно вводить текст и я нажимаю на любую клавишу консоль закрывается, подскажите что не так?
Код:
#include "stdafx.h"
#include <cstring>
#include <conio.h>
#include <Windows.h>
#include <cstdio>
#include <iostream>
using namespace std;
void perevod();
void zapis();
void perevod2();
int b, c;
char a[27] = "abcdefghijklmnopqrstuvwxyz";
int main()
{
setlocale(LC_ALL, "rus");
cout << "1-Перевести в числа" << endl << "2-Перевести из чисел" << endl << "3-Записать числа в файл";
cout << endl;
cin >> b;
if (b == 1)
{
cout << "Писать транслитом и маленькими буквами, не больше 80 символов" << endl; 
perevod(); // строка 1                                                                                       // СТРОКА 1
} 
_getch();
return 0;
}
void perevod()
{
char ch[80];
gets(ch);
cout << ch;
_getch();
}
А транс литом пишу потому что не могу найти рабочие функции ВВОДА русского текста в консоль. setlocale(0,"RUSSIAN") не работает.

Последний раз редактировалось Vadiliy; 26.12.2012 в 14:26.
Vadiliy вне форума Ответить с цитированием
Старый 26.12.2012, 14:54   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

gets(ch); замени на cin>>ch для начала.
Для кончала пройдись отладчиком пошагово, и посмотри на каком операторе вылетает.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 26.12.2012, 15:11   #3
EUGY
Форумчанин
 
Аватар для EUGY
 
Регистрация: 11.07.2010
Сообщений: 914
По умолчанию

Чтобы программа не заканчивалась, надо ведь цикл организовать. А так конечно, функция main отработала, консоль закрылась.
EUGY вне форума Ответить с цитированием
Старый 26.12.2012, 15:19   #4
Vadiliy
Пользователь
 
Регистрация: 30.11.2012
Сообщений: 43
По умолчанию

Если cin, то работает, значит проблема с gets, но у меня в тексте будут пробелы поэтому cin не подходит, не в курсе, в чем проблема с gets?
Vadiliy вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Перевод букв в цифры niki-maximal Общие вопросы Delphi 3 07.11.2012 18:30
Перевод значений выведенных формулами в обычные цифры dmonco Microsoft Office Excel 2 24.03.2012 03:59
Перевод букв в цифры Peperovich Общие вопросы C/C++ 3 22.12.2011 19:08
Перевод арабской цифры в цифру почтового индекса balecki Помощь студентам 0 28.11.2010 00:24