C ProgramLama diLi yardım!

#include"stdio.h"
#include"conio.h"

int sayi,cift_topLam,tek_topLam,tek_sayiLar=0,cift_sayiLar=0;
float tek_ortaLama,cift_ortaLama;
main()
{
printf("SayiLar giriniz:\n");
do
{
scanf("%d",&sayi);



if(sayi%2==0)
{
cift_topLam+=sayi;
cift_sayiLar=++cift_sayiLar;
}
if(sayi%2==1)
{
tek_topLam+=sayi;
tek_sayiLar=++tek_sayiLar;
}
}

while(sayi!=0);

tek_ortaLama=tek_topLam/tek_sayiLar;
cift_ortaLama=cift_topLam/(cift_sayiLar-1);
printf("Tek sayiLarin sayisi=%d\n",tek_sayiLar);
printf("Cift sayiLarin sayisi=%d\n",cift_sayiLar-1);
printf("Tek sayiLarin ortaLamasi=%f\n",tek_ortaLama);
printf("Cift sayiLarin ortaLamasi=%f\n",cift_ortaLama);
getch();


}


İşini görmesi diLeğiyLe ~

Kodda hata mi var acaba derledim ama duzgun calismadi?
 
bende calisti bi yerde hata vardi onu düzelttim oldu..
 
SORU-6: Bir lokanta için menü programı hazırlayınız. Menü aşağıdaki şekilde olmalıdır.
*************************************************
Lezzet lokantasına Hoş geldiniz
**************************************************
Menüyü görmek için 1’e, sipariş vermek için 2’ye basınız.
Hesabı ödemek için 3’e basınız, çıkmak için 4’e basınız.
*************************************************
(1’e basıldı ise)
Menü programı ekrana gelsin.
1) Soğuk ve sıcak mezeler (8 TL)
a. Ezme
b. Salata
c. …
2) Çorbalar (3 TL)
a. Ezo gelin
b. Mercimek
c. İşkembe
d. Sebze çorbası
e. ….
3) Ev yemekleri (10 TL)
a. Kuru Fasülye
b. Bezelye
c. Nohut
d. …
4) Kebap türleri (15 TL)
a. Adana Acılı
b. Urfa
c. Cennet Kebabı
d. …
5) Tatlılar (9 TL)
a. Künefe
b. Baklava
c. …
6) İçecekler (2 TL)
a. Kola
b. Ayran
c. Gazoz
d. …
(1-6 arasından en az 2 menü seçmelisiniz. Seçtiğiniz her bir çeşit içinden de en fazla bir tane
seçmelisiniz. )
(2’ye basıldı ise)
Menüden siparişleri veriniz.
Örnek: Ev yemeği istiyorsanız 3’e basınız. 3’e bastığınızda (Kuru fasülye, bezelye, nohut,… )ekrana
gelsin. Bunlar içerisinden sadece birini seçiniz.)
Ev yemeğini seçtikten sonra döngü devam etsin, size başka bir şey isteyip istemediğiniz sorulsun.
İstiyorsanız menüden tekrar seçim yapınız, istemiyorsanız hesabı ödeyip programdan çıkabilirsiniz.
(3’e basıldı ise)
Seçtikleriniz ne tuttuysa ödeyiniz.
(4’e basıldı ise)
Hesap ödeme kontrolü yapıldıktan sonra programdan çıkabilirsiniz.

acaba bunuda yapabilirmisiniz??
 
#include<stdio.h>

void menum();
void menu();
void menu1();
void menu2();
void menu3();
void menu4();
void menu5();
void menu6();

int main(void)
{
int secim;
int menu_secim;
int i;
char yemek, hesap_odendimi;
int toplam=0;
int kontrol=0;


menum();
fflush(stdout);
scanf("%d",&secim);

while(secim != 4)
{

if(secim == 1)
{
menu();

}
else
{
if(secim == 2)
{


i=0;
while(i < 2)
{
menu();
printf("\n1 ile 6 arasındaki seceneklerden en az 2 tane girebilirsiniz:\n");
fflush(stdout);
scanf("%d",&menu_secim);

if(menu_secim == 1)
{
menu1();
fflush(stdout);
scanf(" %c",&yemek);
toplam+=8;
}
else
{
if(menu_secim == 2)
{
menu2();
fflush(stdout);
scanf(" %c",&yemek);
toplam+=3;
}
else
{
if(menu_secim == 3)
{
menu3();
fflush(stdout);
scanf(" %c",&yemek);
toplam+=10;
}
else
{
if(menu_secim == 4)
{
menu4();
fflush(stdout);
scanf(" %c",&yemek);
toplam+=15;
}
else
{
if(menu_secim == 5)
{
menu5();
fflush(stdout);
scanf(" %c",&yemek);
toplam+=9;
}
else
{
if(menu_secim == 6)
{
menu6();
fflush(stdout);
scanf("%c",&yemek);
toplam+=2;
}
else
{
printf("\nYanlıs bir secim yaptınız!\n");
}
}
}
}
}
}


i++;
}

}
else
{
if(secim == 3)
{
printf("\nToplam borcunuz %d dir.\n",toplam);
printf("\nHesabı odemek istiyormusunuz?(Evet icin-e, Hayır icin-h)\n");
scanf("%c",&hesap_odendimi);

if(hesap_odendimi == 'e')
{
kontrol=1;
toplam=0;
printf("\nHesap odendi!\n");
}
else
{
if(hesap_odendimi == 'h')
{
kontrol=0;
printf("\nHesap odenmedi\n");
}
}
}
else
{

printf("\nYanlıs bir secim yaptınız.\n");
}
}
}

menum();
fflush(stdout);
scanf("%d",&secim);

if(secim == 4)
{
if(kontrol == 1)
{
break;
}
else
{
if(toplam == 0)
{
break;
}
else
{
printf("\nHesap odenmedigi icin cıkıs gecersiz\n");
secim=3;
continue;
}

}
}


}


return 0;
}

