Witam was znowu serdecznie, chcialem zgłosić problem w tym oto programie:
#include <iostream>
#include <fstream>
#include <cstdlib>
#include<cstring>
#include <conio.h>
using namespace std;
void odczyt_cezar(){
fstream plik;
plik.open("wizytowka.txt",ios::in);
if(plik.good()==false)
{
cout<<"Plik nie wczytany"<<endl;
exit(0);
}
int klucz;
cout<<"podaj wspolczynnik przesuniecia"<<endl;
cin >> klucz;
string tekst;
int nr_lini = 1;
while(getline(plik,tekst))
{
cout<<tekst<<endl;
nr_lini++;
}plik.close();
int dlugosc=tekst.length();
for(int i=0;i<=dlugosc ;i++){
if(tekst[i]>=65 && tekst[i]<=90) tekst[i]=(tekst[i]-65+klucz)%26+65;
else if(tekst[i]>=97 && tekst[i]<=122) tekst[i]=(tekst[i]-97+klucz)%26+97;
}
cout << tekst<<endl;
plik.open("wiytowka_1.txt",ios::out);
plik<<tekst<<endl;
plik.close();
}
void wprowadzenie_cezar()
{
const short rozmiar = 100;
char tekst[rozmiar];
int klucz;
cout<<"podaj tekst do zaszyfrowania"<<endl;
cin.getline(tekst,rozmiar);
cout<<"podaj wspolczynnik przesuniecia"<<endl;
cin >> klucz;
for(int i=0;i<=rozmiar ;i++){
if(tekst[i]>=65 && tekst[i]<=90) tekst[i]=(tekst[i]-65+klucz)%26+65;
else if(tekst[i]>=97 && tekst[i]<=122) tekst[i]=(tekst[i]-97+klucz)%26+97;
}
cout << tekst<<endl;
}
int main()
{
int x;
cout<<"chcesz odczytac tekst z pliku czy sam chcesz go wprowadzic?"<<endl;
cout<<"[1] by odczytac z pliku"<<endl;
cout<<"[2] by wpisac samemu tekst"<<endl;
cin>>x;
if(x==1)
odczyt_cezar();
else if(x==2)
wprowadzenie_cezar();
return 0;
}
Problem wygląda tak, że mianowicie nie chce mi prawidlowo odczytac funkcji "wprowadzenie_cezar". Wyswietla tylko to co ma do wyswietlenia, a nie pozwala wprowadzic danych. Dodatkowo jak w funkcji "int main()" wprowadzilem if(x=1) to cały program sie kr
zaczył, nie wiem dlaczego. Mógłbym prosic o pomoc w zrozumienu problemu, gdzie mam bląd? Dodam tylko, że "wprowadzenie_cezar" jako osobny program działa prawidłowo.