Arama butonu
Bu konudaki kullanıcılar: 1 misafir
4171
Cevap
168142
Tıklama
3
Öne Çıkarma
Cevap: C/C++/C# Sorularınız Buraya. . .(GÜNCEL) (106. sayfa)
L
12 yıl
Yüzbaşı

Ben de C'ye yeni başladım ancak kafama takılan bir soru var. Scanf'den float girişi yaptırıyorum ancak sayı yerine harf ya da başka karakter girince program tamamen bozuluyor. do while ile programı başa aldığımda bile gene bozulmuş olarak fonksiyonu sonlandırıyor. Scanf de sayıdan başka bir değer girilmesini nasıl engellerim ya da sayı girilmeyince nasıl tekrar döngüye sokabilirim ?

#include<stdio.h> 
#include<conio.h>
#include<locale.h>

int main()
{
setlocale(LC_ALL,"Turkish");
float sayi_1, sayi_2;
char islem, devam_et;

do // devam_et değeri E ya da e olursa döngüye gir
{
printf("İlk sayiyi giriniz:\n");
scanf("%f", &sayi_1);
printf("\n\n");
printf("İkinci sayiyi giriniz:\n");
scanf("%f", &sayi_2);
printf("\n\n");

printf("İŞLEMLER\n----------\n1: Toplama\n2: Çıkarma\n3: Çarpma\n4: Bölme\n\n");

do // Hatalı giriş yapılıra tekrar işlemi iste.
{
printf("İşlemi seçiniz: ");
islem=getch();

printf("\n\n");

switch(islem)
{
case '1': printf("İşlem: %.2f + %.2f = %.2f\n\n", sayi_1, sayi_2, sayi_1+sayi_2); break;
case '2': printf("İşlem: %.2f - %.2f = %.2f\n\n", sayi_1, sayi_2, sayi_1-sayi_2); break;
case '3': printf("İşlem: %.2f * %.2f = %.2f\n\n", sayi_1, sayi_2, sayi_1*sayi_2); break;
case '4': printf("İşlem: %.2f / %.2f = %.2f\n\n", sayi_1, sayi_2, sayi_1/sayi_2); break;

default:
printf("Hatalı Giriş!\n\a");
}
} while (islem !='1' && islem !='2' && islem !='3' && islem !='4');

// Yeni işlem mi yoksa çıkış mı?
do
{
printf("Yeni bir işlem yapmak istiyor musunuz?[E/H]\n\n");
devam_et=getch();

// Hatalı giriş yapılırsa uyar
if (devam_et != 'E' && devam_et != 'e' && devam_et != 'H' && devam_et != 'h')
{
printf("\nHatalı Giriş!\n\a");
}

} while (devam_et != 'E' && devam_et != 'e' && devam_et != 'H' && devam_et != 'h');

} while(devam_et == 'E' || devam_et == 'e');

// Döngü devam etmiyor ise çık
return 0;

}


Bu programda 1. ya da 2. sayı için oluşturduğum scanf'e harf fln girin. En sondaki "işleme devam-çıkış" kontrolüne E girin dediğimi anlayacaksınız.


Bu mesaja 1 cevap geldi.
K
12 yıl
Onbaşı

C# da bilgili, bi soru hakkında yardımcı olabilicek birisi varmı acaba?


Bu mesaja 2 cevap geldi.
K
12 yıl
Onbaşı

biz henüz random olarak integer atamayı öğrendik fakat bu haftaki ödevde harf atamamız gerekli onu yapamadım. integer atayıp string e eşlemeye çalıştım fakat öylede olmadı. 8 tane harf içinden rastgele 3 ü nü veren bi kod lazım A B C D E F G H harfleri diyelim output ta bana C E H gibi bişey lazım. dediğim gibi string veya char şeklinde random atamayı görmedik.
bilen varsa yardımcı olursa sevinirim.
Not: birde bu random olarak atanan harfleri arkaplanda gizlemesi lazım. kullanıcıya tahmin ettiricek şekilde bi oyun olacak



C
12 yıl
Er

