Arama butonu
Bu konudaki kullanıcılar: 3 misafir, 2 mobil kullanıcı
4171
Cevap
168953
Tıklama
3
Öne Çıkarma
Cevap: C/C++/C# Sorularınız Buraya. . .(GÜNCEL) (60. sayfa)
M
12 yıl
Yarbay

Bravo Erkan konu baya tutmuş bende up yapayım dedim





< Bu mesaj bu kişi tarafından değiştirildi Mr.Alp -- 4 Şubat 2013; 22:50:16 >

< Bu ileti mobil sürüm kullanılarak atıldı >
Bu mesaja 2 cevap geldi.
G
12 yıl
Yüzbaşı

quote:

Orijinalden alıntı: Servius

quote:

Orijinalden alıntı: garui

quote:

Orijinalden alıntı: Servius

#include <iostream> 
#include <conio.h>
using namespace std;
main(){


int a,b;
char c[][80]={"Pazartesi","Sali","Carsamba"};
for (a=0;a<=c[a][0];a++){
cout << "\n";
for(b=0;b<=c[a][b];b++){
cout << c [a][b] << "\n";
}

}
getch();
return 0;



}

Arkadaşlar bu dizideki a[][80]: Bunun anlamı nedir neden böyle yaptık birde ilk for döngsünde c[a][0] yazdık .Bunları açıklayabilicek varmı şimdiden teşekkür ederim.Genel olarak kısa özet geçseniz yeterli 1-2 cümle


char c[3][80]={"Pazartesi","Sali","Carsamba"}; esittir char c[][80]={"Pazartesi","Sali","Carsamba"}; diyebiliriz.

char d[3] = "ab"; esittir char d[] = "ab"; demek gibi.

Matris yapisi kullaniliyor burada.Sadece sen tanimlarken belirtmiyorsun, compiler otomatik olarak islemi gerceklestiriyor diyebiliriz.



c[a][0] yontemini biraz karisik olmus ama soyle diyim ASCII tablosundan yararlanmis(Cok kullanisli bir yontem degil matris boyu 65 ustune dayanirsa hatalar ortaya cikma ihtimali var diye tahmin ediyorum.). P 80(Dec) demektir.ASCII tablosunda [a-zA-Z] 65 -122 arasinda degerlerdedir. c[a][0] matris pozisyonu a=0 iken P karakterini gosterir. 0 <= 80 oldugundan dongu devam edecektir. c[a][0] a=3 iken matris boundry disina cikar ve for dongusu sonlanir.

Çok teşekkür ederim cevabınız için gayet anlaşılır olmuş.

-Şimdi benim anlamadım bir olay var
1- c[a][0] a=3 iken matris boundry disina cikar ve for dongusu sonlanir.--> Bunu anlamadım eğer zahmet olmassa anlatırmınız.
2-Hocam birde 2. forda c[a][ b ] yaptık.burda neden c[0][ b ] yapmadık.

Cahilliğime verin başlayalı çok olmadı daha bazı şeyleri anlamakta güçlük çekiyorum .

- c[a][0] a=3 iken yukarida c[3][0] demek. Iki boyutlu c dizisinde c[3][0] elemani yok. Bu yuzden dongu sonlanacaktir.

c[0][0] == 'P'
c[1][0] == 'S'
c[2][0] == 'C'
c[3][0] ??

- Ic ice for dongusu var orada. c[a][ b ] kullanilinca iki boyutlu dizideki tum elemenlara bu ic ice for dongusu ile ulasilacak. a = 0 iken ikinci for dongusune girilecek ve b degerlerine ulasilacak. Ic ice for dongusune dikkat edersen demek istedigimi anliyacagini dusunuyorum.





< Bu mesaj bu kişi tarafından değiştirildi garui -- 5 Şubat 2013; 10:00:22 >
Bu mesaja 1 cevap geldi.
S
12 yıl
Yüzbaşı

quote:

Orijinalden alıntı: garui

quote:

Orijinalden alıntı: Servius

quote:

Orijinalden alıntı: garui

quote:

Orijinalden alıntı: Servius

