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

maly problem z oblsuga klawy

Ostatnio zmodyfikowano 2009-01-20 10:41
Autor Wiadomość
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 :)
C/C++
#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 );
}
P-3717
DejaVu
» 2009-01-18 22:38:47
Nie, ponieważ nadal używasz strumieni. Jeśli znak z przedziału <32, 127> to napis+=znak;
P-3722
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
C/C++
#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 );
}
P-3761
DejaVu
» 2009-01-19 21:22:02
Nie, ponieważ nadal używasz strumieni. (...)
Jak wyżej.
P-3765
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:/
P-3766
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:
C/C++
#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;
}
P-3792
1 « 2 »
Poprzednia strona Strona 2 z 2