Merhaba millet! Programlamada yeniyim, çok çaylağım. Kendimi deneme amaçlı bir C programı yazdım; ama çalışmıyor. Sorunun nerede olduğunu söyleyebilir misiniz? Program, herhangi bir yarıçap değeri için geçerli olan çemberin çevresini, dairenin alanını, kürenin yüzey alanını ve kürenin hacmini verecekti. Nerede yanlış yapıyorum ve ayrıca gereksiz yere kullandığım bir komut var mı?

 
/* YARIÇAP DEĞERİNDEN ÇEMBERİN ÇEVRESİNİ, DAİRENİN ALANINI,
KÜRENİN YÜZEY ALANINI VE HACMİNİ VEREN C PROGRAMI */

#include <stdio.h>
#include <conio.h>
#include <math.h>
main()
{
float r, a, b, c, d;
printf("\n Yaricapi giriniz: ");
scanf("%u",&r);
a=2*M_PI*r;
b=M_PI*r*r;
c=4*M_PI*r*r;
d=(4/3)*M_PI*(r*r*r);
printf("\n Cemberin cevresi: %u",&a);
printf("\n Dairenin alani: %u",&b);
printf("\n Kurenin yuzey alani: %u",&c);
printf("\n Kurenin hacmi: %u",&d);
getch();
return 0;
}


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

quote:

Orijinalden alıntı: cgtyrsn

Merhaba millet! Programlamada yeniyim, çok çaylağım. Kendimi deneme amaçlı bir C programı yazdım; ama çalışmıyor. Sorunun nerede olduğunu söyleyebilir misiniz? Program, herhangi bir yarıçap değeri için geçerli olan çemberin çevresini, dairenin alanını, kürenin yüzey alanını ve kürenin hacmini verecekti. Nerede yanlış yapıyorum ve ayrıca gereksiz yere kullandığım bir komut var mı?

 
/* YARIÇAP DEĞERİNDEN ÇEMBERİN ÇEVRESİNİ, DAİRENİN ALANINI,
KÜRENİN YÜZEY ALANINI VE HACMİNİ VEREN C PROGRAMI */

#include <stdio.h>
#include <conio.h>
#include <math.h>
main()
{
float r, a, b, c, d;
printf("\n Yaricapi giriniz: ");
scanf("%u",&r);
a=2*M_PI*r;
b=M_PI*r*r;
c=4*M_PI*r*r;
d=(4/3)*M_PI*(r*r*r);
printf("\n Cemberin cevresi: %u",&a);
printf("\n Dairenin alani: %u",&b);
printf("\n Kurenin yuzey alani: %u",&c);
printf("\n Kurenin hacmi: %u",&d);
getch();
return 0;
}


%u yerine %f kullanırsanız sorun çözülecektir. %u unsigned veri tipleri için kullanılabilir.


Bu mesaja 2 cevap geldi.
C
12 yıl
Er

İlgin için teşekkür ederim. Lakin bu sefer de çıktıda tüm sonuçlar 0.000000 oldu. Formüller çalışmadı.


Bu mesaja 1 cevap geldi.

Bu mesajda bahsedilenler: @GhilleintheMist
S
12 yıl
Binbaşı

quote:

Orijinalden alıntı: cgtyrsn

İlgin için teşekkür ederim. Lakin bu sefer de çıktıda tüm sonuçlar 0.000000 oldu. Formüller çalışmadı.

Niye sayıların adreslerini yazdırıyorsun ? printf de & kullanımına dikkat et , scanf de kullanılır o. "%d",&a yaparsan a'nın adresini yazdırırsın.


Bu mesaja 1 cevap geldi.
C
12 yıl
Er

Çok teşekkür ederim. :D Doğru söylüyorsun. Çalıştı. Daha çok yeniyim de bu işlerde.




Bu mesajda bahsedilenler: @strahd_von_zarovich
E
12 yıl
Çavuş