#include <iostream> 
#include <conio.h>
using namespace std;
main(){


int a,b;
char c[][80]={"Pazartesi","Sali","Carsamba"};
for (a=0;a<=c[a][0];a++){
cout << "\n";
for(b=0;b<=c[a][b];b++){
cout << c [a][b] << "\n";
}

}
getch();
return 0;



}

Arkadaşlar bu dizideki a[][80]: Bunun anlamı nedir neden böyle yaptık birde ilk for döngsünde c[a][0] yazdık .Bunları açıklayabilicek varmı şimdiden teşekkür ederim.Genel olarak kısa özet geçseniz yeterli 1-2 cümle


char c[3][80]={"Pazartesi","Sali","Carsamba"}; esittir char c[][80]={"Pazartesi","Sali","Carsamba"}; diyebiliriz.

char d[3] = "ab"; esittir char d[] = "ab"; demek gibi.

Matris yapisi kullaniliyor burada.Sadece sen tanimlarken belirtmiyorsun, compiler otomatik olarak islemi gerceklestiriyor diyebiliriz.



c[a][0] yontemini biraz karisik olmus ama soyle diyim ASCII tablosundan yararlanmis(Cok kullanisli bir yontem degil matris boyu 65 ustune dayanirsa hatalar ortaya cikma ihtimali var diye tahmin ediyorum.). P 80(Dec) demektir.ASCII tablosunda [a-zA-Z] 65 -122 arasinda degerlerdedir. c[a][0] matris pozisyonu a=0 iken P karakterini gosterir. 0 <= 80 oldugundan dongu devam edecektir. c[a][0] a=3 iken matris boundry disina cikar ve for dongusu sonlanir.

Çok teşekkür ederim cevabınız için gayet anlaşılır olmuş.

-Şimdi benim anlamadım bir olay var
1- c[a][0] a=3 iken matris boundry disina cikar ve for dongusu sonlanir.--> Bunu anlamadım eğer zahmet olmassa anlatırmınız.
2-Hocam birde 2. forda c[a][ b ] yaptık.burda neden c[0][ b ] yapmadık.

Cahilliğime verin başlayalı çok olmadı daha bazı şeyleri anlamakta güçlük çekiyorum .

- c[a][0] a=3 iken yukarida c[3][0] demek. Iki boyutlu c dizisinde c[3][0] elemani yok. Bu yuzden dongu sonlanacaktir.

c[0][0] == 'P'
c[1][0] == 'S'
c[2][0] == 'C'
c[3][0] ??

- Ic ice for dongusu var orada. c[a][ b ] kullanilinca iki boyutlu dizideki tum elemenlara bu ic ice for dongusu ile ulasilacak. a = 0 iken ikinci for dongusune girilecek ve b degerlerine ulasilacak. Ic ice for dongusune dikkat edersen demek istedigimi anliyacagini dusunuyorum.


Çok teşekkür ederim hocam .Çok makbule geçti saolun.


Bu mesaja 1 cevap geldi.
G
12 yıl
Yarbay

quote:

Orijinalden alıntı: GhilleintheMist

Şuan döngüler, array, pointerlar, classlar,operatorler(clsslardaki operatörler falan) hakkında biraz bilgim var, yani sınırlarını bilmediğim için biliyorum diyemiyorum :) bundan sonra nasıl devam etmeliyim? ilerisi için napcğaımla ilgili hiç bi fikrim yok.

ayrıca birde sorum var;
this pointerı ne işe yarıyor alamadım tam olarak? küçük bi örnek kod falan göstereiblirseniz çok sevinirim

C++ ta dilin sınırı yok gibi. Konsolda biraz daha takılıp Qt e devam edebilirsin.

this in tek kullanım alanı isim karışıklığını önlemek değil. Nesneye adres veya referans döndürmek sıkça yapılan birşey. Mesela cout << a << b << c; şeklinde kullanım *this döndürmekle mümkün olabiliyor.

Ayrıca sen yazmasan bile derleyici otomatik olarak this koyar, üyeler bu şekilde çözümlenir. Sınıflara bağlı static fonksiyonların üyelere erişememesinin sebebi this işaretçisine sahip olmaması.



