Çözüldü gets ve fgets komutları çalışmıyor

Bu konu çözüldü olarak işaretlenmiştir. Çözülmediğini düşünüyorsanız konuyu rapor edebilirsiniz.

Chucker

Megapat
Katılım
25 Ağustos 2016
Mesajlar
489
Çözümler
3
Daha fazla  
Cinsiyet
Erkek
Böyle bir kod yazdım fakat ne "gets" ne de "fgets" komutuyla kullanıcıdan değer alamıyorum, bir sonraki satıra geçiyor. Nerede hata yapıyorum? İsterseniz kodun devamını da atabilirim.



C:
#include <stdio.h>
#include <stdlib.h>

int main()
{
    //tanimlama
    int tc_kimlik,cocuk_sayisi,engelli_oran,buyuk6,kucuk6,muaf;
    float aylik_brut,net_ucret;

    char medeni_durum,engelli,calisan_sayisi,e,es_calisma,ad_soyad[30];
    //okuma

     do{
        printf("Lutfen calisanin TC Kimlik Numarasini giriniz.\n");
        scanf("%d",&tc_kimlik);
        printf("Lutfen calisanin Adini ve Soyadini giriniz.\n");
        fgets(ad_soyad, 29, stdin);
 
Kodun geri kalanının bulunduğu DLC kaç dolar EA bey?
Kusura bakmayın.

C:
#include <stdio.h>
#include <stdlib.h>

int main()
{
    //tanimlama
    int tc_kimlik,cocuk_sayisi,engelli_oran,buyuk6,kucuk6,muaf;
    float aylik_brut,net_ucret;

    char medeni_durum,engelli,calisan_sayisi,e,es_calisma,ad_soyad[30];
    //okuma

     do{
        printf("Lutfen calisanin TC Kimlik Numarasini giriniz.\n");
        scanf("%d",&tc_kimlik);
        printf("Lutfen calisanin Adini ve Soyadini giriniz.\n");
        fgets(ad_soyad, 29, stdin);

        printf("Lutfen calisanin Aylik Brut Ucretini giriniz.\n");
        scanf("%f",&aylik_brut);

        do{
        printf("Lutfen calisanin Medeni Durumunu giriniz.(e/b)\n");
        scanf(" %c",&medeni_durum);}
        while (medeni_durum!='e' && medeni_durum!='E' && medeni_durum!='b' && medeni_durum!='B');
        if (medeni_durum=='e' || medeni_durum=='E')
            {do{
            printf("Calisanin esi calisiyor mu?(e/h)\n");
            scanf(" %c",&es_calisma);}
            while (es_calisma!='e' && es_calisma!='E' && es_calisma!='h' && es_calisma!='H');}
        else if(es_calisma=='h' || es_calisma=='H')
            {aylik_brut=aylik_brut+220.0;}

        do{
        printf("Lutfen calisanin Bakmakla Yukumlu Oldugu Cocuk Sayisini giriniz.\n");
        scanf("%d",&cocuk_sayisi);}

        while (cocuk_sayisi<0);
        if (cocuk_sayisi>0)
            {do{
            printf("Calisanin '6' yasindan buyuk kac cocugu var?\n");
            scanf("%d",&buyuk6);}
            while (buyuk6>cocuk_sayisi || buyuk6<0);
            kucuk6=cocuk_sayisi-buyuk6;
            aylik_brut=aylik_brut+kucuk6*25+buyuk6*45;}




        do{
        printf("Lutfen calisanin Engelli olup olmadiginizi giriniz.(e/h)\n");
        scanf(" %c",&engelli);}
        while (engelli!='e' && engelli!='E' && engelli!='h' && engelli!='H');
        if (engelli=='e' || engelli=='E')
            {do{
            printf("Lutfen engellilik oraninizi giriniz.\n");
            scanf("%d",&engelli_oran);}
            while(engelli_oran<1 || engelli_oran>100);
            if (engelli_oran>=80)
                muaf=900;
            else if (engelli_oran>=60 && engelli_oran<80)
                muaf=470;
            else if (engelli_oran>=40 && engelli_oran<60)
                muaf=210;
            else
                muaf=0;

                {if (aylik_brut<2000)
                net_ucret=aylik_brut-(aylik_brut-muaf)*0.15;
                else if (aylik_brut>=2000 && aylik_brut<5000)
                net_ucret=aylik_brut-(aylik_brut-muaf)*0.2;
                else if (aylik_brut>=5000 && aylik_brut<10000)
                net_ucret=aylik_brut-(aylik_brut-muaf)*0.27;
                else if (aylik_brut>=10000)
                net_ucret=aylik_brut-(aylik_brut-muaf)*0.35;}}



        do{
        printf("Baska calisan var mi?(e/h)\n");
        scanf(" %c",&calisan_sayisi);}
        while (calisan_sayisi!='e' && calisan_sayisi!='E' && calisan_sayisi!='h' && calisan_sayisi!='H');}
    while(calisan_sayisi=='e' || calisan_sayisi=='E');

    printf("Aylik net ucretiniz=%.2f\n",net_ucret);










 return 0;
}
 
Hata mesajını atar mısın ?
Hata mesajı almıyorum bir sonraki satıra geçiyor.
Kod çok karışık. Kendimce düzeltiyorum şu an ama sanırım do while döngülerini yanlış yapmışsınız. En azından benim bildiğim şekli o değil.
Scanf kullandığım zaman sıkıntı çıkmıyor aslında ama o zaman da boşluk kullanamıyorum.
 

Dosya Ekleri

  • Ekran Alıntısı.PNG
    Ekran Alıntısı.PNG
    3,7 KB · Görüntüleme: 77
Uyarı! Bu konu 5 yıl önce açıldı.
Muhtemelen daha fazla tartışma gerekli değildir ki bu durumda yeni bir konu başlatmayı öneririz. Eğer yine de cevabınızın gerekli olduğunu düşünüyorsanız buna rağmen cevap verebilirsiniz.

Technopat Haberler

Yeni konular

Geri
Yukarı