Witam w pierwszym moim poście na forum ;) Jestem początkujący jeżeli chodzi o programowanie, mam następujące zadanie:
Coś kombinowałem i mam taki kod:
#include <iostream>
#include <stdio.h>
using namespace std;
char duzaLitera(char x, int b)
{
if(x>=65 && x<=90-b)
x=int(x)+b;
else if(x>=91-b && x<=90)
x=int(x)-26+b;
return x;
}
char malaLitera(char x, int b)
{
if(x>=97 && x<=122-b)
x=int(x)+b;
else if(x>=123-b && x<=122)
x=int(x)-26+b;
return x;
}
char szyfruj(char tab[], int b)
{
char szyfr[99];
for (int i=0;i<99; i++)
{
if (tab[i]>64 && tab[i]<91)
szyfr[i]=duzaLitera(tab[i],b);
if (tab[i]>96 && tab[i]<123)
szyfr[i]=malaLitera(tab[i],b);
}
return szyfr[99];
}
int main()
{
int x,b;
char a[99];
cout << "Enter a string: ";
fgets (a, sizeof(a), stdin);
cout << "Enter a integer number: ";
cin >> x;
b = x%26;
cout << "Zaszyfrowany napis = " << szyfruj(a,b);
return 0;
}
Kod jednak nie działa prawidłowo, oprócz tego, jak wprowadzić znak końca napisu nie znając jego dokładnej długości?
Prosiłbym o jakieś wskazówki i wyrozumiałość, bo jestem poczatkujacy :D