• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Program po wczytaniu łańcucha znaków nie czeka na wciśnięcie klawisza

Object Storage Arubacloud
0 głosów
733 wizyt
pytanie zadane 22 września 2016 w C i C++ przez Sidzej Użytkownik (850 p.)

Mam problem z poniższym programem.

#include "stdafx.h"
#include <iostream>
#include <string>



using namespace std;


int main()
{
	int i;
	char ch;
	string str;

	while (cin.get(ch) && ch != '@')
		str.push_back(ch);

	cout << endl << str;


	cin.ignore();
	cin.get();
	return 0;
}

Program ma za zadanie wczytywanie ciągu znaków aż do znaku "@" a następnie wyświetlenie tego co wczytal. Niby działa poprawnie, ale problem pojawia się kiedy po wpisaniu "@" wpisze jeszcze inne znaki i dopiero zatwierdzę enterem. Wtedy wykonuje to co ma do wykonania i od razu się wyłącza bez czekania na znak. Próbowałem z cin.sync(), cin.clear(), wstawiać to do pętli itd, ale nic nie działa. Proszę o pomoc.

komentarz 22 września 2016 przez DragonCoder Nałogowiec (36,500 p.)
Tez czekam na ta ksiazke :D, ale jakos nie lubie zadan z ksiazek i wole postawic na kreatywnosc... Teraz pisze sobie male czesci do kalkulatora z matematyki, gdzie da sie obliczyc pola figury, twierdzenie sinusow i cosinusow... wszystko co sie tylko uda mi dodac + fizyka... A w miedzy czasie jeszcze powstaje mala gra... Dzisiaj mialem ksiazke o C++ od samego tworcy jezyka, ale nie stety po niemiecku... CHociaz tam to juz wyzszy poziom. Wszystko zaczyna sie od wlasnych funkcji
komentarz 22 września 2016 przez Sidzej Użytkownik (850 p.)
No to jeszcze nie mój poziom ;] A książka sama w sobie całkiem fajna, dobrze się czyta.
komentarz 23 września 2016 przez DragonCoder Nałogowiec (36,500 p.)
Czy nie twoj poziom to nie tak do konca, bo to iczy jednak juz od poczatku uzywania wlasnych funkcji a to raczej dobre ptzyzwyczajenie
komentarz 25 stycznia 2017 przez bartolinciu Dyskutant (7,580 p.)
Stringa można zapisać jako tablicę. Metoda std::string.c_str() zwraca adres bezpośrednio na tablicę charów "zawartą" w zmiennej string.
komentarz 25 stycznia 2017 przez bartolinciu Dyskutant (7,580 p.)
Bez własnych funkcji w programowaniu daleko nie zajedziesz :)

1 odpowiedź

+1 głos
odpowiedź 25 stycznia 2017 przez bartolinciu Dyskutant (7,580 p.)
Zamiast całej tej pętli użyj funkcji getline i po kłopocie:)

Podobne pytania

0 głosów
2 odpowiedzi 454 wizyt
0 głosów
1 odpowiedź 1,950 wizyt
pytanie zadane 3 grudnia 2015 w C i C++ przez Kaydan Początkujący (260 p.)
0 głosów
1 odpowiedź 530 wizyt
pytanie zadane 12 czerwca 2018 w C i C++ przez Agnes Użytkownik (990 p.)

92,579 zapytań

141,432 odpowiedzi

319,664 komentarzy

61,964 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...