C++ kod çalışmıyor

MasterCayci

Hectopat
Katılım
27 Temmuz 2020
Mesajlar
101
Çözümler
1
Merhaba arkadaşlar. Yeni yeni C++ öğrenmeye başladım. Size bir sorum var:
Kod:
#Include <iOStream>
Using namespace std;
İnt main(){
Int i=1;
While(i>100){
Cout<<"i"<<endl;
I++;
}
}
Bu kod neden çalışmıyor?
 
Metin olarak yazmanıza ve üstüne yazım denetimi kullanmanıza atmıştır o üzgünü.

Hatalarını tek tek yazıyorum.
  1. Kod paylaşırken yazım denedimi kullanmak.
  2. Kodu nasıl kopyaladın bilmiyorum ama girintiler yok. Kod şeklinde paylaşmanın bir anlamı kalmıyor bu sayede.
  3. C++ kullanıyorsun. Biraz yeni şeyleri öğren. Güncel kaynaktan öğren. 2 kod paylaşacağım. İlki eski, ikincisi yeni olacak.
  4. i > 100 demişsin. i başta 100 olmadığı için hiçbir zaman o while döngüsüne girmeyecek.
  5. i++ kullanıyorsan yazdırırken kullan, gerek yok tekrar satır yazmaya.
  6. i'yi tırnak içinde yazarsan i değişkeni değil, i metni olur, i harfi olur. Senin kodun sürekli i harfini yazdırıyor.
  7. return 0; yok. Adettendir ve güzeldir. Kullan. void main yapabilirsin ama yapma. 1 satır fazla yazıp sıfır ile çıktığını görmek güzel. Başka durumlarda return -1; falan dersin. Hangisinden çıktığını görürsün falan.
  8. Boşluk bırak. Spagetti kod yazma.
Şimdilik aklıma gelenler bunlar.
Şimdi, dediğim gibi önce kötü kod, sonra daha güzel olan kod.

Kod:
#include <iostream>

using namespace std;

int main() {
    int i = 0;

    while (i > 100) {
        cout << i << endl;
        i++;
    }

    return 0;
}

i < 100 olarak değiştirdim.
i++'yı taşıdım. Hatta ++i yapılması daha iyi olur. Belki compiler bunu kendisi hallediyordur ama sizin yapmanızda bir sakınca yok. Sonuçta bence [1, 100] aralığını istiyorsunuz gibi.

Kod:
#include <iostream>

using namespace std;

int main() {
    auto i{ 0 };

    while (i < 100)
        cout << ++i << endl;

    return 0;
}
 
Ben girintili yazmıştım lakin forumdan dolayı olmamış. Sorunum koşul sağlayamamak. IDE olarak Dev C++ kullanıyorum. Bir de konu olarak arrays'daydim, for döngüsünde anladım hatamı. İyi forumlar.

Metin olarak yazmanıza ve üstüne yazım denetimi kullanmanıza atmıştır o üzgünü.

Hatalarını tek tek yazıyorum.
  1. Kod paylaşırken yazım denedimi kullanmak.
  2. Kodu nasıl kopyaladın bilmiyorum ama girintiler yok. Kod şeklinde paylaşmanın bir anlamı kalmıyor bu sayede.
  3. C++ kullanıyorsun. Biraz yeni şeyleri öğren. Güncel kaynaktan öğren. 2 kod paylaşacağım. İlki eski, ikincisi yeni olacak.
  4. I > 100 demişsin. İ başta 100 olmadığı için hiçbir zaman o while döngüsüne girmeyecek.
  5. I++ kullanıyorsan yazdırırken kullan, gerek yok tekrar satır yazmaya.
  6. I'yi tırnak içinde yazarsan i değişkeni değil, i metni olur, i harfi olur. Senin kodun sürekli i harfini yazdırıyor.
  7. return 0; yok. Adettendir ve güzeldir. Kullan. Void main yapabilirsin ama yapma. 1 satır fazla yazıp sıfır ile çıktığını görmek güzel. Başka durumlarda return -1; falan dersin. Hangisinden çıktığını görürsün falan.
  8. Boşluk bırak. Spagetti kod yazma.
Şimdilik aklıma gelenler bunlar.
Şimdi, dediğim gibi önce kötü kod, sonra daha güzel olan kod.

Kod:
#include <iostream>

using namespace std;

int main() {
int i = 0;

while (i > 100) {
cout << i << endl;
i++;
}

return 0;
}

İ < 100 olarak değiştirdim.
İ++'yı taşıdım. Hatta ++i yapılması daha iyi olur. Belki compiler bunu kendisi hallediyordur ama sizin yapmanızda bir sakınca yok. Sonuçta bence [1, 100] aralığını istiyorsunuz gibi.

Kod:
#include <iostream>

using namespace std;

int main() {
auto i{ 0 };

while (i < 100)
cout << ++i << endl;

return 0;
}
 
Merhaba arkadaşlar. Yeni yeni C++ öğrenmeye başladım. Size bir sorum var:
Kod:
#Include <iOStream>
Using namespace std;
İnt main(){
Int i=1;
While(i>100){
Cout<<"i"<<endl;
I++;
}
}
Bu kod neden çalışmıyor?
Moderatör hocamın da yazdığı gibi bir sürü sorun var orada. Ama en önemlisi bence I ile i'nin farklı olması. C++ büyük harfe duyarlı bir dildir. I ile i aynı değişkenler değiller.
 
Uyarı! Bu konu 5 yıl önce açıldı.
Muhtemelen daha fazla tartışma gerekli değildir ki bu durumda yeni bir konu başlatmayı öneririz. Eğer yine de cevabınızın gerekli olduğunu düşünüyorsanız buna rağmen cevap verebilirsiniz.

Technopat Haberler

Yeni konular

Geri
Yukarı