G
12 yıl
Yüzbaşı

quote:

Orijinalden alıntı: Servius

quote:

Orijinalden alıntı: garui

quote:

Orijinalden alıntı: Servius

quote:

Orijinalden alıntı: garui

quote:

Orijinalden alıntı: Servius

#include <iostream> 
#include <conio.h>
using namespace std;
main(){


int a,b;
char c[][80]={"Pazartesi","Sali","Carsamba"};
for (a=0;a<=c[a][0];a++){
cout << "\n";
for(b=0;b<=c[a][b];b++){
cout << c [a][b] << "\n";
}

}
getch();
return 0;



}

Arkadaşlar bu dizideki a[][80]: Bunun anlamı nedir neden böyle yaptık birde ilk for döngsünde c[a][0] yazdık .Bunları açıklayabilicek varmı şimdiden teşekkür ederim.Genel olarak kısa özet geçseniz yeterli 1-2 cümle


char c[3][80]={"Pazartesi","Sali","Carsamba"}; esittir char c[][80]={"Pazartesi","Sali","Carsamba"}; diyebiliriz.

char d[3] = "ab"; esittir char d[] = "ab"; demek gibi.

Matris yapisi kullaniliyor burada.Sadece sen tanimlarken belirtmiyorsun, compiler otomatik olarak islemi gerceklestiriyor diyebiliriz.



c[a][0] yontemini biraz karisik olmus ama soyle diyim ASCII tablosundan yararlanmis(Cok kullanisli bir yontem degil matris boyu 65 ustune dayanirsa hatalar ortaya cikma ihtimali var diye tahmin ediyorum.). P 80(Dec) demektir.ASCII tablosunda [a-zA-Z] 65 -122 arasinda degerlerdedir. c[a][0] matris pozisyonu a=0 iken P karakterini gosterir. 0 <= 80 oldugundan dongu devam edecektir. c[a][0] a=3 iken matris boundry disina cikar ve for dongusu sonlanir.

Çok teşekkür ederim cevabınız için gayet anlaşılır olmuş.

-Şimdi benim anlamadım bir olay var
1- c[a][0] a=3 iken matris boundry disina cikar ve for dongusu sonlanir.--> Bunu anlamadım eğer zahmet olmassa anlatırmınız.
2-Hocam birde 2. forda c[a][ b ] yaptık.burda neden c[0][ b ] yapmadık.

Cahilliğime verin başlayalı çok olmadı daha bazı şeyleri anlamakta güçlük çekiyorum .

- c[a][0] a=3 iken yukarida c[3][0] demek. Iki boyutlu c dizisinde c[3][0] elemani yok. Bu yuzden dongu sonlanacaktir.

c[0][0] == 'P'
c[1][0] == 'S'
c[2][0] == 'C'
c[3][0] ??

- Ic ice for dongusu var orada. c[a][ b ] kullanilinca iki boyutlu dizideki tum elemenlara bu ic ice for dongusu ile ulasilacak. a = 0 iken ikinci for dongusune girilecek ve b degerlerine ulasilacak. Ic ice for dongusune dikkat edersen demek istedigimi anliyacagini dusunuyorum.


Çok teşekkür ederim hocam .Çok makbule geçti saolun.

Alıntıları Göster
quote:


Çok teşekkür ederim hocam .Çok makbule geçti saolun.

Bu for donguleri cok da guvenli bir yontem degil diyebiliriz. C++ sana c[3][0] tanimli olmasada bir sonuc dondurebilir.

#include <iostream> 

using namespace std;
int main(){

char c[3][5] = { "abc","def","ghi"};

cout << "c[2][1] : " << c[2][1] << endl;
cout << "c[3][1] : " << c[3][1] << endl;

return 0;

}


g++ ile compile ettigimde,

c[2][1] : h 
c[3][1] : 4


Burada 4 dongunun devam edebilecegi anlamina geliyor :) c[3][0] icin sonuc dondurmedi ama c[3][1] icin sonuc donebiliyor. dikkat etmek laizm. Daha iyi yontemler ile bu islemi gerceklestirmek mumkun.

