Witamy na forum PC Format Zapraszamy do REJESTRACJI


Użytkownicy przeglądający ten wątek: 1 gości

Banalny blad w prostym programie, ktorego nie moge odszukac

#1
Banalny blad w prostym programie, ktorego nie moge odszukac
Witam. Zacząłem się uczyć C++ z "Symfonii C++ Standard" Grębosza i chciałem sobie napisać program szyfrujący (bardzo prosty). A to z powodu tego, że niedawno przeczytałem ciekawą książkę, "Cyfrowa Twierdza".
Dev-C++ wywala mi błąd w linijce cin >> wiadomosc;.
Kod programu:
Kod:
#include <iostream>
using namespace std;
int main ()
{
    cout << "Wpisz wiadomość.";
    volatile char wiadomosc;
    cin >> wiadomosc;
    'wiadomosc' + 1;
    std::cout << "Wynik:\n "
              << wiadomosc; << endl;
    
}
system ("pause");

Jestem świadom tego, że program niekoniecznie całą wiadomość by zmienił, ale przynajmniej jeden znak wpisany przez usera - powinien.
Prosiłbym o wyjaśnienie mi, dlaczego to jest źle. Nie mogę do tego dojść, a przepisałem inny program z książki, w kórym występuje cin i dał się skompilować i uruchomić.

Z góry dzięki za pomoc w przeskoczeniu przeszkody hamującej mój rozwój.
Polak nie wielbłąd, wypić musi. ;-]
SZKOŁA - specjalny zakład karno opiekuńczy łączący analfabetów
 System operacyjny: windows_xp_2003 Przeglądarka: firefox
#2
RE: Banalny blad w prostym programie, ktorego nie moge odszukac
Kod:
'wiadomosc'
Co to jest?!
Kod:
<< wiadomosc; << endl;
I jeszcze to.
 System operacyjny: windows_xp_2003 Przeglądarka: firefox
#3
RE: Banalny blad w prostym programie, ktorego nie moge odszukac
Kod:
<< wiadomosc[b];[/b] << endl;

Usuń ten średnik z powyższego fragmentu kodu.
 System operacyjny: windows_vista Przeglądarka: firefox
#4
RE: Banalny blad w prostym programie, ktorego nie moge odszukac
No tam w książce jest coś takiego napisane: 'znak' +1. I autor wyjaśnia, że jeśli wpisze się literę a, a ona w SCII ma kod 97, to później program wypisze b, ponieważ 97 + 1 = 98, a to w ASCII jest b.
No zasadniczo to ta instrukcja miała wypisać przekonwertowany tekst.
Usunięcie średnika nic oczywiście nie dało.
Polak nie wielbłąd, wypić musi. ;-]
SZKOŁA - specjalny zakład karno opiekuńczy łączący analfabetów
 System operacyjny: windows_xp_2003 Przeglądarka: firefox
#5
RE: Banalny blad w prostym programie, ktorego nie moge odszukac
Ależ tak nie można zapisać
Cytat:'wiadomość'
, bo
Cytat:''
oznacza JEDEN znak (a dokładnie - jego kod ASCII lub kod w aktualnej stronie kodowej). Możesz faktycznie napisać
Cytat:'a' + 1
, co znaczy "do kodu ASCII literki a dodaj 1 (czyli literka b). Jeśli chcesz dodać do zmiennej wiadomość jedynkę - zrób to tak:

Cytat:#include <iostream>
using namespace std;
int main ()
{
cout << "Wpisz wiadomość. ";
char wiadomosc;
cin >> wiadomosc;
wiadomosc += 1;
std::cout << "Wynik:\n " << wiadomosc << endl;
}
system ("pause");
Pozdrawiam.
[Obrazek: 16359.png]
[Obrazek: 15712.jpg]
 System operacyjny: windows_vista Przeglądarka: mozilla
#6
RE: Banalny blad w prostym programie, ktorego nie moge odszukac
Kod:
#include <iostream>
using namespace std;
int main ()
{
    cout << "Wpisz wiadomość.";
    char wiadomosc;
    cin >> wiadomosc;
    wiadomosc += 1;
    cout << "Wynik:\n " << wiadomosc << endl;
    
}
system ("pause");

przy próbie skompilowania tego kodu wywala błąd w linijce system("pause");

PS. Trochę trudno mi jest operować, ponieważ nie mam myszki i dłużej schodzi.
Polak nie wielbłąd, wypić musi. ;-]
SZKOŁA - specjalny zakład karno opiekuńczy łączący analfabetów
 System operacyjny: windows_xp_2003 Przeglądarka: firefox
#7
RE: Banalny blad w prostym programie, ktorego nie moge odszukac
Wrzuć system("pause"); przed ostatnią klamrę.
 System operacyjny: windows_xp_2003 Przeglądarka: firefox
