C++ kod çalışmıyor

MasterCayci

Hectopat
Katılım
27 Temmuz 2020
Mesajlar
98
Çö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.
 

Geri
Yukarı