Öncelikle merhaba. Ben bir proje ile ilgili soru soracaktım. Projede c/c++ dillerini faydalanarak metin belgesi gibi çalışan bir metin editörü tasarlamamız gerekiyor. Tasarlanacak editörde girilen her bir harf, sayı ve işaretler (ascii kodlardan yararlanarak) çift yönlü bir bağlı liste yapısı kullanılarak hafızada tutulacakmış. Böyle bir projeyi nasıl yapabiliriz. Hangi kütüphaneleri kullanabiliriz. Bir yol gösterebilir misiniz? Şimdiden teşekkür ederim.


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

dev c++ programının son sürümünü yükleyebilceğim bi kaynak yollayabilirmisiniz pm den


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

Merhaba arkadaşlar. Veri tiplerinin alt ve üst sınır değerlerini ekrana yansıtmam gereken bi ödev aldım. Şimdi sorum şu:

int char, unsigned char, signed char, ..... şeklinde değişkenleri tanımlayıp daha sonra

Char için alt sınır=a
a=-128
Char için üst sınır=b
b=127

printf ("Char veri tipinin alt sınırı %d, a") yazsam program char koduyla burdaki acıklanacak olan char terimini karıştırabilir mi ? ona göre başlıcam da ? :)



S
12 yıl
Binbaşı

-
12 yıl
Yüzbaşı

@evren199
Bunu bir dizi tanımlayarak yapabilirsin.
char harfler[8] = {'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H'};

Sonra random sayını oluşturursun.
int sayi = rand() % 8;

Sonra bu sayıyı indis olarak kullanıp dizideki o elemanı gösterebilirsin.

printf("%c", harfler[sayi]);

-----------------------------------------
@t9r

http://lmgtfy.com/?q=dev-cpp

----------------------------------------
@oraykt

Bunun için gerekli sabitler var senin ek bir değişken tanımlamana gerek yok.
http://www.cplusplus.com/reference/climits/

-------------------------------------
@ebubekir.s

Metin editörü konsol tabanlı mı olacak yoksa grafiksel arayüzü olacak mı? Eğer grafiksel arayüzü olacaksa QT kullanabilirsin.
Galiba bu ödevin asıl amacı size çift yönlü bağlı listeyi öğretmek.http://en.wikipedia.org/wiki/Doubly_linked_list bu linkten faydalanabilirsin liste ile ilgili.


Bu mesaja 2 cevap geldi.

Bu mesajda bahsedilenler: @t9r , @ebubekir.s , @evren199 , @oraykt
C
12 yıl
Binbaşı

C#'da Swicth case ile aralık belirlemek istiyorum, örneğin 0-40 arası ff diyelim

Switch(degiskenadi)
case 0 & 40:
Console.Writeline("FF")

and operatorunun yerine or operatorunu de denedim calıstıramadım yardımcı olacak var mı


Bu mesaja 2 cevap geldi.
E
12 yıl
Çavuş

Evet konsol ekranında(command prompt ekranı). Ben bu çift yönlü bağlı liste yapısını öğrenirsem projenin nasıl yapılacağı hakkında bir bilgi sahibi olabilir miyim? Çünkü projede Editör; harf silme, başa sona ya da ortaya harf ekleme (hem imlecin bulunduğu yere kaydırma işlemi yapılarak araya harf eklenmeli, hemde insert tuşuna basılı olduğu zamanki gibi kaydırma yapılmadan ekleme işlemi yapılmalıdır), dosyaya kaydetme ve dosyaya farklı kaydetme işlemleri yapılmalıdır gibi şeyler var. Bunları dos ekranında nasıl yapabilirim bilmiyorum.




Bu mesajda bahsedilenler: @-Source-
K
12 yıl
Yüzbaşı

quote:

Orijinalden alıntı: StoryLine

C#'da Swicth case ile aralık belirlemek istiyorum, örneğin 0-40 arası ff diyelim

Switch(degiskenadi)
case 0 & 40:
Console.Writeline("FF")

and operatorunun yerine or operatorunu de denedim calıstıramadım yardımcı olacak var mı

case'den sonra bir aralık belirtilmez. switch'e gelen değerin mesela x'e eşit olması halinde case x: //kod; diye yazılır.

