Wujek_Dobra_Rada Opublikowano 12 Marca 2006 Zgłoś Opublikowano 12 Marca 2006 Mam oto taki problem: Muszę pobrać z klawiatury flota, który następnie jest wstawiany do wzoru. Wiesz może co zrobić, aby ustrzec się przed wprowadzeniem przez użytkownika ciągu liter zamiast cyfr, bo jak wprowadzi się te litery i wstawi do wzoru to się wali. Oto uproszczony schemat o co mi chodzi, bo tak naprawdę programik jest dużo bardziej rozbudowany: Main( ) { float wynik, pobrana; cout<<"podaj liczbe\n"; cin>>pobrana; wynik=pobrana*1.000002232; cout<<wynik<<endl; } Trzeba tu dodać jakąś pętle która w razie gdy podamy jako „pobrana” litere, bądź ciąg znaków inny niż cyfry, nakaże użytkownikowi ponowne wprowadzenie liczby. Wie ktoś jak coś takiego zrobić? Jeśli tak będę wdzięczny za pomoc. Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
Guardian_McLeavy Opublikowano 12 Marca 2006 Zgłoś Opublikowano 12 Marca 2006 (edytowane) Jest taka funkcja isdigit, ale nie pamiętam czy działa na floatach. @edit Jest jeszcze takie coś: http://www.mkssoftware.com/docs/man3/isalpha.3.asp Edytowane 12 Marca 2006 przez Guardian_McLeavy Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
Wujek_Dobra_Rada Opublikowano 12 Marca 2006 Zgłoś Opublikowano 12 Marca 2006 Jest taka funkcja isdigit, ale nie pamiętam czy działa na floatach. @edit Jest jeszcze takie coś: http://www.mkssoftware.com/docs/man3/isalpha.3.asp Dzięki za zainteresowanie. Tylko że jest mały problem, ja jestem bardzo słaby w programowaniu i nie bardzo wiem jak skorzystać z twojej porady. Jest może ktoś na forum , kto wie jak to dokładnie trzeba zrobić ?? Z góry dzięki. Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
Mujahideen Opublikowano 15 Marca 2006 Zgłoś Opublikowano 15 Marca 2006 Muszę pobrać z klawiatury flota, który następnie jest wstawiany do wzoru. Wiesz może co zrobić, aby ustrzec się przed wprowadzeniem przez użytkownika ciągu liter zamiast cyfr, bo jak wprowadzi się te litery i wstawi do wzoru to się wali. (...) Trzeba tu dodać jakąś pętle która w razie gdy podamy jako „pobrana” litere, bądź ciąg znaków inny niż cyfry, nakaże użytkownikowi ponowne wprowadzenie liczby. Ja bym pyknął tak: #include <iostream.h>#include <conio.h>int main(int argc, char* argv[]){ float wynik,pobrana; int info; do { cout<<"\n Podaj liczbe typu float: "; info=scanf("%f",&pobrana); fflush(stdin); } while(info==0); wynik=pobrana*1.000002232; cout<<"\n\n "<<wynik<<endl; getch(); return 0;}Funkcja scanf zwraca wartość 0 (fałsz) jeśli coś nietenteges :) Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...