codepad.org compile sonucu

c[2][1] : h 
c[3][1] :


Bu compiler ile dongu devam etmiyecektir.





< Bu mesaj bu kişi tarafından değiştirildi garui -- 5 Şubat 2013; 18:03:45 >
Bu mesaja 1 cevap geldi.
M
12 yıl
Yarbay

merhabalar benim bir otomasyon ödevim var.c sharp görünüm ve sql veri tabanını hallettim.şimdi ikisini birleştirmeye geldi.c shap da ekleme-silme-güncelleme-listeleme işlemlerini yapacağım.aynısını geçen sene access ile yapmıştım ama sql 2008 management stüdyo biraz karışık geldi.access ile kod yazmadan tool box ile bağlantı oluşturup, sadece butonların komutlarını yazıyordum.ama internetten araştırdığım kadarı ile sql de bağlantı kodu yazılıyormuş.bir tane kod buldum ama kendi bilgisayarıma ve veri tabanıma uyarlayamadım.kod aşağıda, şimdi benim ne yapmam lazım???

not:server name:kapadokya\slqexpress

bulduğum kod:

sql connection baglanti = new sqlconnection("server=127.0.0.1;database=kisilistesi;ıntegrated Security=true");

özellikle parantez içi tam olarak ne anlama geliyor?


Bu mesaja 1 cevap geldi.
O
12 yıl
Yüzbaşı

Merhaba arkadaşlar

c# methods (yöntemler) konusundaki döndürme (return) olayını anlayamadım açıklayabilecek var mı acaba ?

yani niye dönüyor sonuç ? dönünce ne oluyor ? sanırım dönme kavramını çözemedim.


Bu mesaja 2 cevap geldi.
M
12 yıl
Binbaşı

quote:

Orijinalden alıntı: ot

Merhaba arkadaşlar

c# methods (yöntemler) konusundaki döndürme (return) olayını anlayamadım açıklayabilecek var mı acaba ?

yani niye dönüyor sonuç ? dönünce ne oluyor ? sanırım dönme kavramını çözemedim.

Hocam metotları -ya da fonksiyonları- mainin -ya da başka bi metodun içinden- belirli bi görev yapması için çağırıyoruz. En basit örnekle hipotenüsün değerini bulan bir fonksiyon yazdın diyelim bu fonksiyona dik kenarların uzunluğunu gönderiyosun fonksiyon da sana hipotenüsün değerini hesaplayıp çağırıldığı fonksiyona geri döndürüyo. Hesapladığın değeri döndürmeye yarıyo genel olarak, ama çağrılan fonksiyona dönmek için de kullanılabilir(mesela girilen değer istenilen aralıkta değilse)

 
static double hypo_calc(double first_leng,double sec_leng)
{
if(first_leng<0 || sec_leng<0)//değerlerin kontrolü
return -0.0;//bu hata durumu
double hypo = 0.0;
hypo = Math.Sqrt((first_leng*first_leng)+(sec_leng*sec_leng));
return hypo;//burda da normal bi şekilde değeri hesaplayıp döndrüyosun
}



B
12 yıl
Binbaşı

quote:

Orijinalden alıntı: ot

Merhaba arkadaşlar

c# methods (yöntemler) konusundaki döndürme (return) olayını anlayamadım açıklayabilecek var mı acaba ?

yani niye dönüyor sonuç ? dönünce ne oluyor ? sanırım dönme kavramını çözemedim.

Metodlardaki geri donmeyi aslinda bircok sekilde kullanabilirsiniz mesela int geri donus degerini veren bir metod olsun ve parametre olarak girilen sayiyi 1 arttirsin

Kod olarak

 
Static int(geri donus degeri) bir_arttir(int parametre)
{
return parametre++;
}

Static void main()

{
Int sayi = 10;

sayi = Bir_arttir(sayi);

}



Bu uygulamada sayi 1 arttirdigimiz icin 11 olacaktir.

Return genelde bir dizi de birkac islem yaptiktan sonra yeni diziyi dondurmek icin isler icin de kullanilir.