http://msdn.microsoft.com/en-us/library/06tc147t%28v=vs.90%29.aspx





< Bu mesaj bu kişi tarafından değiştirildi keftar -- 28 Ekim 2013; 13:16:56 >

T
12 yıl
Yüzbaşı

quote:

Orijinalden alıntı: GhilleintheMist

quote:

Orijinalden alıntı: cgtyrsn

Merhaba millet! Programlamada yeniyim, çok çaylağım. Kendimi deneme amaçlı bir C programı yazdım; ama çalışmıyor. Sorunun nerede olduğunu söyleyebilir misiniz? Program, herhangi bir yarıçap değeri için geçerli olan çemberin çevresini, dairenin alanını, kürenin yüzey alanını ve kürenin hacmini verecekti. Nerede yanlış yapıyorum ve ayrıca gereksiz yere kullandığım bir komut var mı?

 
/* YARIÇAP DEĞERİNDEN ÇEMBERİN ÇEVRESİNİ, DAİRENİN ALANINI,
KÜRENİN YÜZEY ALANINI VE HACMİNİ VEREN C PROGRAMI */

#include <stdio.h>
#include <conio.h>
#include <math.h>
main()
{
float r, a, b, c, d;
printf("\n Yaricapi giriniz: ");
scanf("%u",&r);
a=2*M_PI*r;
b=M_PI*r*r;
c=4*M_PI*r*r;
d=(4/3)*M_PI*(r*r*r);
printf("\n Cemberin cevresi: %u",&a);
printf("\n Dairenin alani: %u",&b);
printf("\n Kurenin yuzey alani: %u",&c);
printf("\n Kurenin hacmi: %u",&d);
getch();
return 0;
}


%u yerine %f kullanırsanız sorun çözülecektir. %u unsigned veri tipleri için kullanılabilir.

ben arkadaşın yaptığını direk kopyaadım ve çalıştı saçma sapan rakam değerleri vererek ama f yapınca u ları sonuçlar 0.0000 oldu





< Bu mesaj bu kişi tarafından değiştirildi t9r -- 28 Ekim 2013; 14:31:04 >
Bu mesaja 1 cevap geldi.
M
12 yıl
Binbaşı

quote:

Orijinalden alıntı: StoryLine

C#'da Swicth case ile aralık belirlemek istiyorum, örneğin 0-40 arası ff diyelim

Switch(degiskenadi)
case 0 & 40:
Console.Writeline("FF")

and operatorunun yerine or operatorunu de denedim calıstıramadım yardımcı olacak var mı

birden fazla case'in aynı duruma gitmesini istiyosanız şöyle bir şey yapılabilir. Ama 40 case yazmak biraz mantıksız gibi geldi bana.

case 0:
case 1:
case 2:
.
.
case 40:
{
//kodlar
}


Bu mesaja 1 cevap geldi.
C
12 yıl
Binbaşı

Hocam tam olarak anlamadım, 0-40 arası ff, 40-50 fd, 50-60cc... böyle giden not ortalaması yapmak istiyorum yani demek istediğim şu girilen sayı 0-40 arası oldugunda ff yazdırıcak ama switch case ile yapamadım, açıkçası yeni oldugum için yazdıgınızdanda pek anlamadım

Benim düşündüğüm

Switch(not)
case 0 & 40:
Console.Writeline("FF");
break;
case 40 & 50:
Console.Writeline("FD");

Bu sekildeydi ama böylede sadece 0 girince ff diyor diğer sayılar calısmıyor tam anlayamadım


Bu mesaja 1 cevap geldi.

Bu mesajda bahsedilenler: @Mtntk
C
12 yıl
Yüzbaşı

Arkadaşlar dev c++ 5.5.1 derleyicisinde hello world programını yazıyorum fakat derleme butonu pasif durumda üzerine tıklanmıyor. Ne yapmalıyım yani derlemenin açılması için bir kod mu yazmam gerekiyor? alıntı veya haberdar ediniz lütfen .