Stdio.h neden açılamıyor

merhaba arkadaşlar ben c ile gelişmek için yazdığım hesap makinesi programım anlamadığım bir şekilde hata veriyor. Nedenini anlamadım

#include <stdio.h>

int main() 
{
	char cevap;
	printf("devam et? : ", cevap);
	scanf("%s", &cevap);
    if(cevap == "e")
    {
    	char istek;
    	printf("[1] toplama\n");
    	printf("[2] çıkarma\n");
    	printf("[3] çarpma\n");
    	printf("[4] bölme\n");
    	printf("ne yapmak istiyorsunuz : ", istek);
    	scanf("%s", &istek);
    	if(istek == "1")
    	{
    		int sayı1;
    		int sayı2;
    		printf("birinci sayı : ", sayı1);
    		scanf("%d", &sayı1);
    		printf("ikinci sayı : ", sayı2);
    		scanf("%d", &sayı2);
    		printf("sonuç : %d", (sayı1 + sayı2));
    	}
		if(istek == "2")
		{
			int sayı1;
			int sayı2;
			printf("birinci sayı : ", sayı1);
			scanf("%d", &sayı1);
			printf("ikinci sayı : ", sayı2);
			scanf("%d", sayı2);
			printf("sonuç : %d", (sayı1 - sayı2));
		}
		if(istek == "3")
		{
			int sayı1;
			int sayı2;
			printf("birinci sayı : ", sayı1);
			scanf("%d", &sayı1);
			printf("ikinci sayı : ", sayı2);
			scanf("%d", &sayı2);
			printf("sonuç : %d", (sayı1 * sayı2));
		}
		if(istek == "4")
		{
			int sayı1;
			int sayı2;
			printf("birinci sayı : ", sayı1);
			scanf("%d", &sayı1);
			printf("ikinci sayı : ", sayı2);
			scanf("%d", &sayı2);
			printf("sonuç : %d", (sayı1 + sayı2));
		}
    }	
    else if(cevap == "h")
    {

    }
}
````

Kodları görebilir miyim? Şu şekilde olmalı aslında :

#include <stdio.h>

Tavsiyem visual studio code kullanmaman. Ya dev c++ tarzı veya illa microsoft derleyicisi kullanacaksan visual studio yu indirmen yönünde olacaktır.

Degisken isimlendirirken ingilizce karakter kullanmanız daha dogru olur. Sadece C icin degil, tum dillerde bunu alıskanlık edinmelisiniz.

stdio.h standart bir header oldugu icin include edilmesinin hata vermesi standarda uymayan veya yanlis ayarlanmis bir derleyiciye isaret ediyor.

gcc elle cagrilinca ne diyor?

$ gcc -Wall cder.c

Bende bir suru warning verdikten sonra derledi.

1 Beğeni
test.c: In function 'main':
test.c:6:9: warning: too many arguments for format [-Wformat-extra-args]
  printf("devam et? : ", cevap);
         ^~~~~~~~~~~~~~
test.c:6:9: warning: too many arguments for format [-Wformat-extra-args]
test.c:8:14: warning: comparison between pointer and integer
     if(cevap == "e")
              ^~
test.c:8:14: warning: comparison with string literal results in unspecified behavior [-Waddress]
test.c:15:13: warning: too many arguments for format [-Wformat-extra-args]
      printf("ne yapmak istiyorsunuz : ", istek);
             ^~~~~~~~~~~~~~~~~~~~~~~~~~~
test.c:15:13: warning: too many arguments for format [-Wformat-extra-args]
test.c:17:15: warning: comparison between pointer and integer
      if(istek == "1")
               ^~
test.c:17:15: warning: comparison with string literal results in unspecified behavior [-Waddress]
test.c:21:14: warning: too many arguments for format [-Wformat-extra-args]
       printf("birinci sayi : ", sayi1);
              ^~~~~~~~~~~~~~~~~
test.c:21:14: warning: too many arguments for format [-Wformat-extra-args]
test.c:23:14: warning: too many arguments for format [-Wformat-extra-args]
       printf("ikinci sayi : ", sayi2);
              ^~~~~~~~~~~~~~~~
test.c:23:14: warning: too many arguments for format [-Wformat-extra-args]
test.c:27:12: warning: comparison between pointer and integer
   if(istek == "2")
            ^~
test.c:27:12: warning: comparison with string literal results in unspecified behavior [-Waddress]
test.c:31:11: warning: too many arguments for format [-Wformat-extra-args]
    printf("birinci sayi : ", sayi1);
           ^~~~~~~~~~~~~~~~~
test.c:31:11: warning: too many arguments for format [-Wformat-extra-args]
test.c:33:11: warning: too many arguments for format [-Wformat-extra-args]
    printf("ikinci sayi : ", sayi2);
           ^~~~~~~~~~~~~~~~
test.c:33:11: warning: too many arguments for format [-Wformat-extra-args]
test.c:34:12: warning: format '%d' expects argument of type 'int *', but argument 2 has type 'int' [-Wformat=]
    scanf("%d", sayi2);
           ~^   ~~~~~
