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

Проверка типа вводимой переменной - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Удалить из строки все вхождения заданного символа http://www.cyberforum.ru/cpp-beginners/thread26511.html
12. Преобразовать заданную строку следующим образом: удалить из строки все вхождения заданного символа; Соль в том что это нужно сделать без использования ф-ий библиотеки string.h и разобраться со следующим вопросом: изначально пользователь вводит способ представления строки и способ её обработки, каждый может быть 2-ух видов: 1 - длина, 2 - маркер конца. Допустим нам нужно обработать...
C++ одномерные массивы #include <iostream.h> #include <conio.h> #include <stdio.h> #include <stdlib.h> int main() {char A; long int a_loc; http://www.cyberforum.ru/cpp-beginners/thread26507.html
C++ Не используя дополнительных массивов переставить начало и конец массива
Помогите решыть задачу: Дан масив целых чисел x....x рассматриваемый как соединение двух его отрезков : начала x....x длины m и конца x...x длины n.Не используя дополнительных массивов переставить начало и конец.(Число действий порядка m+n).
C++ сохранение и обработка файла HTML
хочу сделать программу которая будет сохранять страницу HTML файлом а потом откроет ее в текстовом файле и проанализирует исходный код. у меня возникли 2 проблемы: Первая заключается в том что я планирую сохранять страницы при помощи программки CURL 7.19. для этого мне надо вписать в CMD.exe этот текст >> "curl -K rul.txt" в этомто и заключается моя проблема =))) я незнаю как написать...
C++ Сортировка 2мя методами. http://www.cyberforum.ru/cpp-beginners/thread26499.html
Нужно написать 2ве программы сортировки. Одна - пирамидальная сортировка, другая - сортировка включением. Нужно, Очень срочно. Помогите пожалуйста, чем сможете. P.S. Гуглил целый день, есть готовый, но нерабочий код...
C++ задача про одномерный массив Формулировка. Определите второй (по значению) наибольший элемент одномерного массива A(M). Формат входных данных. и т.д. Элементы массива – целые числа в диапазоне ±1000. M - целое число в диапазоне . Рекомендуемое кол-во циклических операторов (без ввода и вывода данных):1 думаю нужно сделать корректировку по возрастанию и выделить оттуда нужный элемнт имено с етим циклом у меня... подробнее

Показать сообщение отдельно
edd
36 / 36 / 0
Регистрация: 13.05.2010
Сообщений: 81
10.06.2010, 12:52     Проверка типа вводимой переменной
Цитата Сообщение от snakext Посмотреть сообщение
Этот цикл выдает ошибку, если ввел не цифры, а буквы. В случае с дробными цифрами, он выводит целую часть. Как бы сделать, чтобы он на дробные цифры выдавал такую же ошибку, как на буквы ?
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
29
30
31
32
33
34
35
36
37
38
#include <iostream>
using namespace std;
char ch='1';
int ii=0, iii=255;
//bool zz=false;
//void um (float*,char*);
//void ckobki(float*,char*);
//void znaki (float*,char*);
int main ()
{   int i=1;
    bool otvet=false;
    float  *a=new float[256];
    char *l=new char[256],  ch;
    for (int i=0; i<256; i++) {a[i]=0; l[i]='$';}l[0]='+'; 
    while(i+1){
    cin.get(ch);
    if (ch=='\n') break;    
    /*if (ch=='(')  {a[i]=1;l[i+1]='*'; l[i+2]=ch; i+=3;}
    if (ch==')')    {l[i]=ch;i++;}
    if (ch=='-')    {l[i]=ch;i++;}
    if  (ch=='+')   {l[i]=ch;i++;}
    if (ch=='*')    {l[i]=ch;i++;}
    if  (ch=='/')   {l[i]=ch;i++;}*/
    switch (ch){
        case '0':   case '5':   
        case '1':   case '6':
        case '2':   case '7':
        case '3':   case '8':
        case '4':   case '9':
        
            cin.putback(ch);
            cin>>a[i];i++; } }
 
    float z=a[1]/(int)a[1];
    if (z==1) 
 
    cout<<a[1];
return 0;}
кусок кода выдрал (пардон)

Добавлено через 10 минут
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>
using namespace std;
int main ()
{   float  a=0;
    char   ch;
     
    while(1){
    cin.get(ch);
    if (ch=='\n') break;    
    switch (ch){
        case '0':   case '5':   
        case '1':   case '6':
        case '2':   case '7':
        case '3':   case '8':
        case '4':   case '9':
        
            cin.putback(ch);
            cin>>a; }}
 
    float z=a/(int)a;
    if (z==1) cout<<a; else cout<<"error";
 
    return 0;}
удалил ненужное

Добавлено через 17 минут
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
#include <iostream>
using namespace std;
int main ()
{   float  a=0;
    char   ch;
    int i=0;
     
    while(1){
    cin.get(ch);
    if (ch=='\n') break;    
    switch (ch){
        case '0':   case '5':   
        case '1':   case '6':
        case '2':   case '7':
        case '3':   case '8':
        case '4':   case '9':
        
            cin.putback(ch);
            cin>>a; i++;}}
    if (a==0 && i>0) cout<<a; else {
 
    float z=a/(int)a;
    if (z==1) cout<<a; else cout<<"error";}
 
    return 0;}
извечный нолик добавили к типу)))
 
Текущее время: 22:52. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru