Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

[C++] Rozpoznawanie wprowadzanego tekstu w konsoli

Ostatnio zmodyfikowano 2013-12-21 18:00
Autor Wiadomość
dawid
Temat założony przez niniejszego użytkownika
[C++] Rozpoznawanie wprowadzanego tekstu w konsoli
» 2013-12-21 16:15:55
Cześć,
mam kilka pytań odnośnie funkcji w c++.

1. Jak sprawdzić czy wprowadzony do konsoli tekst jest liczbą?
2. Jak  utworzyć coś takiego, że jeśli wpisana liczba jest >= 0 i <= 9 to wyświetli się tekst, że to jest cyfra(na ujemnych tak samo) a jak powyżej 9 to, że liczba?
Jakich funkcji użyć?
P-99741
kubek3898
» 2013-12-21 17:13:29
1. Funkcja isdigit() z biblioteki cctype
2. Warunek if. Coś typu

JEŚLI ZMIENNA <= 9
  WYPISZ ZE TO CYFRA
W PRZECIWNYM RAZIE
  WYPISZ ZE TO LICZBA

Ogólnie to polecam przeczytać najpierw kurs C++.
P-99744
dawid
Temat założony przez niniejszego użytkownika
» 2013-12-21 17:29:26
To piszę tak:


if(!isdigit()(wpisane) )
std::cout << "To nie jest liczba!" << std::endl;

Lecz nie działa. Co jest nie tak?
P-99745
SeaMonster131
» 2013-12-21 17:31:08
P-99746
leon_w
» 2013-12-21 17:31:32
if(!islower()(wpisane) )
tym sprawdzasz, czy nie jest małą literą. Do sprawdzenia czy to jest cyfra, jest isdigit()
P-99747
dawid
Temat założony przez niniejszego użytkownika
» 2013-12-21 17:37:01
To mam tak:


if(!isdigit(wpisane))
std::cout << "To nie liczba!" << std::endl;
i nawet jak wpiszę liczbę to pojawia mi się ten komunikat. Co jest nie tak?
P-99749
kubek3898
» 2013-12-21 17:49:59
Pokaż cały kod.
P-99751
dawid
Temat założony przez niniejszego użytkownika
» 2013-12-21 17:56:42
C/C++
#include <iostream>
#include <conio.h>
#include <ctype.h>

int main() {
   
    int wpisane;
    std::cout << "Podaj dowolna liczbe: ";
    std::cin >> wpisane;
   
    if( !isdigit( wpisane ) )
         std::cout << "To nie liczba!" << std::endl;
   
    getch(); //zatrzymanie konsoli. Bez tego w ułamku sekundy by się pojawiła i znikła.
    return 0;
}
P-99753
« 1 » 2
  Strona 1 z 2 Następna strona