< Bu ileti tablet sürüm kullanılarak atıldı >
Bu mesaja 1 cevap geldi.
R
12 yıl
Onbaşı

edit:düzeltme





< Bu mesaj bu kişi tarafından değiştirildi roxins -- 7 Şubat 2013; 21:56:32 >

£
12 yıl
Yüzbaşı
Konu Sahibi

Arkadaşlar foruma uzun bir süre ara vermek zorundayım. Herkesten özür diliyorum. İleride C/C++/C# konusunda çok daha faydalı bir şekilde karşınızda olacağım.
Sağlıcakla kalın..


Bu mesaja 1 cevap geldi.
B
12 yıl
Teğmen

Selam arkadaşlar

c# ile ilgili bir örnek arıyorum

Konu şöyle
program 3 tane şekilden birisini seçmeni istiyor dikdörtgen, üçgen ve kare
sonra şekiller değişik olduğu için mesela üçgene taban alanının boyunu ve yüksekliği soruyor
sonra diyelim kullanıcı 4 girdi
yıldızlarla bu 4e4'lük olan üçgeni çizdiriyor
..........*
......*......*
...*............*
.*....*.....*....*
bu şekilde





< Bu mesaj bu kişi tarafından değiştirildi Bangar4ng -- 8 Şubat 2013; 6:43:01 >
Bu mesaja 2 cevap geldi.
S
12 yıl
Teğmen

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;


namespace Student
{

public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}

private void studentsBindingNavigatorSaveItem_Click(object sender, EventArgs e)
{
this.Validate();
this.studentsBindingSource.EndEdit();
this.tableAdapterManager.UpdateAll(this.database1DataSet1);

}

private void Form1_Load(object sender, EventArgs e)
{
// TODO: This line of code loads data into the 'database1DataSet1.Students' table. You can move, or remove it, as needed.
this.studentsTableAdapter.Fill(this.database1DataSet1.Students);

}

private void studentsDataGridView_CellContentClick(object sender, DataGridViewCellEventArgs e)
{

}
}


}

hata: does not contain a static 'Main' method suitable for an entry point



c# ta database olusturduktan sonra form da bu hatayı alıyorum arkadaslar sorunun cözümü nedir(not:c# ta acemiyim)


Bu mesaja 1 cevap geldi.
J
12 yıl
Yarbay

@shelden

amacın class library oluşturmak değilse (dll) main metodu yazılması gerekir. Kolay gelsin.


Bu mesaja 1 cevap geldi.
S
12 yıl
Yarbay

şimdi şununla uğraşıyorum fakat şu noktayı anlamadım.

kullanıcının seçtiği değerin altında olan kişi sayısını nasıl buldurabilirim ?

< Resime gitmek için tıklayın >


Bu mesaja 1 cevap geldi.
L
12 yıl
Yarbay

quote:

Orijinalden alıntı: Seviyeli Yarbay

şimdi şununla uğraşıyorum fakat şu noktayı anlamadım.

kullanıcının seçtiği değerin altında olan kişi sayısını nasıl buldurabilirim ?

< Resime gitmek için tıklayın >

2 farklı dizi oluşturup bunlara ayrı ayrı yaş, cinsiyet gibi bilgileri eklersiniz.(yada 2 boyutlu dizi de oluşturabilirsiniz size kalmış) daha sonra bi for döngüsüyle 0 dizininden max dizine kadar olanlarda girilen yaş ve cinsiyet kontrolünü yaparsınız. buna göre de o saymayı yapan kısmın değerine ekleme yaparsınız. yani array, if ve for döngülerini kullanarak yapılabilir gibi geldi banaç


Bu mesaja 1 cevap geldi.
S
12 yıl
Yarbay

quote:

Orijinalden alıntı: GhilleintheMist

quote:

Orijinalden alıntı: Seviyeli Yarbay

şimdi şununla uğraşıyorum fakat şu noktayı anlamadım.

kullanıcının seçtiği değerin altında olan kişi sayısını nasıl buldurabilirim ?

< Resime gitmek için tıklayın >

