Neler Yeni

Çözüldü✓ c++ da switch case ve if else hatası

Katılım
27 Mart 2020
Mesajlar
12
Dahası  
Reaksiyon skoru
3
Yaş
23
İsim
Hüseyin Serhat İzmirli
C++ da temel bir kütüphane otomasyon sistemi yapmaya çalışıyorum fakat kodumdaki "islemnum" değişkenini switch case yapısında yaparsam koşullar sağlandığı zaman sadece ilk case yapısı doğru çalışıyor , diğerlerine gireceği zaman herhangi bir değer atamama izin vermeden kodu bitiriyor. Switch case kısmı yerine if else yapısını yaptım fakat yine aynı şekilde yanlış çalışıyor.












#include <iostream>
#include <fstream>
#include <string>
#include <conio.h>

using namespace std;

class ogrenci{
public:
string ogrisim,ogrnum,tarih;
ogrenci(){
cout<<"isminizi giriniz:(ingilizce karekterler ile)";
getline(cin,ogrisim);
cout<<"\nogrenci numarinizi girin:";
cin>>ogrnum;
cout<<"\ntarihi giriniz:";
cin>>tarih;
};
};


class islemler : public ogrenci{
public:
islemler(){
int found=0,found1=0,found3=0,islemnum;
string kitapisim,satir,isimbulma;
cout<<"1-kitap alma islemi\n2-kitap iade islemi\n3-kitap bagıslama islemi";
cout<<"Yapmak istediginiz islemin numarasini giriniz:";
cin>>islemnum;



if(islemnum==1){




cout<<"kitabin ismini giriniz:(ingilizce karekterler ile)";
cin>>kitapisim;
ifstream oku;
oku.open("kutuphane.txt");
while(getline(oku,satir)){
if(kitapisim.compare(satir)==0){
found1=1;
break;
}
};
oku.close();
if(found1=1){
cout<<"bulundu"<<endl;
ofstream yaz;
yaz.open("ogrenci.txt",ios::app);
yaz<< ogrisim << " " << ogrnum << " " << tarih << " " << kitapisim << " alindi" <<endl;
yaz.close();
}
else{
cout<<"bulunmadi"<<endl;
};}




else if(islemnum==2){

cout <<"kitabin ismini giriniz(ingilizce karekterler ile):";
getline(cin,kitapisim);
isimbulma = (ogrisim + " " + ogrnum + " " + tarih + " " + kitapisim + " alindi");

ifstream okum;
okum.open("ogrenci.txt");
while(getline(okum,satir)){
if(isimbulma.compare(satir) ==0){
ofstream yaz;
yaz.open("ogrenci.txt",ios::app);
yaz<<" - iade edildi"<<endl;
yaz.close();
cout<<"islem basariyla tamamlandi.";
found=1;
break;
}
else{
}};
okum.close();
try{
if(found==0){
throw "islem basarisiz.";
}}
catch(const char* a){
cout<<a<<endl;
}}


else if(islemnum==3){




cout <<"kitabin ismini giriniz(ingilizce karekterler ile):";
getline(cin,kitapisim);
ifstream okuma;
okuma.open("kutuphane.txt");
while(getline(okuma,satir)){
if(kitapisim.compare(satir)==0){
found3=1;
}
else{
}};
okuma.close();
if(found3==1){
cout << "kitap kutuphanemizde mevcut."<<endl;
}
else{
ofstream yaz;
yaz.open("kutuphane.txt",ios::app);
yaz<< kitapisim << endl;
yaz.close();
cout<<"islem basariyla tamamlandi."<<endl;
}}

else{
cout<<"error."<<endl;
}


}};




int main(){

islemler();
return 0;
}
 
Yeni mesajlar Yeni Konu Aç      

SON KONULAR

Forum istatistikleri

Konular
909,421
Mesajlar
8,324,591
Üyeler
141,136
Son üye
baranselem
Top Bottom