Visual Studio Konsol Hemen Kapanıyor

nagararcus

Decapat
Katılım
6 Haziran 2021
Mesajlar
201
Makaleler
1
Çözümler
1
Yer
Ege
Daha fazla  
Cinsiyet
Erkek
Meslek
EEM
Merhaba, Visual Studio'da girilen notlara göre harf notunu, geçip geçmediğini gösteren bir program yazdım. C++ dil. Visual Studio'nun terminalini kullanmak basit ama derleyicinin oluşturduğu .exe dosyasını kullandığımda komut yönetici(?) açılıyor. Notları giriyorum ardından bana ortalamayı ve sonucu vereceğinde hemen kapanıyor. Bir scanf veya getch fonksiyonuyla kapatmayı durdurabilirim ama kodun çok fazla çıkışı var. Yani en az 20 yere ekstra fonksiyon eklemem gerekicek. launch.json'dan stopatentry"true" yapıyorum ama bu sefer adım adım çalışıyor.
 
Merhaba, Visual Studio'da girilen notlara göre harf notunu, geçip geçmediğini gösteren bir program yazdım. C++ dil. Visual Studio'nun terminalini kullanmak basit ama derleyicinin oluşturduğu .exe dosyasını kullandığımda komut yönetici(?) açılıyor. Notları giriyorum ardından bana ortalamayı ve sonucu vereceğinde hemen kapanıyor. Bir scanf veya getch fonksiyonuyla kapatmayı durdurabilirim ama kodun çok fazla çıkışı var. Yani en az 20 yere ekstra fonksiyon eklemem gerekicek. launch.json'dan stopatentry"true" yapıyorum ama bu sefer adım adım çalışıyor.
Kodu atar mısın? En sonda bekletmediğin için. Sona en kolay örneğinden bir giriş eklersen kapanmayacaktır.

Şöyle bir şey var, mesela C'de de ekrana bir şey yazdırdıktan sonra çalıştırırsan göremezsin. Bilgisayarlar çok hızlı olduğundan oluşuyor bu sorun.
 
CTRL + F5 yaparsan kapanmadan gösterir.
Malesef olmadı.
Kodu atar mısın? En sonda bekletmediğin için. Sona en kolay örneğinden bir giriş eklersen kapanmayacaktır.

Şöyle bir şey var, mesela C'de de ekrana bir şey yazdırdıktan sonra çalıştırırsan göremezsin. Bilgisayarlar çok hızlı olduğundan oluşuyor bu sorun.
Evet biliyorum. Ama bunun daha kısa bir yolu yok mu? .exe'yi direk olarak kullanılamaz hale getiriyo. Kod ekte.
 

Dosya Ekleri

  • kod.txt
    4,7 KB · Görüntüleme: 177
Ben de system("pause"); yazıyordum C'de. Belki C++'ta da çalışıyordur. Yalnız pause komutunun yalnızca Windows üzerinde çalıştığını unutmayın.
Malesef olmadı.

Evet biliyorum. Ama bunun daha kısa bir yolu yok mu? .exe'yi direk olarak kullanılamaz hale getiriyo. Kod ekte.
@Vavien.'in önerdiği çözüm çalışacaktır.
 
Ben de system("pause"); yazıyordum C'de. Belki C++'ta da çalışıyordur. Yalnız pause komutunun yalnızca Windows üzerinde çalıştığını unutmayın.
Evet duymuştum bunu deniyim.
C++'ta hiç öyle bir sorun yaşamadım. Debug, release, F5, Ctrl + F5 fark etmeksizin konsol açık bekliyor. C#'ta ise Ctrl + F5 yapmayınca beklemiyor. Biraz bakayım.

Şimdilik sonuna std::cin.get(); yaz.
Yapamadım hocam ya. Visual Studio Code kullanıyorum bu arada eksik bilgi vermişim. Kodun bazı yerlerinde uyarı veriyor. Belki onlar yüzündendir, temiz bir kodda tekrar deniyim.
 
.exe'yi kullanılmaz hale falan getirmiyor. .exe'ler zaten öyle olur. Günlük hayatta hangi programın sonsuza kadar açık beklediğini gördün? Arkada neler neler açılıp, işi bitince kendi kendine kapanıyor biliyor musun?

.exe olarak dağıtıp kapanmasın istiyorsan öyle bir mekanizma koyacaksın.
Programı tasarlarken kapanmasın istiyorsan bakacağım.

Şu konuya göz atmanı tavsiye ederim.

Visual Studio Code kullanıyorum bu arada eksik bilgi vermişim. Kodun bazı yerlerinde uyarı veriyor. Belki onlar yüzündendir, temiz bir kodda tekrar deniyim.
VS Code'da öyle bir şey yok zaten. Terminalden açıyorsun veya cins cins işlere giriyorsun. C++ ile kullanmadım ve kullanmayacağım hiç.
Derleyip .exe'yi elle mi açıyorsun? VS Code üzerindeki terminal ile açmayı denedin mi?
 
Evet duymuştum bunu deniyim.

Yapamadım hocam ya. Visual Studio Code kullanıyorum bu arada eksik bilgi vermişim. Kodun bazı yerlerinde uyarı veriyor. Belki onlar yüzündendir, temiz bir kodda tekrar deniyim.
namespace std kullanıyorsan std::cin.get(); yerine cin.get() yazman yeterli. Bunu yazmanın sebebi, ana fonksiyonun hemen return etmeden senden input beklemesi. Eğer yine olmazsa compile ettiğin .exe dosyasını CMD üzerinden aç. Onu da, .exe dosyasıyla aynı dizine geçip, dosya_ismi.exe şeklinde çalıştırabilirsin.
 
.exe'yi kullanılmaz hale falan getirmiyor. .exe'ler zaten öyle olur. Günlük hayatta hangi programın sonsuza kadar açık beklediğini gördün? Arkada neler neler açılıp, işi bitince kendi kendine kapanıyor biliyor musun?

.exe olarak dağıtıp kapanmasın istiyorsan öyle bir mekanizma koyacaksın.
Programı tasarlarken kapanmasın istiyorsan bakacağım.

Şu konuya göz atmanı tavsiye ederim.


VS Code'da öyle bir şey yok zaten. Terminalden açıyorsun veya cins cins işlere giriyorsun. C++ ile kullanmadım ve kullanmayacağım hiç.
Derleyip .exe'yi elle mi açıyorsun? VS Code üzerindeki terminal ile açmayı denedin mi?
VS Code üzerinden terminal ile açınca sıkıntı yok.
 

Geri
Yukarı