Şimdi Ara

Switch-case ile ilgili

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
1 Misafir - 1 Masaüstü
5 sn
3
Cevap
0
Favori
297
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
Öne Çıkar
0 oy
Sayfa: 1
Giriş
Mesaj
  • Arkadaşlar ödevim var ve sıkıntı yaşıyorum soru kısmen şöyle; Bir menü oluşturmam isteniyor ve bu menü 3 bölümden oluşuyor:

    1-Geometrik şeklin çizilmesi
    2-Sayıyı tahmin etme oyunu
    3. çıkış

    Sıkıntım 1. seçenekte ve benden istenen şu; Menüden 1 seçildiğinde ekrana şu menü gelmeli:

    1. üçgen
    2. dikdörtgen
    3. kare

    Buraya kadar bir sıkıntı yok ancak bu menüden birini seçince, kullanıcıdan şeklin boyunun ve karakterinin girilmesi isteniyor. Yani ben bu menüden 3'ü seçip boy:6 ve karakter '#' girersem karşıma şu çıkmalı:

    ######
    ######
    ######
    ######
    ######
    ######

    Programın büyük bir çoğunluğunu yazdım fakat anlamadığım bir nedenden ötürü karakteri daha giremeden program kapanıyor. Şu ana kadar yazdığım kod sadece '#' karakteri için şöyle:

    #include<stdio.h>
    #include<stdlib.h>
    int main()
    {
    int menu,m1,boy,sat,sut;
    char ch;
    printf("1. Geometrik seklin cizilmesi\n");
    printf("2. Sayiyi tahmin etme oyunu\n");
    printf("3. Cikis \n");
    printf("İslem seciniz\n");
    scanf("%d", &menu);
    switch (menu){
    case 1:
    printf("1. Ucgen\n");
    printf("2. Dikdortgen\n");
    printf("3. Kare\n");
    printf("Sekil seciniz\n");
    scanf("%d", &m1);
    printf("Karakter seciniz\n");
    scanf("%c", &ch);
    break;
    switch (ch){
    case '#':
    switch (m1){
    case 1:

    printf("Ucgen boyunu giriniz\n");
    scanf("%d",&boy);
    for(sat=0;sat<=boy;sat++){
    for(sut=0; sut<sat; sut++){
    printf("#");
    }
    printf("\n");
    }
    break;
    case 2:

    printf("Dikdortgen boyunu giriniz\n");
    scanf("%d", &boy);
    for(sat=0;sat<boy;sat++){
    for(sut=0;sut<boy-1;sut++){
    printf("#");
    }
    printf("\n");
    }
    break;
    case 3:

    printf("Karenin boyunu giriniz\n");
    scanf("%d", &boy);
    for(sat=0;sat<boy;sat++){
    for(sut=0;sut<boy;sut++){
    printf("#");
    }
    printf("\n");
    }
    break;
    }
    break;
    }
    }
    system("pause");
    return 0;
    }

    Yardımcı olabilecek birileri varsa çok sevinirim nerede hatam var anlamış değilim büyük ihtimal iç-içe switch case kullandığım için yaşıyorum bu sıkıntıyı ama nasıl düzelticem bilmiyorum şimdiden teşekkürler.



    < Bu mesaj bu kişi tarafından değiştirildi Redath -- 31 Temmuz 2014; 17:43:21 >



    _____________________________



    MSI GS65 STEALTH 7RE Intel® Core™ i7-8750HQ - 16GB DDR4 - 6GB GDDR6 nVIDIA® GeForce® RTX2060 - 512 GB SSD




  • Bu şekilde çalışıyor:
     
    #include<stdio.h>
    #include<stdlib.h>
    int main()
    {
    int menu,m1,boy,sat,sut;
    char ch;
    printf("1. Geometrik seklin cizilmesi\n");
    printf("2. Sayiyi tahmin etme oyunu\n");
    printf("3. Cikis \n");
    printf("İslem seciniz\n");
    scanf("%d", &menu);
    switch (menu){
    case 1:
    printf("1. Ucgen\n");
    printf("2. Dikdortgen\n");
    printf("3. Kare\n");
    printf("Sekil seciniz\n");
    scanf("%d", &m1);
    printf("Karakter seciniz\n");
    fflush(stdin);
    scanf("%c", &ch);

    switch (m1)
    {
    case 1:
    printf("Ucgen boyunu giriniz\n");
    scanf("%d",&boy);
    for(sat=0;sat<=boy;sat++){
    for(sut=0; sut<sat; sut++){
    printf("%c",ch);
    }
    printf("\n");
    }
    break;

    case 2:
    printf("Dikdortgen boyunu giriniz\n");
    scanf("%d", &boy);
    for(sat=0;sat<boy;sat++){
    for(sut=0;sut<boy-1;sut++){
    printf("%c",ch);
    }
    printf("\n");
    }
    break;

    case 3:
    printf("Karenin boyunu giriniz\n");
    scanf("%d", &boy);
    for(sat=0;sat<boy;sat++){
    for(sut=0;sut<boy;sut++){
    printf("%c",ch);
    }
    printf("\n");
    }
    break;

    }
    break;
    }
    system("pause");
    return 0;
    }

    _____________________________




  • brk0001 B kullanıcısına yanıt
    Gerçekten çok teşekkür ederim kafayı yemek üzereydim böylelikle herhangi bir karakteri de direk yazdırabilcem tekrar çok sağolun
    _____________________________



    MSI GS65 STEALTH 7RE Intel® Core™ i7-8750HQ - 16GB DDR4 - 6GB GDDR6 nVIDIA® GeForce® RTX2060 - 512 GB SSD
  • Yapay Zeka’dan İlgili Konular
    Daha Fazla Göster
    
Sayfa: 1
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.