Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
bull3tproof
0 / 0 / 0
Регистрация: 28.03.2013
Сообщений: 26
#1

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

02.02.2014, 20:48. Просмотров 1065. Ответов 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..
Как присвоить переменной char m значиние переменной int i таким образом ? ...

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

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

Из типа char в тип int
#include &lt;iostream&gt; #include &lt;conio.h&gt; using namespace std; int main() {...

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

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

11
GuGo1991
269 / 263 / 146
Регистрация: 02.08.2012
Сообщений: 609
03.02.2014, 04:31 #2
Лучший ответ Сообщение было отмечено bull3tproof как решение

Решение

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
5438 / 4833 / 831
Регистрация: 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
644 / 565 / 164
Регистрация: 13.12.2012
Сообщений: 2,112
Завершенные тесты: 1
03.02.2014, 18:08 #10
GuGo1991,

Не по теме:

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

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

Не по теме:

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

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

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

Не по теме:

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

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

Программа должна определять корректность вводимой структуры
суть такова: вы вводите в консоль код, описывающий структуру. программа должна...

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

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

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


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

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Опции темы

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