Twój problem polega na złym warunku w pętli for.
Zapis: for(litera; ilosc; litera++, ilosc++)
oznacza, że pętla będzie się wykonywać dopóki zmienna [ilosc] jest różna od zera, a za każdym jej obejściem będzie inkrementować zmienne [litera] i [ilosc]. Poza tym drugi if jest niepotrzebny, a liczba wprowadzana powinna być nową zmienną, która zostanie dodana do zmiennej [ilosc]. Aktualnie zamiast tego modyfikujesz bezpośrednio zmienną [ilosc] przez co by program działał poprawnie musiałbyś wpisać, nie ile jeszcze byś chciał wypisać liter, a do której litery chciałbyś wypisywać.
Poprawiony kod:
#include <iostream>
using namespace std;
int main()
{
int ilosc = 6;
char litera = 'A';
//for(; ilosc; litera++, ilosc++)
for(; litera<'A'+ilosc; litera++)
{
cout << litera;
if(litera=='F') //Jeżeli chcesz mieć tutaj mimo wszystko warunek z liczbą to wystarczy zmienić to na: if(litera=='A'+5), jednak to rozwiązanie wydaje mi się lepsze
{
cout << "\n Tu zmienna ilosc ma wartosc: " << ilosc;
cout << "\nIle liter jeszcze wypisac: ";
int temp; //Ta zmienna jest potrzebna by dodać ją do zmiennej [ilosc] (zakres jest zwiększany, a nie ustawiany na nowo)
cin >> temp;
ilosc+=temp;
}
}
}