Şimdi Ara

C++ basit program, bir hata alıyorum

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
2 Misafir - 2 Masaüstü
5 sn
6
Cevap
1
Favori
3.693
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
0 oy
Öne Çıkar
Sayfa: 1
Giriş
Mesaj
  • #include "stdafx.h"
    #include <iostream>
    using namespace std;



    int main()
    {
    int a, b,c;
    cout << "İki sayı";
    cin >> a >> b;
    c = sum ( a, b);
    cout << "Total: " << c;
    system("pause");
    return 0;
    }

    int sum ( int a, int b){
    return a+b;
    }

    Arkadaşlar kod bu. Kodda bir hata var mı? Aslında aldığım hata alakasız sistem programın dosyasını bulamıyor diyor, derleyiciyle ilgili de olabilir problem. Visual Studio 2010 kullanıyorum.



  • Dev C++ 'da da hata alıyorum aynı kodda arkadaşlar
  • Dev-c++ ta stdafx.h diye bir başlık yok, onu silmen gerek. Visual studio içinse <stdafx.h> olarak yazmayı dene.

    Birde ortak bir hata var ki, sum fonksiyonunun prototipi yok. main in üstüne ya prototipi yazacaksın ki şöyle: sum(int, int);
    ya da fonksiyonun kendisini.

    Birde sonradan gördüm. system("pause") için <cstdlib> eklemen gerek.



    < Bu mesaj bu kişi tarafından değiştirildi Guest-BF8E9B238 -- 11 Temmuz 2011; 19:26:00 >
  • Hocam teşekkür ederim program şu an çalıştı, benim anlamadığım nokta neden prototip diye bir şey var. Örneğin prototip için şunu yazıyoruz;

    int sum(int a, int b);

    Daha sonra aşşağıda fonksiyonu tanımlarken şu şekilde kodluyoruz;

    int sum ( int a, int b){
    return a+b;
    }

    Yani prototipte verdiğimiz bilgiyi metodu tanımlarken de aynen veriyoruz, bunu gerektiren şey nedir? Javada böyle bir şey yoktu, o yüzden merak ettim bende
  • C++ ile yazdığın bir kod derlenirken yukarıdan aşağıya doğru satır satır derlenir. Eğer bir fonksiyonu kullanmadan önce tanımlamazsan derleyici o fonksiyona geldiğinde o fonksiyonu "link" edecek birşey bulamaz. Kullanmadan önce tanımlamalısın. Veya kullanmadan önce fonksiyonu yazmalısın.

     
    int sum(int, int);
    ...
    ...
    int main()
    {
    ...
    a = sum(b,c);
    ...
    }

    int sum(int a, int b)
    {
    return a+b;
    }


     
    int sum(int a, int b)
    {
    return a+b;
    }
    ...
    ...
    int main()
    {
    ...
    a = sum(b,c);
    ...
    }

    İkisi de geçerlidir.
  • @qamyoncu

    Çok sağol
  • Yapay Zeka’dan İlgili Konular
    C# ve Php aynı anda gider mi ?
    12 yıl önce açıldı
    Daha Fazla Göster
    
Sayfa: 1
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.