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

Целое число - C++

Восстановить пароль Регистрация
 
BTR
 Аватар для BTR
8 / 8 / 1
Регистрация: 01.11.2010
Сообщений: 157
24.02.2011, 21:21     Целое число #1
Всем привет, у меня тут возник вопрос, мне нужно получить целое число и если полученные данные не явл типом int, то есть числом, то выдавать ошибку, как можно проверить, является ли переменная числом? Может функция какая-нибудь есть? И еще мне нужно записать данные в файл и прочитать его. Кто нибудь может показать пример с комментариями и пояснением? Заранее благодарю Вас. Спасибо
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.02.2011, 21:21     Целое число
Посмотрите здесь:

Дано целое число m. получить найбольщее целое k при котором 4^k<m C++
Поле first — целое число, левая граница диапазона, включается в диапазон; поле second — целое число, правая граница диапазона, не включается в диапазо C++
Дано целое число N (> 0). Найти сумму N2 + (N + 1)2+ (N + 2)2+ … + (2*N)2 (целое число) C++
Дано вещественное число A и целое число N. Вывести A в степени N (код внутри) C++
C++ Составить функцию, которая, получив целое число определяет, уменьшается ли оно в целое число раз
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
asics
Freelance
Эксперт C++
 Аватар для asics
2839 / 1776 / 144
Регистрация: 09.09.2010
Сообщений: 3,842
24.02.2011, 21:27     Целое число #2
Проверка на ввод
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <iostream>
#include <sstream>
#include <string>
 
template<class T>
void  input(const std::string &prompt, T &t){
    for(;;){
        std::cout << prompt;
        std::string s;
        getline(std::cin, s);
        std::istringstream  ssin(s);
        char c;
        if(ssin >> t && !(ssin >> c))
            break;
    }
}
 
int main(){
    int i;
    input("Int num: ", i);
    std::cout << "i = " << i << std::endl;
    return 0;
}
BTR
 Аватар для BTR
8 / 8 / 1
Регистрация: 01.11.2010
Сообщений: 157
24.02.2011, 21:31  [ТС]     Целое число #3
А что означает template<class T>
std::istringstream ssin(s);
getline(std::cin, s);
?
hepr
 Аватар для hepr
60 / 32 / 5
Регистрация: 21.10.2010
Сообщений: 538
24.02.2011, 21:37     Целое число #4
template<class T> это объявление шаблонного класса T

Добавлено через 41 секунду
А остальное ссори не помню, давно с консольки слез
Mayonez
 Аватар для Mayonez
379 / 271 / 20
Регистрация: 26.12.2009
Сообщений: 875
24.02.2011, 21:42     Целое число #5
Цитата Сообщение от BTR Посмотреть сообщение
std::istringstream ssin(s);
превращаем строку в поток
getline(std::cin, s);
получаем строку s из стандартного потока ввода
BTR
 Аватар для BTR
8 / 8 / 1
Регистрация: 01.11.2010
Сообщений: 157
24.02.2011, 21:42  [ТС]     Целое число #6
еще вопросик есть, почему при вызове функции sqrt выдает ошибку?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream>
#include <string>
#include <math.h>
#include <cstdlib>
#include <cstdio>
 
using namespace std;
 
int main(int argc, char** argv) {
    setlocale(0,"Russian");
 
    int i = sqrt(42);
 
    system("pause >> void");
    return 0;
}
asics
Freelance
Эксперт C++
 Аватар для asics
2839 / 1776 / 144
Регистрация: 09.09.2010
Сообщений: 3,842
24.02.2011, 21:49     Целое число #7
BTR, Если не ошибаюсь, то sqrt() принимает только переменные з плавающей запятой.
MILAN
 Аватар для MILAN
883 / 777 / 86
Регистрация: 21.02.2009
Сообщений: 1,722
24.02.2011, 21:51     Целое число #8
Цитата Сообщение от BTR Посмотреть сообщение
еще вопросик есть, почему при вызове функции sqrt выдает ошибку?
Какая ошыбка? У меня нормально скомпилировался.
silent_1991
Эксперт C++
4938 / 3014 / 149
Регистрация: 11.11.2009
Сообщений: 7,024
Завершенные тесты: 1
24.02.2011, 22:03     Целое число #9
MILAN, это смотря какой компилятор. Все современные (или почти все) не воспримут это, т.к. не найдут единственно возможного варианта перегрузки. Надо явно приводить к double, чтобы сработало. Такая, например, запись
C++
1
pow(3, 5);
тоже не пройдёт, зато такая
C++
1
pow(3.0, 5);
за милую душу))
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.02.2011, 22:11     Целое число
Еще ссылки по теме:

C++ Дано целое число N. Получить число M, у которого порядок цифр обратный по отношению к N
C++ Если целое число М делится на целое число N, то на экран выводится частное от деления, в противном случае выводится сообщение

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

Или воспользуйтесь поиском по форуму:
MILAN
 Аватар для MILAN
883 / 777 / 86
Регистрация: 21.02.2009
Сообщений: 1,722
24.02.2011, 22:11     Целое число #10
Цитата Сообщение от silent_1991 Посмотреть сообщение
MILAN, это смотря какой компилятор. Все современные (или почти все) не воспримут это, т.к. не найдут единственно возможного варианта перегрузки. Надо явно приводить к double, чтобы сработало. Такая, например, запись
Хотя да, Code::Blocks 10.05 скомпилировал, а вот MSVS 2010 - нет.
Yandex
Объявления
24.02.2011, 22:11     Целое число
Ответ Создать тему
Опции темы

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