C++ Proje Ödevi Hakkında

bjk_1313
26-03-2019, 15:58   |  #1  
bjk_1313 avatarı
OP Taze Üye
Teşekkür Sayısı: 0
2 mesaj
Kayıt Tarihi:Kayıt: Mar 2019

Klavyeden girilen bir cümleyi şifreleyen “sifrele” isimli bir fonksiyonun yazılması
istenmektedir. Kullanıcı bir cümle girdikten sonra bu cümle “sifrele” fonksiyonuna referans
şeklinde parametre olarak gönderilecektir. Fonksiyona referans olarak gönderilen cümle
ekrana yazdırılacak sonra ise cümle tersten şifreli olarak ekrana tekrar yazdırılacaktır. Tersten
ekrana yazdırılır iken a yerine !, e yerine ?, i veya ı yerine (, ö veya o yerine = ve ü veya u
yerine # karakterleri kullanılacaktır. Cümlede kaç tane karakter şifrelendi, kaç tanesi
şifrelenmedi bilgisi de ekrana yazdırılacaktır.

Özellikle cümleyi tersten yazdırma konusunda problem yaşıyorum? Yardımcı olabilecek olan var mı acaba?

White-Fox
26-03-2019, 18:29   |  #2  
White-Fox avatarı
Yıllanmış Üye
Teşekkür Sayısı: 155
1,104 mesaj
Kayıt Tarihi:Kayıt: Eyl 2010
Alıntı: uk_1313  
Klavyeden girilen bir cümleyi şifreleyen “sifrele” isimli bir fonksiyonun yazılması
istenmektedir. Kullanıcı bir cümle girdikten sonra bu cümle “sifrele” fonksiyonuna referans
şeklinde parametre olarak gönderilecektir. Fonksiyona referans olarak gönderilen cümle
ekrana yazdırılacak sonra ise cümle tersten şifreli olarak ekrana tekrar yazdırılacaktır. Tersten
ekrana yazdırılır iken a yerine !, e yerine ?, i veya ı yerine (, ö veya o yerine = ve ü veya u
yerine # karakterleri kullanılacaktır. Cümlede kaç tane karakter şifrelendi, kaç tanesi
şifrelenmedi bilgisi de ekrana yazdırılacaktır.

Özellikle cümleyi tersten yazdırma konusunda problem yaşıyorum? Yardımcı olabilecek olan var mı acaba?

 Şu üniversite ve okullarda 1 tane işini bilen adam çıksa şaşarım :) (Lafım hocalarınıza)

Ben bu #,? gibi ifadeleri replace etme işini anlamadım açıkcası ödevi daha net bir şekilde izah edebilirmisin ? Merhaba yazısını verdim referans olarak şifreledim sonuç 1233456pköskda çıktı şimdi bunu ben alıp adks(Ö yerine ne gelecekse o )kp6543321 şeklinde mi yazacağım ?

bjk_1313
28-03-2019, 10:44   |  #3  
bjk_1313 avatarı
OP Taze Üye
Teşekkür Sayısı: 0
2 mesaj
Kayıt Tarihi:Kayıt: Mar 2019
Alıntı: White-Fox  
Şu üniversite ve okullarda 1 tane işini bilen adam çıksa şaşarım :) (Lafım hocalarınıza)

Ben bu #,? gibi ifadeleri replace etme işini anlamadım açıkcası ödevi daha net bir şekilde izah edebilirmisin ? Merhaba yazısını verdim referans olarak şifreledim sonuç 1233456pköskda çıktı şimdi bunu ben alıp adks(Ö yerine ne gelecekse o )kp6543321 şeklinde mi yazacağım ?

Üstüme alınmadım hocam :)

Ödevde istediği şu ; Kelimeyi girdiğiniz zaman hem tersten yazacak hem de kodda belirttiği karakterleri şifreli yazacak. Sizn verdiğiniz merhaba kelimesini !b!hr?m olarak çeviriyor örneğin. Bide burda şifreli karakter sayısı ile şifresiz karakter sayısını ekrana yazdırıyor.

İlgilendiğiniz için teşekkürler.

White-Fox
28-03-2019, 20:44   |  #4  
White-Fox avatarı
Yıllanmış Üye
Teşekkür Sayısı: 155
1,104 mesaj
Kayıt Tarihi:Kayıt: Eyl 2010
Alıntı: bjk_1313  
Üstüme alınmadım hocam :)