2 farklı dizi oluşturup bunlara ayrı ayrı yaş, cinsiyet gibi bilgileri eklersiniz.(yada 2 boyutlu dizi de oluşturabilirsiniz size kalmış) daha sonra bi for döngüsüyle 0 dizininden max dizine kadar olanlarda girilen yaş ve cinsiyet kontrolünü yaparsınız. buna göre de o saymayı yapan kısmın değerine ekleme yaparsınız. yani array, if ve for döngülerini kullanarak yapılabilir gibi geldi banaç

cevabınız için çok teşekkürler fakat tam anlamadım biraz açar mısınız ?
pek iyi değilim de şıp diye anlayamıyorum


Bu mesaja 1 cevap geldi.
L
12 yıl
Yarbay

quote:

Orijinalden alıntı: Seviyeli Yarbay

quote:

Orijinalden alıntı: GhilleintheMist

quote:

Orijinalden alıntı: Seviyeli Yarbay

şimdi şununla uğraşıyorum fakat şu noktayı anlamadım.

kullanıcının seçtiği değerin altında olan kişi sayısını nasıl buldurabilirim ?

< Resime gitmek için tıklayın >

2 farklı dizi oluşturup bunlara ayrı ayrı yaş, cinsiyet gibi bilgileri eklersiniz.(yada 2 boyutlu dizi de oluşturabilirsiniz size kalmış) daha sonra bi for döngüsüyle 0 dizininden max dizine kadar olanlarda girilen yaş ve cinsiyet kontrolünü yaparsınız. buna göre de o saymayı yapan kısmın değerine ekleme yaparsınız. yani array, if ve for döngülerini kullanarak yapılabilir gibi geldi banaç

cevabınız için çok teşekkürler fakat tam anlamadım biraz açar mısınız ?
pek iyi değilim de şıp diye anlayamıyorum

#include <iostream> 
using namespace std;

int cinsiyet[100];
int yas[100];


void giris(int c,int y, int index)
{
cinsiyet[index]=c;
yas[index]=y;

}

void kontrol(int y)
{
int erkek=0;
int kadin=0;
for(int i=0;i<100;i++)
{
if(yas[i]<y)
{
if(cinsiyet[i]==1)
{
kadin++;
}
if(cinsiyet[i]==2)
{
erkek++;
}
}
}
cout << "yasi " << y << "den kucuk olan kadin sayisi = " << kadin << endl;
cout << "yasi " << y << "den kucuk olan erkek sayisi = " << erkek;
}

int main()
{
int c=0;
int y=0;
for(int i = 0;i < 100; i++)
{
cout << i+1 << ". kisinin cinsiyetini giriniz. (kadin icin 1, erkek icin 2" << endl;
cin>>c;
cout << i+1 << ". kisinin yasini giriniz." << endl;
cin >> y;
giris(c,y,i);
}

int sinir;
cout << "sinir yas degerini giriniz" << endl;
cin >> sinir;
kontrol(sinir);


}





ben şöyle basit bi kod yazdım bunun için.
ilk önce yas ve cinsiyet'i tutmak için 100 "haneli" bi array oluşturdum. daha sonra bu arraydeki alanları doldurmak için giris fonksiyonunu yazdım. bu fonksiyon 3 farklı parametre alıyor. yas cinsiyet ve index(arraye eklemek için gerekli) daha sonra main'de bu giriş için kodlar falan yazdık. ve for döngüsüyle 100 kişinin bilgilerini alana kadar sormaya devam etmiş olduk. ve her döngüde giris fonksiyonuna alınan degerleri göndererek bu değerleri hafızaya almış olduk. kontrol fonksiyonu ise sadece bir parametre alıyor. o sınır yaş. daha sonra 0. indexten başlayarak buradaki yaş sınırdan büyük mü küçük mü onu kontrol ediyor. eğer küçüksede cinsiyet dizisinde bi kontrol yapıp ona göre kadin yada erkek değişkeninin sayısını bir arttırıyor. dizideki tüm elemanlar için bu kontrolü yaptığındaysa sınır sayıdan küçük olan erkek ve kadın sayısını yazdırıyor.


