Jak wczytać zmienną?

Jak wczytać zmienną?
LU
  • Rejestracja:ponad 11 lat
  • Ostatnio:ponad 11 lat
  • Postów:6
0

Witam.Jestem nowy...W szkole uczylem sie o wczytywaniu zmiennych za pomocą cin>>(konsola)
jak zrobic aby wczytać zmienną ale bez konieczności naciskania enter?

2 problem jest taki iż:

Kopiuj
 //---------------------------------------------------------------------------
#include <conio.h>
#include <iostream>
#include <vcl.h>
#include <windows.h>
#pragma hdrstop
#include <stdlib.h>
#include <stdio.h>

//---------------------------------------------------------------------------

#pragma argsused
int main(int argc, char* argv[])
{
float a;

cout<<"Hello World"<<endl;



getch();


        return 0;
}
//---------------------------------------------------------------------------

Okno od razu się zamyka tyle razy korzystałem z getcha i to mi się nie zdazalo a teraz probowalem system pause,cin.get i nic!
mam dev c++ builder 6 co robic :(?

SI
  • Rejestracja:prawie 14 lat
  • Ostatnio:około 6 godzin
0

Daj sobie spokój z DEV-em , i zainstaluje np Code::blocks. Tam okienko konsoli zostaje "utrzymane" po zakończeniu programu, aż wciśniesz enter.

LU
  • Rejestracja:ponad 11 lat
  • Ostatnio:ponad 11 lat
  • Postów:6
0

Gdzie nie spojrze to odpowiedzi które chwalą jakieś srodowisko :( na tym czyms sie ucze w sql i chce zdac klase mozesz mi powiedziec jak?

Shalom
  • Rejestracja:około 21 lat
  • Ostatnio:około 3 lata
  • Lokalizacja:Space: the final frontier
  • Postów:26433
0

Ale co to za bzdury w ogóle?

dev c++ builder 6

NIE MA czegoś takiego. Patrząc na kod zgaduje że to jednak Borland C++ Builder (bo vcl.h). Napisz konkretnie co się dzieje i jaki jest problem bo kod który wstawiłeś nic nie robi przecież ...


"Nie brookliński most, ale przemienić w jasny, nowy dzień najsmutniejszą noc - to jest dopiero coś!"
LU
  • Rejestracja:ponad 11 lat
  • Ostatnio:ponad 11 lat
  • Postów:6
0

Chce gdy nacisne np strzalke w lewo to pobrala mi sie zmienna od razu a potem w gotoxy zeby mi przemiescilo kursor

gabr
  • Rejestracja:ponad 12 lat
  • Ostatnio:prawie 7 lat
  • Lokalizacja:Śląsk
  • Postów:9
3

Możesz to osiągnąć magiczną funkcją getch(), której używasz do zatrzymania programu.
Przykład użycia:

Kopiuj
#include <stdio.h>
#include <conio.h>

int main()
{
    int c;
    puts("Enter text. Include a dot ('.') in a sentence to exit:");
    do
    {
        c = getch();          // w visual studio musiałbyś napisać: _getch()
        putchar(c);
    } while (c != '.');
    return 0;
}

Ostrzegam cię jednak, że nie znajdziesz getch() we wszystkich kompilatorach i na pewno nie w linuksowym gcc. Ale z tego co wiem nie da się jej zastąpić używając std::cin, a ręczne stworzenie getch() wymaga trochę trudniejszego kodu, zewnętrznej biblioteki lub asemblerowej wstawki.
Jak chcesz sprawdzić czy użytkownik klikną strzałkę, czy inny klawisz, który nie jest znakiem, musisz rzutować zmienną na typ int i sprawdzić jej wartość.

Kopiuj
c = getch();
if( (int) c == /* tutaj numer odpowiadający klawiszowi */ )

Numery klawiszy możesz sobie sam sprawdzić po prostu wyświetlając je w przykładowym programie na ekran, albo poszukaj ich w internecie.

edytowany 3x, ostatnio: gabr
LU
  • Rejestracja:ponad 11 lat
  • Ostatnio:ponad 11 lat
  • Postów:6
0

Nowe pytanka mianowicie jak sprawić ze gdy liczba jest wpisana przez uzytkownika na ekranie (konsoli) na danej pozycji to jak ją zapisać jakby w pamięci ze moge ją znowu umiescic w tym samym miejscu

_13th_Dragon
  • Rejestracja:ponad 19 lat
  • Ostatnio:około 23 godziny
0

gotoxy() np z ncurse.


Wykonuję programy na zamówienie, pisać na Priv.
Asm/C/C++/Pascal/Delphi/Java/C#/PHP/JS oraz inne języki.
LU
  • Rejestracja:ponad 11 lat
  • Ostatnio:ponad 11 lat
  • Postów:6
0

No weź coś wiecej napisz + patrzylem wczoraj pol dnia za gotoxy i probowalem zainstalowac biblioteke Allegro ale skonczylo sie na ty ze 3 razy reinstallowalem program...A teraz korzystam z SetCursorPosition prosze jakas rade albo najlepiej przyklad skladający się chociaż z 2-3 zdań

_13th_Dragon
  • Rejestracja:ponad 19 lat
  • Ostatnio:około 23 godziny
0
Kopiuj
#pragma hdrstop
#include <conio.h>
#include <string.h>
#include <stdlib.h>
#include <stdio.h>
#include <ctype.h>

#pragma argsused
int main(int argc, char* argv[])
  {
   int n=356;
   char buf[20];
   sprintf(buf,"%d",n);
   int p=strlen(buf);
   while(true)
     {
      gotoxy(40,10);
      cprintf("%s \b",buf);
      int x=getch();
      if(!x) x=getch()<<8;
      if(isdigit(x))
        {
         if(p<4)
           {
            buf[p]=x;
            buf[++p]=0;
           }
        }
      else if(x==8)
        {
         if(p) buf[--p]=0;
        }
      else if((x==13)||(x==27))
        {
         n=atoi(buf);
         break;
        }
      else
        {
         gotoxy(1,1);
         cprintf("key %d",x);
        }
     }
   printf("\nWprowadzono %d\n",n);
   getch();
   return 0;
  }

Wykonuję programy na zamówienie, pisać na Priv.
Asm/C/C++/Pascal/Delphi/Java/C#/PHP/JS oraz inne języki.
AP
  • Rejestracja:prawie 12 lat
  • Ostatnio:prawie 2 lata
  • Lokalizacja:Polska
  • Postów:134
0

Czy to cały program? Nie za dużo tych bibliotek dołączyłeś :)


Jestem programistą, web developerem. Interesuję się programowanie w językach C++, C#, TypeScript, Assembly, tworzeniem aplikacji sieciowych w ASP.NET, projektowaniem stron i aplikacji w HTML5, CSS3, XAML, oraz wyszukiwaniem wszelakiego typu luk w zabezpieczeniach aplikacji sieciowych, webowych i nie tylko (XSS, SQL-Injection, CSRF itp.).
_13th_Dragon
A która wg ciebie jest zbędna?
AP
@_13th_Dragon to nie było do twojego kodu tylko do kodu autora tematu :)
0

Zawszę można użyć nielubianego system("pause"); na końcu funkcji main.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.