aslında dedigin gibi de yaptım ama bir türlü hata verince bu şekile döndümİlk hatan fonksiyonların tanımlaması dönen sonuç void değildir. Fonksiyonları double olarak tanımlamalısın.
void topla(double s1,double s2)
{
cout << endl << s1 << s2 << "=" << topla (s1, s2) << endl << endl;
}
burada işlem yaptırmamışsın. topla(s1,s2) ile yine fonksiyon çağırmaya çalışmışsın.
1 .sourum daha var hocam ben buna aynı programda sayaç eklemek istiyorum o da fonsiyonla olacak büyük sayıdan küçük sayıya
aslında dedigin gibi de yaptım ama bir türlü hata verince bu şekile döndüm
ben birde aynı programda büyükten küçüge dogr usayaç yapmak istesem fonk siyonla nasıl olacak acaba aynı programa yazmak için
#include<iostream>
#include<stdlib.h>
using namespace std;
double fCalculate(double s1,double s2,int iOperation)
{
switch(iOperation)
{
case 1:
return s1+s2;
break;
case 2:
return s1-s2;
break;
case 3:
return s1*s2;
break;
case 4:
return s1/s2;
break;
}
}
int main()
{
setlocale(LC_ALL,"Turkish"); //Türkçe karakter
double s1,s2, dResult;
int iOperation;
while(true)
{
cout<<"||=====================||"<< endl;
cout<<"1-) Toplama"<< endl;
cout<<"2-) Çıkarma"<< endl;
cout<<"3-) Çarpma"<< endl;
cout<<"4-) Bölme"<< endl;
cout<<"||=====================||"<< endl;
cout<<"Lütfen yapmak istediğiniz işlemi seçiniz:";
cin>>iOperation;
if (iOperation >= 1 && iOperation <= 4)
{
cout<<"Sayı 1 : ";
cin>>s1;
cout<<"Sayı 2 : ";
cin>>s2;
dResult = fCalculate(s1,s2,iOperation);
cout<<"İşlem sonucunuz: "<<dResult<<endl;
}
else
{
string sOpenReq;
cout<<"Yanlış işlem seçtiniz"<< endl;
cout<<"Tekrar işlem yapmak istiyor musunuz? (E/H): ";
cin>>sOpenReq;
if (sOpenReq=="E")
{
continue;
}
else
{
break;
}
}
}
}
#include <iostream>
using namespace std;
void selam (); // fonksiyonu tanımladık
double topla (double s1,double s2) // void kullanırsan geri değer döndürmez, fonksiyon geri değer döndüreceği için double veri tipini kullanacağız
{
return s1+s2; // fonksiyonun return edeceği değer
}
double cikar (double s1,double s2)
{
return s1-s2; // fonksiyonun return edeceği değer
} // fonksiyonu tanımladık
double carp (double s1,double s2)
{
return s1*s2; // fonksiyonun return edeceği değer
}
double bol (double s1,double s2)
{
return s1/s2; // fonksiyonun return edeceği değer
}
int main ()
{
double s1, s2, dResult;
char islem;
//cout<< "iki sayi giriniz:" ; // Ayrı olarak alman daha kullanışlı olur
cout<< "Sayı 1: " ;
cin >> s1;
cout<< "Sayı 2: " ;
cin >> s2;
cout<<" Lütfen yapmak istediğiniz işlemi seçiniz (+, -, *, /): ";
cin >> islem;
//topla (s1,s2) ;
//cikar (s1,s2) ;
//carp (s1 ,s2); // burada fonksiyonları çağırmana gerek yok
//bol (s1 ,s2 ) ;
switch(islem){
case '+': // Toplama
//cout << endl << s1 << s2 << "=" << topla (s1, s2) << endl << endl; // endl = satırı sonlandırmanı sağlar. Yani bu satırda işim bitti bir alt satıra geç demek.
dResult = topla(s1,s2);
cout << "İşlem sonucunuz : " << dResult << endl;
break;
case '-': // Çıkarma
//cout << endl << s1 << s2 << "=" << cikar (s1, s2) << endl << endl;
dResult = cikar(s1,s2);
cout << "İşlem sonucunuz : " << dResult << endl;
break;
case '*': // Çarpma
//cout << endl << s1 << s2 << "=" << carp(s1, s2) << endl << endl;
dResult = carp(s1,s2);
cout << "İşlem sonucunuz : " << dResult << endl;
break;
case '/': // Bölme
//cout << endl << s1 << s2 << "=" <<bol(s1, s2) << endl << endl;
dResult = bol(s1,s2);
cout << "İşlem sonucunuz : " << dResult << endl;
break;
default:
cout << "Yanlıs islem girisi yapildi! Yeniden deneyiniz." << endl;
}
}
void selam (){
cout << "SELAM DUNYALİ:"<< endl ;
}
/*
void topla(double s1,double s2)
{
cout << endl << s1 << s2 << "=" << topla (s1, s2) << endl << endl;
}
void cikar (double s1 ,double s2) ;
{
cout << endl << s1 << s2 << "=" << cikar (s1, s2) << endl << endl;
}
void carp (double s1 ,double s2) ;
{
cout << endl << s1 << s2 << "=" << carp (s1, s2) << < endl << endl;
}
void bol (double s1 ,double s2) ;
{
cout << endl << s1 << s2 << "=" <<Bol(s1, s2) << endl << endl;
}*/
#include <iostream>
using namespace std ;
void geriSayac(); // fonksiyon tanımlama
int main(){
geriSayac(); // fonkisyonu cagirma
}
void geriSayac() // fonksiyonun yapacagi isi kodlama
{
for(int i=40 ; i>=30; i--) // 40tan geriye i 30'dan büyük ya da eşit olduğu sürece -1
{
cout << i <<endl;
}
}
Merhabalar, ben de herhangi bir hata yok. Visual Studio kullanıyorum. Dev C++ kullanıyorsanız internetten araştırırsanız kaynaklara erişirsiniz. Ben aşina olmadığım için yanlış bilgilendirmek istemiyorum..acaba hata programdan dolayımı algoritma dogru ama program izin vermiyor
Proje olarak işlem yapıyorsanız , dosya isimlerinde Türkçe karakter kullanmayın. ALİ.cpp olarak değil, ALI.cpp olarak kaydedin.acaba hata programdan dolayımı algoritma dogru ama program izin vermiyor
geri sayactan sonra return 0 ; koydum program çalıştı çok sagol hocam sorularıma baya cevap verdinacaba hata programdan dolayımı algoritma dogru ama program izin vermiyor
C++:#include<iostream> #include<stdlib.h> using namespace std; double fCalculate(double s1,double s2,int iOperation) { switch(iOperation) { case 1: return s1+s2; break; case 2: return s1-s2; break; case 3: return s1*s2; break; case 4: return s1/s2; break; } } int main() { setlocale(LC_ALL,"Turkish"); //Türkçe karakter double s1,s2, dResult; int iOperation; while(true) { cout<<"||=====================||"<< endl; cout<<"1-) Toplama"<< endl; cout<<"2-) Çıkarma"<< endl; cout<<"3-) Çarpma"<< endl; cout<<"4-) Bölme"<< endl; cout<<"||=====================||"<< endl; cout<<"Lütfen yapmak istediğiniz işlemi seçiniz:"; cin>>iOperation; if (iOperation >= 1 && iOperation <= 4) { cout<<"Sayı 1 : "; cin>>s1; cout<<"Sayı 2 : "; cin>>s2; dResult = fCalculate(s1,s2,iOperation); cout<<"İşlem sonucunuz: "<<dResult<<endl; } else { string sOpenReq; cout<<"Yanlış işlem seçtiniz"<< endl; cout<<"Tekrar işlem yapmak istiyor musunuz? (E/H): "; cin>>sOpenReq; if (sOpenReq=="E") { continue; } else { break; } } } }
Merhabalar, kodu güncelledim. Bu şekliyle yanlış işlem girilince de tekrar sormasını sağlamış olduk.
Sizin yazdığınız koddaki görebildiğim hatalı yerlerin yanına comment olarak yazıp atıyorum.
C++:#include <iostream> using namespace std; void selam (); // fonksiyonu tanımladık double topla (double s1,double s2) // void kullanırsan geri değer döndürmez, fonksiyon geri değer döndüreceği için double veri tipini kullanacağız { return s1+s2; // fonksiyonun return edeceği değer } double cikar (double s1,double s2) { return s1-s2; // fonksiyonun return edeceği değer } // fonksiyonu tanımladık double carp (double s1,double s2) { return s1*s2; // fonksiyonun return edeceği değer } double bol (double s1,double s2) { return s1/s2; // fonksiyonun return edeceği değer } int main () { double s1, s2, dResult; char islem; //cout<< "iki sayi giriniz:" ; // Ayrı olarak alman daha kullanışlı olur cout<< "Sayı 1: " ; cin >> s1; cout<< "Sayı 2: " ; cin >> s2; cout<<" Lütfen yapmak istediğiniz işlemi seçiniz (+, -, *, /): "; cin >> islem; //topla (s1,s2) ; //cikar (s1,s2) ; //carp (s1 ,s2); // burada fonksiyonları çağırmana gerek yok //bol (s1 ,s2 ) ; switch(islem){ case '+': // Toplama //cout << endl << s1 << s2 << "=" << topla (s1, s2) << endl << endl; // endl = satırı sonlandırmanı sağlar. Yani bu satırda işim bitti bir alt satıra geç demek. dResult = topla(s1,s2); cout << "İşlem sonucunuz : " << dResult << endl; break; case '-': // Çıkarma //cout << endl << s1 << s2 << "=" << cikar (s1, s2) << endl << endl; dResult = cikar(s1,s2); cout << "İşlem sonucunuz : " << dResult << endl; break; case '*': // Çarpma //cout << endl << s1 << s2 << "=" << carp(s1, s2) << endl << endl; dResult = carp(s1,s2); cout << "İşlem sonucunuz : " << dResult << endl; break; case '/': // Bölme //cout << endl << s1 << s2 << "=" <<bol(s1, s2) << endl << endl; dResult = bol(s1,s2); cout << "İşlem sonucunuz : " << dResult << endl; break; default: cout << "Yanlıs islem girisi yapildi! Yeniden deneyiniz." << endl; } } void selam (){ cout << "SELAM DUNYALİ:"<< endl ; } /* void topla(double s1,double s2) { cout << endl << s1 << s2 << "=" << topla (s1, s2) << endl << endl; } void cikar (double s1 ,double s2) ; { cout << endl << s1 << s2 << "=" << cikar (s1, s2) << endl << endl; } void carp (double s1 ,double s2) ; { cout << endl << s1 << s2 << "=" << carp (s1, s2) << < endl << endl; } void bol (double s1 ,double s2) ; { cout << endl << s1 << s2 << "=" <<Bol(s1, s2) << endl << endl; }*/
We use cookies and similar technologies for the following purposes:
Do you accept cookies and these technologies?
We use cookies and similar technologies for the following purposes:
Do you accept cookies and these technologies?