mozna po "cin" ustawic wartosc domyslna?

2011-02-20 17:01
0

jest jakas komenda ktora po cin wczyta mi enter?
podam na przykladzie potegi:
wczytuje podstawe potegi i drugi raz wczytuje wykladnik, i chcialbym zrobic tak ze jak za drogim razem nic nie wczytam -tylko nacisne enter- i zeby mi przyjelo do kwadratu

 int potega, wykladnik,wynik=1;

cin>>potega;
cin>>wykladnik;            //w tym miejscu chcialbym zrobic takie cos ze nic nie podam
                                 //tylko nacisne enter to wykladnik przyjmnie mi wartos 2

for(int i=0;i<wykladnik;i++)
{wynik=wynik*potega;
}

cout<<potega<<"^"<<wykladnik<<"="<<wynik;

jest taka koenda ktora wczytuje enter albo jakas metoda inna ktora tak zadziala?

edytowany 1x, ostatnio: madmike, 2011-02-25 18:58

Pozostało 580 znaków

2011-02-20 17:03
0

Nie, ale wystarczy zrobić własny cin (latwe)


Pozostało 580 znaków

2011-02-20 17:04
0
if(!(cin>>wylkladnik)) wykladnik = 2;

Chyba zadziała.

Pozostało 580 znaków

2011-02-20 17:19
0

chyba nie o to mi chodzilo..
po cin chcialbym nic nie wpisywac, tylko nacisne enter i zeby mi wczytalo jakas wartos domyslna..
w tym przypadku 2..

Pozostało 580 znaków

2011-02-20 17:26
0

poczytaj o wskażnikach domiemanych gdzieś w symfoni C++ standard była mowa o czymś takim jak domniemanie

Wskaźnikach jakich? - deus 2011-02-20 18:32
1. Nie wskaźniki a argumenty funkcji 2. Nijak tu nie pasują... - Shalom 2011-02-21 08:54

Pozostało 580 znaków

2011-02-20 17:29
0

czytaj getline'm do stringa, jeślo pusty, podstaw 2, jeśli nie, to skonwertuj do liczby

Pozostało 580 znaków

2011-02-20 17:50
0

ale jak po cin nacisne enter to tylko kursor przechodzi do nowej lini i tak ciagle az podam jakas wartosc.. a chodzi mi o to ze nic nie podaje tylko wale enter i liczy mi do kwadratu..
wartoscia domniemana raczej nie mozna tak zrobic a getline nie wiem jak..
trzeba wczytac bialy znak(enter) i nie mam pojecia jak.. nie ma jakiejs komendy na to?

albo jakas wartossc ktora odpowiada "eterowi", "niczemu" badz "bialemu znaku" czy cos podobnemu..


  if(cin>>wykladnik==   //"enter"  )      //jest cos co odpowiada enterowi?
   wykladnik = 2 ; 
edytowany 1x, ostatnio: karol_cpp, 2011-02-20 17:56

Pozostało 580 znaków

2011-02-20 18:07
0

Nie da rady z cin'em. Zrób własny cin(na np. getch())


Pozostało 580 znaków

2011-02-20 18:19
0

nie wiem o co chodzi,
moglbys prosic o kod?

Pozostało 580 znaków

2011-02-20 19:57
0

Trochę długo by się robiło tą funkcję cin, a rozumiem, że niezbyt umiesz klasy więc ci nie przedstawie :/. Ale chodzi o to:
int Cin(int Domyslne = -199)

  • Ustawiasz pozycję kursora.
  • Robisz tablicę z pokazywanymi elementami i jeśli Domyslne != -199, wypelniasz go domyślnymi cyframi.
  • W tablicy ustawiasz kursor
  • Pętla:
    • Pobierasz znak:
      • Jeśli to \n, zatrzymujesz pętle.
      • Jeśli to inny znak niż cyfra, a to nie strzałki ani backspace, zatrzymujesz pętle.
      • Jeśli to są strzałki, zmieniasz pozycję kursora i pozycję jego w tablicy.
      • Jeśli to jest backspace, kasujesz znak przed kursorem i wszystko od kursora łącznie przesuwasz w lewo.
      • Jeśli to cyfra, wszystko, od kursora łącznie przesuwasz w prawo, w wolne miejsce dajesz cyfrę.
    • Kasujesz to co na ekranie.
    • Wyświetlasz tablicę
      • Koniec pętli.
      • Kasujesz kursor i przerwę po nim.
      • Tablicę zmieniasz z atoi na int'a.
      • Zwracasz tablicę.
        Koniec funkcji.
        Wywoływałbyś ją tak: int Zmienna_Do_Wczytania = Cin(Domyslna_wartosc);
        PS. Wersja z getlinem mniej skomplikowana.

edytowany 1x, ostatnio: Macron, 2011-02-20 20:13

Pozostało 580 znaków

2011-02-20 20:41
qqqq
0

a wersja z getline jakby wygladala?

Pozostało 580 znaków

Liczba odpowiedzi na stronę

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0