#8
RE: Banalny blad w prostym programie, ktorego nie moge odszukac
Przepraszam, niedopatrzenie. Wykonaj poradę quavitora i spróbuj skompilować kod.
PS. ten szyfr jest w takim stopniu bezpieczny, w jakim ja opanowałem balet (czytaj: zero).
Pozdrawiam.
[Obrazek: 16359.png]
[Obrazek: 15712.jpg]
 System operacyjny: windows_vista Przeglądarka: mozilla
#9
RE: Banalny blad w prostym programie, ktorego nie moge odszukac
Wiem, ale żeby pisać programy trzeba mieć na nie pomysły. Zawsze można coś w taki programie przećwiczyć. Przynajmniej mnie się tak zdaje.

Dobra, teraz program działa.
Mógłbym was teraz prosić jeszcze o coś? Jak zrobić, by program wczytywał nie jeden znak, a ciąg znaków?
Czy zastosować tablice czy coś innego?
Obecny kod programu:
Kod:
#include <iostream>
using namespace std;
int main ()
{
    cout << "Wpisz wiadomość.";
    char wiadomosc;
    cin >> wiadomosc;
    wiadomosc += 1;
    cout << "Wynik:\n " << wiadomosc << endl;
system ("pause");    
}
Polak nie wielbłąd, wypić musi. ;-]
SZKOŁA - specjalny zakład karno opiekuńczy łączący analfabetów
 System operacyjny: windows_xp_2003 Przeglądarka: firefox
#10
RE: Banalny blad w prostym programie, ktorego nie moge odszukac
Zdefiniuj tablicę znaków albo string. Czyli
Kod:
char tablica[100];
//string ciag;
cin>>tablica;
//cin>>ciag;
Jeśli chcesz skorzystać ze stringu, to musisz załączyć bibliotekę <string>.
 System operacyjny: windows_xp_2003 Przeglądarka: firefox
Programy: Polecane / Nowe / Inne



Użytkownicy forum szukali:
"program szyfrujacy" "open source"

Podobne wątki (Banalny blad w prostym programie, ktorego nie moge odszukac)
Wątek: Autor Odpowiedzi: Wyświetleń: Ostatni post
  Edytowanie rozdzielczości okna w programie Kasjan 5 4477 31.10.2014, 16:45
Ostatni post: koneton
  [C++] Wspólna zmienna/struktura w programie i w DLL kikiw 8 4802 26.08.2014, 16:27
Ostatni post: kikiw
  SFML co oznacza ten blad? niepowiem1993 0 3188 28.07.2014, 17:29
Ostatni post: niepowiem1993

Skocz do:


Wybrane wątki (Banalny blad w prostym programie, ktorego nie moge odszukac)
Wątek: Autor Odpowiedzi: Wyświetleń: Ostatni post
Ściana Prosta gra w Builder C++ Kiranek1 1 9132 31.05.2019 15:20
Ostatni post: Szachista
  Menu (Nie widoczne długie opisy) wanhelsing 5 11176 28.04.2019 19:31
Ostatni post: koneton
  Skrypt usuwający pliki sylwiaa1 2 4471 28.04.2019 15:20
Ostatni post: sylwiaa1
  Środowisko do assemblera Physicist 4 10403 21.04.2019 14:04
Ostatni post: Ajgor
  VBA excel dmjs 6 10676 17.04.2019 10:20
Ostatni post: ptrick
  C++ - sens pogłębiania nauki gbr 5 10365 25.03.2019 12:53
Ostatni post: koneton
  Klasa wewnętrzna w C++ Physicist 4 10016 23.03.2019 18:28
Ostatni post: Physicist
  Ruby on Rails - tutoriale luciussulla 0 9125 23.03.2019 16:49
Ostatni post: luciussulla
Big Grin Czy dostane sie technikum informatycznego klaudiusz20046 6 12764 21.03.2019 01:28
Ostatni post: UnableToSee
  [C#] Program do moderacji czatów gier wiktrom12 0 9619 07.03.2019 15:33
Ostatni post: wiktrom12
  Mój pierwszy projekt - Pomoc rafal12999 1 10053 07.02.2019 22:01
Ostatni post: Szachista
  pomoc projekt scilab piesel18 2 11527 04.02.2019 09:03
Ostatni post: piesel18
  Szkoła Informatyczna Zikinan 1 10355 02.02.2019 17:59
Ostatni post: wojownikhaha
  [Java] Strona z zadaniami do rozwiązania i odpowiedziami rafal12999 2 11152 27.01.2019 13:44
Ostatni post: rafal12999
  kompilacja biblioteki Agui - cmake jurek2 0 10380 10.01.2019 13:12
Ostatni post: jurek2