Bu mesaja 1 cevap geldi.
S
12 yıl
Yarbay

quote:

Orijinalden alıntı: GhilleintheMist


bu kadar kısa sürede böyle bir cevap beklemiyordum :)

çok çok teşekkür ederim :)

bir sorum daha olacak, soru yine ekranda bi şeyler yazdım ama yine çöktü. hatalarımı söyleyebilir misiniz ?

< Resime gitmek için tıklayın >

//Bir çalışanın yaptığı kırtasiye harcamaları için %10, giyim harcamaları için %12 ve gıda harcamaları için %18
//vergi iadesi yapılmaktadır. Programa harcama türü olarak kırtasiye harcamaları için 1, giyim harcamaları için 2 ve
//gıda harcamaları için 3 girilecek, -1 girildiğinde ise programdan çıkılacaktır. Çalışanın her harcama türü için
//alacağı vergi iadesi ile toplam alacağı vergi iadesi miktarını bulup aşağıdaki gibi listeleyen bir program yazınız. Bir
//sınıf oluşturarak veri girişi ve listeleme için fonksiyon oluşturunuz. (50 Puan)


#include <iostream> 
using namespace std;

int harcamaTuru;
double harcamaMiktari;
double kirtasiyeVergi=0, giyimVergi=0, gidaVergi=0;

int main ()
{
cout << "Kirtasiye Harcamalari Icin 1, Giyim Harcamalari Icin 2, Gida Harcamalari Icin 3 Giriniz. -1 Girildiginde Programdan Cikilacaktir"<<endl;
cout << endl;

do {

cout << "Harcama Turu : ";
cin >> harcamaTuru ;
cout << "Harcama Miktari : ";
cin >> harcamaMiktari;
cout << endl;


switch (harcamaTuru)

{

case '1' :

kirtasiyeVergi = kirtasiyeVergi + (0.10*harcamaMiktari);

break;

case '2' :

giyimVergi = giyimVergi + (0.12*harcamaMiktari);

break;

case '3' :
gidaVergi = gidaVergi + (0.18*harcamaMiktari);

break;
}

}
while (harcamaTuru != -1);

cout << "Kirtasiye harcamalarinin vergi iade miktari = " << kirtasiyeVergi << endl;
cout << "Giyim harcamalarinin vergi iade miktari = " << giyimVergi << endl;
cout << "Gida harcamalarinin vergi iade miktari = " << gidaVergi << endl;

cout << "-----------------------------------------------------------------"<<endl << endl;
cout << "Toplam vergi iade miktari = " << gidaVergi+giyimVergi+kirtasiyeVergi << endl;


system("pause");
return 0;
}


kabul ediyorum bu konulara gelmeden önce önceki konularda daha çok çalışmam gerekiyor ama bu dersi alıyorum ve bunları işledik o yüzden bi şekilde ilerlemem lazım. bunlar geçmiş sınav sorularından bazıları ben de üzerinde uğraşıyorum belki benzerleri çıkar da çat pat geçeriz diye


< Resime gitmek için tıklayın >





< Bu mesaj bu kişi tarafından değiştirildi Seviyeli Yarbay -- 10 Şubat 2013; 21:13:45 >
Bu mesaja 1 cevap geldi.
L
12 yıl
Yarbay

quote:

Orijinalden alıntı: Seviyeli Yarbay

quote:

Orijinalden alıntı: GhilleintheMist


bu kadar kısa sürede böyle bir cevap beklemiyordum :)

çok çok teşekkür ederim :)

bir sorum daha olacak, soru yine ekranda bi şeyler yazdım ama yine çöktü. hatalarımı söyleyebilir misiniz ?

< Resime gitmek için tıklayın >

//Bir çalışanın yaptığı kırtasiye harcamaları için %10, giyim harcamaları için %12 ve gıda harcamaları için %18
//vergi iadesi yapılmaktadır. Programa harcama türü olarak kırtasiye harcamaları için 1, giyim harcamaları için 2 ve
//gıda harcamaları için 3 girilecek, -1 girildiğinde ise programdan çıkılacaktır. Çalışanın her harcama türü için
//alacağı vergi iadesi ile toplam alacağı vergi iadesi miktarını bulup aşağıdaki gibi listeleyen bir program yazınız. Bir
//sınıf oluşturarak veri girişi ve listeleme için fonksiyon oluşturunuz. (50 Puan)


