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

W tablicy char dopisuje samoistnie niepożądane znaki.

Ostatnio zmodyfikowano 2017-01-23 01:45
Autor Wiadomość
yaero
Temat założony przez niniejszego użytkownika
W tablicy char dopisuje samoistnie niepożądane znaki.
» 2017-01-23 00:19:53
Zaczynam przygodę z c++
chce zadać 5 pytań odpowiedzi będą t lub n
chce wszystkie odpowiedzi wrzucić do tablicy i porównać z jakimś odpowiedziami poprawnymi np. char a={"t","t","t","n","n"};
blokuje mnie to, że gdy odpowiadam na pytania to w tablicy (tablica) dopisują się jakieś znaczki na jej końcu lub litery n t jak je wykasować lub pozbyć się problemu?

Czy jest jakiś inny sposób na to, aby "zabezpieczyć" program przed wpisywanie innych znaków/ciągów znaków niż t i n niż ten który mam?

Z góry dziękuję za rady.





C/C++
#include <iostream>
#include <string>
#include <algorithm>
#include <conio.h>
#include <cstdlib>
#include <cstdio>
#include <cstring>

using namespace std;

int main()
{ int i;
   
    char tablica[ 5 ] = { 0 };
    string pyt[ 5 ] = { "1.pytanie.",
        "2. pytanie",
        "3. pytanie?",
        "4. pytanie",
        "5. pytanie" };
   
    string odpowiedz; //pomocniczy string
   
    for( i = 0; i < 5; i++ )
    { cout << pyt[ i ] << endl;
        cin >> odpowiedz;
        transform( odpowiedz.begin(), odpowiedz.end(), odpowiedz.begin(),::tolower ); //zamiana na małe litery
        tablica[ i ] = odpowiedz[ 0 ]; //wrzucenie do tablicy kolejnych odpowiedzi
       
       
        //warunek sprawdzający czy uzytkownik wpisal poprawna litere t lub n
       
        while( tablica[ i ] != 't' && tablica[ i ] != 'n' )
        { cout << "wpisz t lub n" << endl;
            cin >> odpowiedz;
            transform( odpowiedz.begin(), odpowiedz.end(), odpowiedz.begin(),::tolower );
            tablica[ i ] = odpowiedz[ 0 ];
        }
       
    }
    cout << tablica << endl; //wypisuje wprowadzone odpowiedzi
    return 0;
}
P-156807
pekfos
» 2017-01-23 01:45:26
C/C++
char tablica[ 5 ] = { 0 };
Zamień 5 na 6.
P-156810
« 1 »
  Strona 1 z 1