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

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

02.02.2014, 20:48. Просмотров 1887. Ответов 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)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
02.02.2014, 20:48
Ответы с готовыми решениями:

Увеличение int переменной зная её имя в char переменной
Здравствуйте, у меня есть 23 int переменных b1 b2 b3 .... b23 в неком скрипте я в...

Присвоить переменной char m значиние переменной int i..
Как присвоить переменной char m значиние переменной int i таким образом ? int main() { char...

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

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

11
271 / 265 / 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
5475 / 4870 / 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
653 / 574 / 164
Регистрация: 13.12.2012
Сообщений: 2,124
03.02.2014, 18:08 10
GuGo1991,

Не по теме:

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

0
271 / 265 / 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 в тип int
#include &lt;iostream&gt; #include &lt;conio.h&gt; using namespace std; int main() { setlocale(LC_ALL,...

Преобразовать тип char к типу int
Можно ли как-то преобразовать тип char к типу int? Существуют ли какие-либо функции для этого?...

Не удаётся преобразовать тип int в char
Добрый день, необходимо заполнить массив буквами начиная с 'a' через одну. почему не удаётся...

Перевод переменной int в char
Подскажите пожалуйста как перевести переменную int в char? я в своей программе изначально в int...


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

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

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