Ödevde istediği şu ; Kelimeyi girdiğiniz zaman hem tersten yazacak hem de kodda belirttiği karakterleri şifreli yazacak. Sizn verdiğiniz merhaba kelimesini !b!hr?m olarak çeviriyor örneğin. Bide burda şifreli karakter sayısı ile şifresiz karakter sayısını ekrana yazdırıyor.

İlgilendiğiniz için teşekkürler.

Sen geliştirirsin :

#include <iostream>
#include <stdio.h>

/* Tersten
ekrana yazdırılır iken a yerine !, e yerine ?, i veya ı yerine (, ö veya o yerine = ve ü veya u
yerine # karakterleri kullanılacaktır. Cümlede kaç tane karakter şifrelendi, kaç tanesi
şifrelenmedi bilgisi de ekrana yazdırılacaktır. */

int main(int argc, char** argv) {
       
        std::cout<<"Lutfen bir string girin!";
        char okudugumkarakterler[7] ;
        std::cin>> okudugumkarakterler;
    char terstenoku[7];
   
    for (int i = 0, k = 7; i < 7; i++, k--) {
    terstenoku = okudugumkarakterler;
}

       
       
        //std::cout<<okudugumkarakterler;
        std::cout<<"Girilen ifade tersten yazildi : "<<terstenoku;
        for(int i=0;i<7;i++){        //şifreleme kısmı burada
      
      if(terstenoku=='a'){
              terstenoku='!';
          }
          if(terstenoku=='e'){
                  terstenoku='?';
          }
          if(terstenoku=='i'){
                  terstenoku='(';
          }
          if(terstenoku=='o'){
                  terstenoku='=';
          }
          if(terstenoku=='u'){
                  terstenoku='#';
          }
          
         


        }
         std::cout<<"Girilen ifade tersten yazıldı ve şirelendi!"<<terstenoku;
       
       
       
       
       
       
       
       
       
       
       
       
        return 0;
}

NOT:Chip  şu yanıtlama yerine kaynak kodu paylaşmak için bir seçenek koysa fena olmayacak :)

White-Fox
28-03-2019, 20:53   |  #5  
White-Fox avatarı
Yıllanmış Üye
Teşekkür Sayısı: 155
1,104 mesaj
Kayıt Tarihi:Kayıt: Eyl 2010

Saymayı unutmuşum :) 

#include <iostream>
#include <stdio.h>

/* Tersten
ekrana yazdırılır iken a yerine !, e yerine ?, i veya ı yerine (, ö veya o yerine = ve ü veya u
yerine # karakterleri kullanılacaktır. Cümlede kaç tane karakter şifrelendi, kaç tanesi
şifrelenmedi bilgisi de ekrana yazdırılacaktır. */

int main(int argc, char** argv) {
       
        std::cout<<"Lutfen bir string girin!";
        char okudugumkarakterler[7] ;
        std::cin>> okudugumkarakterler;
    char terstenoku[7];
   
    for (int i = 0, k = 7; i < 7; i++, k--) {
    terstenoku = okudugumkarakterler;
}

       
        int Scount=0;
        int NsCount=0;
        //std::cout<<okudugumkarakterler;
        std::cout<<"Girilen ifade tersten yazildi : "<<terstenoku;
        for(int i=0;i<7;i++){        //şifreleme kısmı burada
      
      if(terstenoku=='a'){
              terstenoku='!';
              Scount++;
          }
          else if(terstenoku=='e'){
                  terstenoku='?';
                  Scount++;
          }
          else if(terstenoku=='i'){
                  terstenoku='(';
                  Scount++;
          }
          else if(terstenoku=='o'){
                  terstenoku='=';
                  Scount++;
          }
          else if(terstenoku=='u'){
                  terstenoku='#';
                  Scount++;
          }
          else{
                  NsCount++;
          }
         


        }
         std::cout<<"Girilen ifade tersten yazıldı ve şirelendi! : "<<terstenoku;
         std::cout<<"Sifreli harf sayisi :"<<Scount;
         std::cout<<"Şifreli olmayan karakter sayisi :"<<NsCount;
       
       
       
       
       
       
       
       
       
       
       
        return 0;
}