#include <iostream> 
using namespace std;

int harcamaTuru;
double harcamaMiktari;
double kirtasiyeVergi=0, giyimVergi=0, gidaVergi=0;

int main ()
{
cout << "Kirtasiye Harcamalari Icin 1, Giyim Harcamalari Icin 2, Gida Harcamalari Icin 3 Giriniz. -1 Girildiginde Programdan Cikilacaktir"<<endl;
cout << endl;

do {

cout << "Harcama Turu : ";
cin >> harcamaTuru ;
cout << "Harcama Miktari : ";
cin >> harcamaMiktari;
cout << endl;


switch (harcamaTuru)

{

case '1' :

kirtasiyeVergi = kirtasiyeVergi + (0.10*harcamaMiktari);

break;

case '2' :

giyimVergi = giyimVergi + (0.12*harcamaMiktari);

break;

case '3' :
gidaVergi = gidaVergi + (0.18*harcamaMiktari);

break;
}

}
while (harcamaTuru != -1);

cout << "Kirtasiye harcamalarinin vergi iade miktari = " << kirtasiyeVergi << endl;
cout << "Giyim harcamalarinin vergi iade miktari = " << giyimVergi << endl;
cout << "Gida harcamalarinin vergi iade miktari = " << gidaVergi << endl;

cout << "-----------------------------------------------------------------"<<endl << endl;
cout << "Toplam vergi iade miktari = " << gidaVergi+giyimVergi+kirtasiyeVergi << endl;


system("pause");
return 0;
}


kabul ediyorum bu konulara gelmeden önce önceki konularda daha çok çalışmam gerekiyor ama bu dersi alıyorum ve bunları işledik o yüzden bi şekilde ilerlemem lazım. bunlar geçmiş sınav sorularından bazıları ben de üzerinde uğraşıyorum belki benzerleri çıkar da çat pat geçeriz diye


< Resime gitmek için tıklayın >

int harcamaTuru; 

double kirtasiyeVergi=0, giyimVergi=0, gidaVergi=0;
double harcamaMiktari=0;
int main ()
{
cout << "Kirtasiye Harcamalari Icin 1, Giyim Harcamalari Icin 2, Gida Harcamalari Icin 3 Giriniz. -1 Girildiginde Programdan Cikilacaktir"<<endl;
cout << endl;

do {

cout << "Harcama Turu : ";
cin >> harcamaTuru ;
if(harcamaTuru==-1)
break;
cout << "Harcama Miktari : ";
cin >> harcamaMiktari;
cout << endl;




if(harcamaTuru==1)
kirtasiyeVergi = kirtasiyeVergi + (0.10*harcamaMiktari);




if(harcamaTuru==2)
giyimVergi = giyimVergi + (0.12*harcamaMiktari);



if(harcamaTuru==3)
gidaVergi = gidaVergi + (0.18*harcamaMiktari);


}while (harcamaTuru != -1);

cout << "Kirtasiye harcamalarinin vergi iade miktari = " << kirtasiyeVergi << endl;
cout << "Giyim harcamalarinin vergi iade miktari = " << giyimVergi << endl;
cout << "Gida harcamalarinin vergi iade miktari = " << gidaVergi << endl;

cout << "-----------------------------------------------------------------"<<endl << endl;
cout << "Toplam vergi iade miktari = " << gidaVergi+giyimVergi+kirtasiyeVergi << endl;

}




ben şöyle düzenledim çalışıyor sanırım. öncelikle switch case yapısını kullanmayı ta bilmediğimden if kullanarak harcamaTuru ne bağlı hesaplamayı yaptırdım. ve birde harcama türüne direk -1 girilince çıkması için orayada bi if ekleyip -1'se break; komutunu vermesini sağladım.


Bu mesaja 1 cevap geldi.