İçeriğe geç
ShiftDelete.Net
Haber ara/ SDN'ye SorGiriş
Haber Akışı SDNTV İnceleme Forum Yapay Zeka Akıllı Telefon Elektrikli Otomobil Oyun ShiftDelete.Net Global Teknoloji Haberleri Mobil Otomobil Donanım Savunma Bilim Sosyal Medya İnternet Giyilebilir Teknoloji Rehber Ürünler Son dakika Yazarlar
  1. Ana sayfa
  2. Topluluk
  3. Programlama
  4. Programlama Dilleri
Programlama Dilleri

DevC .exe çalışmayı durdurdu.Yardım

canberkay01.01.20141 cevap7.394 görüntüleme
2013'den beri11 mesaj
#1
Arkadaşlar selam.Girilen string içindeki sesli harfleri(türkçe karakterler hariç ve pointer kullanarak) bulmaya yarayan kod yazmaya çalışıyorum fakat bir sorunla karşılaşıyorum.Çalıştırdığımda kod ekranı açılıyor fakat bir string girdiğimde dosyaismi(herneyse).exe çalışmayı durdurdu diyor ve çözüm aramaya başlıyor ama bulamıyor.Çözüm nedir ? Acil yardımlarınızı bekliyorum..

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

int main(int argc, char *argv[])
{
int a,e,i,o,u;
int *ptr_a,*ptr_e,*ptr_i,*ptr_o,*ptr_u;

char str[500];

printf("Bir string giriniz\n\n");
scanf("%s",str);

while(str!='\0')
{
switch(str)
{
case 'a':
*ptr_a+=1;
break;
case 'e':
*ptr_e+=1;
break;
case 'i':
*ptr_i+=1;
break;
case 'o':
*ptr_o+=1;
break;
case 'u':
*ptr_u+=1;
break;
default:

i++;
}
}

printf("Girdiginiz 'a' harfi sayisi %d\n", *ptr_a);
printf("Girdiginiz 'e' harfi sayisi %d\n", *ptr_e);
printf("Girdiginiz 'i' harfi sayisi %d\n", *ptr_i);
printf("Girdiginiz 'o' harfi sayisi %d\n", *ptr_o);
printf("Girdiginiz 'u' harfi sayisi %d\n", *ptr_u);



system("PAUSE");
return 0;
}
Cevaplar
2011'den beri505 mesaj
#2
Int Pointer'lara başlangıç değeri atamadığından dolayı böyle bir hata ile karşılaşıyorsun. Programının düzeltilmiş hali şöyle:

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


int main(int argc, char *argv[])
{
    

    int a, e, i = 0, o, u;
    int  *ptr_a = new int(0),*ptr_e = new int(0), *ptr_i = new int(0), *ptr_o = new int(0), *ptr_u = new int(0);

    char str[500];

    printf("Bir string giriniz\n\n");
    scanf("%s", str);

    while (str[i] != '\0')
    {
        switch (str[i])
        {
        case 'a':
            *ptr_a += 1;
            break;
        case 'e':
            *ptr_e += 1;
            break;
        case 'i':
            *ptr_i += 1;
            break;
        case 'o':
            *ptr_o += 1;
            break;
        case 'u':
            *ptr_u += 1;
            break;
        default:
            break;
    }
        i++;
    }

    printf("Girdiginiz 'a' harfi sayisi %d\n", *ptr_a);
    printf("Girdiginiz 'e' harfi sayisi %d\n", *ptr_e);
    printf("Girdiginiz 'i' harfi sayisi %d\n", *ptr_i);
    printf("Girdiginiz 'o' harfi sayisi %d\n", *ptr_o);
    printf("Girdiginiz 'u' harfi sayisi %d\n", *ptr_u);



    system("PAUSE");
    return 0;
}

Cevabını yaz

Cevap yazmak için giriş yap ya da üye ol. Eski forum kullanıcı adın ve parolanla girebilirsin.