Arama butonu
Bu konudaki kullanıcılar: 1 misafir
5
Cevap
1093
Tıklama
0
Öne Çıkarma
C Proje Ödevi[Yardım]Az bi yer kaldı yapamıyorum...
M
15 yıl
Onbaşı
Konu Sahibi

Merhaba arkadaşlar C proje ödevim şifreleme-deşifreleme programı yazmak.Program döngü-dizi kullanılarak yapılacak (pointer filan kullanılmayacak).
quote:

ullanıcı tarafından girilen bir metni şifreleyip ekrana yazdıran veya şifreli bir metni ve öteleme miktarını alarak asıl metni bulan programı yazınız.
Program da şifreleme işlemi harflerin ötelenmesi ile oluşmaktadır. Kullanıcıdan mesaj istenir, daha sonra öteleme miktarı istenir.
Örneğin;
Hangi işlemi yapacaksınız?
1-Şifreleme
2-Deşifre
seçiminiz=1
Mesajınızı giriniz=abc
Öteleme miktarı=1
Şifreli metin=bdf
olarak gerçekleştirir. Buradaki işlem mesajın 1.harfini öteleme miktarı kadar, 2 harfini öteleme miktarından 1 fazla 3.harf 2 fazla olacak şekilde devam etmektedir.Metnin içerisinde rakam, alfa nümerik karakter ve başuk varsa aynen bırakılmaktadır.
Deşifre seçeneği seçildiğinde ise yukarıda yapılan işlemleri tersten yapacaktır.
Şifreli mesajı giriniz=bdf
öteleme miktarını giriniz=1
metininiz=abc
Dikkat edilmesi gereken bir konu örneğin metin olarak "yaz" yazıldığında, ve öteleme miktarı 1 denildiğinde y harfi z ile a harfi c ile z harfi ise c ile ötelenerek, zcc şekline dönüşmektedir. Yani z den sonra tekrar a dan başlanmaktadır. (ingiliz alfabesinde bulunan 26 harf kullanılmalıdır.)


Burdaki çoğu zımbırtıyı ayarladım ama bi türlü döngüyü nerde kıracağımı kestiremedim.Sayı olsa boşluk oolmuyo boşluk olsa alfabe sapııtıyo yardımcı olabilecek varsa çok ii olur,Selamlar...

benim yazdığım;
#include "stdio.h" 
#include "conio.h"
#include "stdlib.h"
#include "string.h"
int main()
{int ote,m,i,j,uz;

char alfa[27]="abcdefghijklmnopqrstuvwxyz";
char sayilar[11]={'1','2','3','4','5','6','7','8','9','0'};
char dizi[255];


printf("Sifrelenecek metni girin=");
gets(dizi);
printf("Sifreleme Kodunu giriniz=");
scanf("%d",&ote);
uz=strlen(dizi);

for(m=0;m<uz;m++)//1. for
{
for(i=0;i<26;i++)//2. for
{
for(j=0;j<10;j++)//3. for
{
if(dizi[m]==alfa[i])
{
printf("%c",alfa[(i+ote)%26]);ote++;
break;}
else if(dizi[m]==' ') printf("%c",dizi[m]);

else if(dizi[m]==sayilar[j])
{

printf("%c",sayilar[j]);break;
}



}//3. for sonu
}//2. for sonu
}//1. for sonu
getch();}