void menum()
{

printf("1-Menuyu gormek icin\n"
"2-Siparis vermek icin\n"
"3-Hesabı odemek icin\n"
"4-CIKIS\n");
}


void menu()
{
printf("1) Soğuk ve sıcak mezeler (8 TL)\n"
"a- Ezme\n"
"b- Salata\n\n"
"2) Çorbalar (3 TL)\n"
"a- Ezo gelin\n"
"b- Mercimek\n"
"c- Iskembe\n"
"d- Sebze çorbası\n\n"
"3) Ev yemekleri (10 TL)\n"
"a- Kuru Fasülye\n"
"b- Bezelye\n"
"c- Nohut\n\n"
"4) Kebap türleri (15 TL)\n"
"a- Adana Acılı\n"
"b- Urfa\n"
"c- Cennet Kebabı\n\n"
"5) Tatlılar (9 TL)\n"
"a- Künefe\n"
"b- Baklava\n\n"
"6) İçecekler (2 TL)\n"
"a- Kola\n"
"b- Ayran\n"
"c- Gazoz\n\n");
}

void menu1()
{
printf("--Soğuk ve sıcak mezeler (8 TL)--\n"
"a- Ezme\n"
"b- Salata\n\n");
}

void menu2()
{
printf("--Çorbalar (3 TL)--\n"
"a- Ezo gelin\n"
"b- Mercimek\n"
"c- Iskembe\n"
"d- Sebze çorbası\n\n");
}

void menu3()
{
printf("--Ev yemekleri (10 TL)--\n"
"a- Kuru Fasülye\n"
"b- Bezelye\n"
"c- Nohut\n\n");
}

void menu4()
{
printf("--Kebap türleri (15 TL)--\n"
"a- Adana Acılı\n"
"b- Urfa\n"
"c- Cennet Kebabı\n\n");
}

void menu5()
{
printf("--Tatlılar (9 TL)--\n"
"a- Künefe\n"
"b- Baklava\n\n");
}

void menu6()
{
printf("--İçecekler (2 TL)--\n"
"a- Kola\n"
"b- Ayran\n"
"c- Gazoz\n\n");
}




yazım veya mantık hatası olabilir biraz incelersen bulabilirsin. Onun dışında bir sorun yaratırsa fflushları kaldır. Devc kullanıyorsan stdio.h ın altına #include<conio.h> ve return 0 dan hemen önce getch() ekle. Kolay gelsin.
 
bu proğramı fonksiyon kullanman nasıl yaparız
 
fonksiyon sorusu

İnteger sayıları recursive function kullanarak binary sayılara çeviren program???
ilgilenen arkadaşalar!!!
 
İnteger sayıları recursive function kullanarak binary sayılara çeviren program???
ilgilenen arkadaşalar!!!

10 tabanındaki sayıları 2 lik tabana çevirme algoritmasını dene.Yani sayıyı 2 ye böl kalanı ekranda bastır ya 1 yada 0 verecektir.Sonra sayıyı 2 ye böldüğündeki bölüme eşitle recursive functiondan cıkması içinde case' ini sayı 0 a eşit olduğunda durdur.Print yaparken mesela; 0010=2,0110=6,1000=8 sayıları tam tersi çıkar yani 0100,0110,0001 olarak bu şekilde yapabilirsin programı.
 
bende c gordum ancak unuttum yıllardır kullanmaya kullanmaya ancak bana boyle bir soru gelse
girilen değeri array içine alır arrayı tersten yazdırırım.
Daha kolay olmazmı
 
bende c gordum ancak unuttum yıllardır kullanmaya kullanmaya ancak bana boyle bir soru gelse
girilen değeri array içine alır arrayı tersten yazdırırım.
Daha kolay olmazmı

Çeşitli mantıklar yürütülebilir tabiki. Sayı integer olarak almışsan bunu array'e atabilmen için yine stringe çevirmen gerekiyor buda zahmetli bir iş üstelik memorydende kayıp vericeksin. Algoritman dahada uzayacaktır muhtemelen ama denemekte yinede fayda var neden olmasın.
 


umarım yardımı dokunur.bende elektrik-elektronik okuyorum ve aynı ödevden bizede vermişlerdi =)

sana tavsiyem deitel in c programlama ebook unu indir.ingilizcedir ama c yi çok ii öğretiyor.

bende onla öğrenmişimdir c yi =)




kod'da hata var uzun bi sayı girildiği zaman sapıtıyo tam olarak çeviremiyo....
 
Geri
Üst