test.c:34:12: warning: format '%d' expects argument of type 'int *', but argument 2 has type 'int' [-Wformat=]
test.c:37:12: warning: comparison between pointer and integer
   if(istek == "3")
            ^~
test.c:37:12: warning: comparison with string literal results in unspecified behavior [-Waddress]
test.c:41:11: warning: too many arguments for format [-Wformat-extra-args]
    printf("birinci sayi : ", sayi1);
           ^~~~~~~~~~~~~~~~~
test.c:41:11: warning: too many arguments for format [-Wformat-extra-args]
test.c:43:11: warning: too many arguments for format [-Wformat-extra-args]
    printf("ikinci sayi : ", sayi2);
           ^~~~~~~~~~~~~~~~
test.c:43:11: warning: too many arguments for format [-Wformat-extra-args]
test.c:47:12: warning: comparison between pointer and integer
   if(istek == "4")
            ^~
test.c:47:12: warning: comparison with string literal results in unspecified behavior [-Waddress]
test.c:51:11: warning: too many arguments for format [-Wformat-extra-args]
    printf("birinci sayi : ", sayi1);
           ^~~~~~~~~~~~~~~~~
test.c:51:11: warning: too many arguments for format [-Wformat-extra-args]
test.c:53:11: warning: too many arguments for format [-Wformat-extra-args]
    printf("ikinci sayi : ", sayi2);
           ^~~~~~~~~~~~~~~~
test.c:53:11: warning: too many arguments for format [-Wformat-extra-args]
test.c:58:19: warning: comparison between pointer and integer
     else if(cevap == "h")
                   ^~
test.c:58:19: warning: comparison with string literal results in unspecified behavior [-Waddress]
test.c:6:2: warning: 'cevap' is used uninitialized in this function [-Wuninitialized]
  printf("devam et? : ", cevap);
  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
test.c:33:4: warning: 'sayi2' may be used uninitialized in this function [-Wmaybe-uninitialized]
    printf("ikinci sayi : ", sayi2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Benim tavsiyem tam tersi yonde; ozgur, cross-platform ve seni alttaki toolchain’den soyutlamayacak kadar ince bir IDE kullanmak veya IDE yerine text editoru kullanmak. Sadece agir IDE (orn. Visual Studio) kullanip da compilation unit nedir bilen, veya build dosyasi yazabilen biri gormedim. VSCodium veya VSCode iyidir.

IDE cross-platform degil ama en azindan GCC kullaniyor.

Kesinlikle kullanma. Malum nedenlerin yanisira, standarda uymama gibi ozellikleri var.

2 Beğeni

inan bana bilgisasayarım çok güçlü bir masaüstü olsa dev c++ indirir c dosyalarımı onunla yazardım ama maalesef sadece vscode indirebiliyorum

notepad++ ve gcc (g++) işini daha rahat görür diye düşünüyorum.

1 Beğeni

Gelisim ve rahatlık icin ben de notepad++ oneriyorum

VSCodium da notepad++ ve GCC’den cok uzakta degil.

1 Beğeni

tamam deneriz :smiley:

Zamanında benim bilgisayar da kötü bir şeydi. Dell Vostro 1015
2gb ram vardı.
Vscode kasıyordu. Ama geany’i rahatlıkla kullanıyordum. Ben de şiddetle geany’yi öneriyorum.

Önce gcc yi bilgisayara kuruyorum. Sonra geany den "inşaa komutlarını düzenle"den istedişiğim şekilde derleme komutlarını düzenliyorum. Şöyle ki:

g++ -Wall -o "%e" "%f" -std=c++17 -D JARBAY_DEBUG

geany ilk kurulduğunda

g++ -o "%e" "%f" 

vardı diye hatırlıyorum. Kısaca komutları kendine özel de yapabiliyorsun. Benim için baya işlevsel oluyor.

ee intellisense özelliği nasıl yani vscodedaki gibi mi

Yok(Bilemiyorum desem daha iyi olacak. Çünkü şu ana kadar ihtiyaç duymadım.). Sadece atıyorum pythonda bir fonksiyon yazdın diyelim.

elma_fonksiyonu(

dediğinde bir popupda fonksiyonun alacağı argümanları gösteriyor. Denersen beni daha iyi anlayacağını düşünüyorum.

ben programlama konusunda biraz daha bilgisiz olduğum için çok ihtiyacım var ama galiba sublime text yerine kurarım.

bu arada şuan bu ideler hakkında yazdığımız postlar konu dışı özelden mi konuşsak konuşacaksak

1 Beğeni

Öyle diyorsan bilemedim şimdi. İstiyorsan üstadların önerdiği notepad++ editorünü kullan . Bence ikisine de bir şans ver. Önceliğini notepad++ da yana kullan. Sana yardımcı olması için bir link bırakmak istiyorum.

supercoder

5 Beğeni

anlamadım neden bu fotoyu attın