Problem z pętlą do while, program wyłącza się

0

Witam, drobny kłopot z zadaniem. Program ma na końcu spytać użytkownika czy ma się wykonać od początku.
O to kod programu:

#include "stdafx.h"
#include <stdlib.h>
#include <conio.h>
#include <time.h>

int main()
{
	int a;
	int b;
	int c;
	int f;
	int g;
	int h;
	int d = 0;
	char e;
	srand(time(0));
	do {
		
		printf("podaj ile liczb chcesz wyswietlic: ");

printf("Czy uruchomic program ponownie? T- tak");
		scanf_s("%c", &e);
	} while (e == 't' || e == 'T');
	_getch();
    return 0;
}

W środku usunąłem część kodu, ponieważ jest zbędna, a jest tam głównie zbiór scanfów i pętl, a wydaje mi się że nie jest to potrzebne :)

W obecnym stanie program zatrzymuje się na zdaniu "Czy uruchomic program ponownie? T- tak" i wciśnięcie jakiegokolwiek klawisza powoduje wyłączenie programu. A ma to wyglądać tak, że jak nacisnę T to wtedy to co jest w pętli wykonuje się ponownie. Dodam że używam Visual Studio 2015

0

Jak wciśniesz T, to potem pewnie wciskasz enter. Więc pętla obraca jeszcze raz, z wejścia standardowego wczytuje znak nowej linii, widzi, że jest on różny zarówno od t jak i od T, i się kończy.

0

Czyli tak jakby odbierany jest t(enter) zamaist t? W takim razie co powinienem zrobić?

0

Użyj getch zamiast scanf. e = getch();

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