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

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

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

Определять тип вводимой переменной (char или int) - C++

02.02.2014, 20:48. Просмотров 894. Ответов 11
Метки нет (Все метки)

Вообщем изначально дали задание определять тип вводимой переменной (char или int ). Это я выполнил,затем изменили задание, нужно сделать чтоб была какая-нибудь строка или символьный масив, и программа определяла тип позиции которую выбирает пользователь..(например 5-тый символ в строке).И надо переделать ,но я не знаю как это все осуществить...вот мой код,помогите,кто знает как это сделать.
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
#include "iostream"
#include "ctype.h"
#include "iomanip"
#include "stdio.h"
using namespace std;
int main()
{
    char ch;
    while (0 == 0)
    {
        cout << "Enter position" << endl;
        ch = getchar();
 
        if (ch == ' ')
            break;
        if (ch == '\n')
            break;
        bool check = isdigit(ch);
        if (check == 0)
            cout << ch << "  type char" << endl;
        if (check == 1)
            cout << ch << "  type int " << endl;
        system("pause");
 
        
    }
    return 0;
}
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.02.2014, 20:48
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Определять тип вводимой переменной (char или int) (C++):

Присвоить переменной char m значиние переменной int i.. - C++
Как присвоить переменной char m значиние переменной int i таким образом ? int main() { char m; int i = 5; m = i; # ( что бы...

Напишите программу, которая будет определять размер для данных (int, char, long, double, short, unsigned, float) и выводить информацию - C++
1. Какие типы данных лучше всего использовать для хранения следующих значений: а) возраст человека в текущем году; б) вес человека в...

Восьмибитный тип переменной (что за тип, но не BYTE и не CHAR? - C++
Вроде давно занимаюсь программированием на С++, но встала проблема... Есть некий массив переменных имеющих 8 битный размер... без знака...

Из типа char в тип int - C++
#include &lt;iostream&gt; #include &lt;conio.h&gt; using namespace std; int main() { setlocale(LC_ALL, &quot;Rus&quot;); char v1(0), v2(0),...

Char, short, int, long: какой тип выбрать? - C++
Всем привет Читая книги по C++ столкнулся с тем, что везде пишут примерно одно и тоже. Допустим про char, short, int, long пишут что...

Перевод переменной из int в char и конкатенация строк - C++
вообщем вот кусок кода. max - это та самая переменная которую нужно было мне перевести в char, но потом у меня никак не получается...

11
GuGo1991
267 / 261 / 93
Регистрация: 02.08.2012
Сообщений: 609
03.02.2014, 04:31 #2
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <iostream>
#include <ctype.h>
#include <string>
using namespace std;
 
int main()
{
    string s;
    char ch;
    int pos;
    getline(cin, s);
    cout << "Enter position: "; cin >> pos;
    ch = s.at(pos);
    bool check = isdigit(ch);
    if (check == 0)
        cout << ch << "  type char" << endl;
    if (check == 1)
        cout << ch << "  type int " << endl;
    
    system("pause");
    return 0;
}
1
alsav22
5421 / 4816 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
03.02.2014, 09:03 #3
Могут быть проблемы при обработке русских символов. Поэтому лучше:
C++
1
isdigit((unsigned char)ch)
0
aLarman
03.02.2014, 09:29
  #4

Не по теме:

Цитата Сообщение от GuGo1991 Посмотреть сообщение
C++
1
ch = s.at(pos);
угу прекрасно, если что не так исключение бросаем хД

0
GuGo1991
03.02.2014, 16:21
  #5

Не по теме:

Цитата Сообщение от aLarman Посмотреть сообщение
угу прекрасно, если что не так исключение бросаем хД
а в чём проблема?

0
aLarman
03.02.2014, 16:29
  #6

Не по теме:

Цитата Сообщение от GuGo1991 Посмотреть сообщение
а в чём проблема?
зная что ф-ция может бросить исключение и не ловить его не есть гуд

0
GuGo1991
03.02.2014, 16:39
  #7

Не по теме:

Цитата Сообщение от aLarman Посмотреть сообщение
зная что ф-ция может бросить исключение и не ловить его не есть гуд
Вы об out_of_range исключении я как понял. Я показал пример,
защиту от дураков может установить "пользователь".

0
aLarman
03.02.2014, 16:49
  #8

Не по теме:

Цитата Сообщение от GuGo1991 Посмотреть сообщение
Вы об out_of_range исключении я как понял
а после исключения что будет? terminate без вызова деструкторов

0
GuGo1991
03.02.2014, 17:30
  #9

Не по теме:

aLarman, покажите свой вариант

0
aLarman
642 / 563 / 89
Регистрация: 13.12.2012
Сообщений: 2,109
03.02.2014, 18:08 #10
GuGo1991,

Не по теме:

C++
1
2
3
if(ch>s.length())
{cout<<"too large";
return 0;}

0
GuGo1991
267 / 261 / 93
Регистрация: 02.08.2012
Сообщений: 609
03.02.2014, 18:17 #11
aLarman

Не по теме:

Всё это предельно ясно. Повторюсь:

Цитата Сообщение от GuGo1991 Посмотреть сообщение
Я показал пример,
защиту от дураков может установить "пользователь".

0
aLarman
03.02.2014, 23:37     Определять тип вводимой переменной (char или int)
  #12

Не по теме:

GuGo1991, Ваше дело что советовать, но ИМХО не стоит советовать ф-ции с исключениями

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.02.2014, 23:37
Привет! Вот еще темы с ответами:

Программа должна определять корректность вводимой структуры - C++
суть такова: вы вводите в консоль код, описывающий структуру. программа должна проверить есть ли ето структурой. Добавлено через 51...

Реализация функции char *padl(const char *string, int len, int c=' ') - C++
Реализовать функцию возвращающую указатель на новую строку длины len, полученную из string либо удалением лишних символов слева , либо...

Присвоить переменной Char значение третьего байта переменно типа Int - C++
всем привет, на одном собеседовании передо мной поставили следующую задачу, присвоить переменной char ch, значение третьего байта переменно...

При вводе элементов массива выводить их тип (или int или float) - C++
Помогите с ошибкой, и если не сложно то с заданием а то я вроде сделал только не могу проверить так как крешит прогу( А задание...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
03.02.2014, 23:37
Ответ Создать тему
Опции темы

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