maly problem z oblsuga klawy
Ostatnio zmodyfikowano 2009-01-20 10:41
wujas Temat założony przez niniejszego użytkownika |
» 2009-01-18 20:23:52 Czy chodzi o coś takiego? nie wiecej to dziala ale jeszcze nad tym popracuje :) #include<iostream> #include<conio.h> #include"console.ddt" using namespace std; using namespace ddt::console; void str1() { cout << "strona 1"; return; } void str2() { cout << "strona 2"; return; } int main() { str1(); bool koniec = false; while( koniec != true ) { string wpis; unsigned int znak = getch(); if(( znak >= 37 ) &&( znak <= 127 ) ) { getline( cin, wpis ); } if( znak = 17 ) { koniec = true; cout << wpis; } } getch(); return( 0 ); }
|
|
DejaVu |
» 2009-01-18 22:38:47 Nie, ponieważ nadal używasz strumieni. Jeśli znak z przedziału <32, 127> to napis+=znak; |
|
wujas Temat założony przez niniejszego użytkownika |
» 2009-01-19 21:04:13 CZy cos takiego? zmienie petle na while dodam backspace klawisz insert i mam nadzieje ze to bedzie dzialac ale chcialbym wiedziec czy w dobrym kierunku ide:P #include<iostream> #include<conio.h> #include"console.ddt" using namespace std; using namespace ddt::console;
int main() { string napis; unsigned int znak = getch(); do { if(( znak >= 37 ) &&( znak <= 127 ) ) { napis += znak; } } while( znak == 17 ); getline( cin, napis ); cout << napis; getch(); return( 0 ); }
|
|
DejaVu |
» 2009-01-19 21:22:02 Nie, ponieważ nadal używasz strumieni. (...) |
Jak wyżej. |
|
wujas Temat założony przez niniejszego użytkownika |
» 2009-01-19 21:26:37 kurcze to niewiem jak inaczej to zrobic :( mysle nad tym trzeci dzień i bardzo bym prosil abys napisal troche kodu ^^ Poprostu niewiem jak zastapic te strumienie:/ |
|
pekfos |
» 2009-01-20 10:41:14 pozwólcie że wtrące swoje 2 grosze: 1.twoja pętla jest nieskończona. odczytujesz wartość znaku tylko przed pętlą. więc jeśli nie wciśniesz od razu klawisza nr 17 to program ci się zawiesi 2.po co to getline? ono wczytuje całą linię a ty chcesz aby można było wyjść z wprowadzania znaków klawiszem insert a getline działa jak cin (musisz potwierdzić) to co już napisałeś powinno wyglądać mniej więcej tak: #include <iostream> #include <conio.h> using namespace std; int main() { unsigned int znak; string zdanie = ""; do { znak = getch(); if(( znak >= 37 ) &&( znak <= 127 ) ) zdanie +=( char ) znak; } while( znak == 17 ); cout << napis; getch(); return 0; } |
|
1 « 2 » |