Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

[c++] problem z konwersją znaków na kod ascii

Ostatnio zmodyfikowano 2016-06-06 14:31
Autor Wiadomość
anna61
Temat założony przez niniejszego użytkownika
[c++] problem z konwersją znaków na kod ascii
» 2016-06-06 13:12:32
Mam zadanie: Napisz program, który z klawiatury pobierze ciąg znaków i zapisze do tablicy.
1. Wyświetl numeryczny kod ASCII każdego znaku,
2. wyświetl ciąg znaków w odwrotnej kolejności,
3. przerób pętle z podpunktu wyżej na pętlę while.

Mam już część kodu. Ale problem jest taki, że po wpisaniu np. Nc otrzymuję 78 zamiast 7899. Konwertuje mi tylko pierwszy znak. Co mam zmienić w napisanym kodzie? Oraz proszę o pomoc z punktami 2 i 3.
Z góry dziękuję.


#include "stdafx.h"
#include <iostream>

using namespace std;


int main()
{
unsigned char ciag;
int tab[256];
int i = 0;
int ascii;

cout << "Wpisz ciag znakow:" << endl;
cin >> ciag;


for (int i = 0; i < 256; i++)
{
tab[i] = ciag;
}


for (i = 0; i < 256; i++)
{
ascii = (int)tab[i];
}

cout << "Zamiana na ASCII \n" << ascii << endl;


system("pause");
    return 0;
}
P-148907
anna61
Temat założony przez niniejszego użytkownika
» 2016-06-06 13:25:28
Udało mi się przerobić kod w ten sposób:


#include <iostream>
#include <string.h>

int main()
{
    char text[100];

    std::cout << "Write text: ";
    std::cin >> text;

    for (int i = 0; i < strlen(text); i++)
       std::cout << (int)text[i];

    return 0;
}


Proszę więc tylko o pomoc z punktami 2 i 3. :)
P-148908
Gibas11
» 2016-06-06 13:30:00
W pkt. 2 iteruj po tablicy od długości minus jeden do zera włącznie. Przerobisz na while sam jeśli rozumiesz działanie fora.
P-148909
carlosmay
» 2016-06-06 14:22:19
C/C++
{
    std::string str;
    std::getline( std::cin, str );
   
    for( int i = 0; i < str.size(); ++i )
    {
        std::cout << static_cast < int >( str[ i ] );
    }
   
    for( int i = str.size() - 1; i >= 0; --i )
    {
        std::cout << str[ i ];
    }
}
P-148913
carlosmay
» 2016-06-06 14:31:56
C/C++
{
    std: 'vector<char> characters;
    char ch;
   
    while( std::cin.get( ch ) && ch != '\n'; )
    {
        characters.push_back( ch );
    }
   
    for( int i = 0; i < characters.size(); ++i )
    {
        std::cout << static_cast < int >( characters[ i ] );
    }
    // od końca, jak post wyżej
    // do zmiennej typu std::string też można tak wstawiać
}
P-148914
« 1 »
  Strona 1 z 1