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

Po wpisaniu litery program się zacina

Ostatnio zmodyfikowano 2010-03-24 18:46
Autor Wiadomość
Pirotechnik
Temat założony przez niniejszego użytkownika
Po wpisaniu litery program się zacina
» 2010-03-23 15:32:48
mam taki kod:

C/C++
#include <iostream>
#include <conio.h>
#include <cstring>
#include "F:\CodeBlocks\ddt-console\ddt-console\ddtconsole.h"

int main()
{
    using namespace std;
    using ddt::console::gotoxy;
    using ddt::console::textcolor;
   
    int gracz = 0;
   
    int proba;
    proba = 0;
    const short rozmiar = 100;
    char tabgracz[ 2 ][ rozmiar ];
   
    char slowo[ rozmiar ];
    char zslowo[ rozmiar ];
    char kategoria[ rozmiar ];
   
    int wynik[ 2 ];
    wynik[ 0 ] = 0;
    wynik[ 1 ] = 0;
   
    int rundy, ilosc, i, y, n, a;
   
    //----------------------
    cout << "        Gra w haselka\n        Programista: Grzegorz Wegrzyn";
    getch();
    system( "cls" );
    a = 0;
   
    cout << "Podaj liczbe rund do rozegrania: ";
    cin >> rundy;
    cin.get();
    system( "cls" );
   
    cout << "Podaj nazwe gracza 1: ";
    cin.get( tabgracz[ gracz ], rozmiar ).get();
    ++gracz;
    cout << "Podaj nazwe gracza 2: ";
    cin.get( tabgracz[ gracz ], rozmiar ).get();
    --gracz;
    system( "cls" );
   
    do
    {
        cout << "Pozostalo rund: " << rundy;
        getch();
        system( "cls" );
       
        //-----rozgrywka
        cout << "              Gracz " << tabgracz[ gracz ] << endl;
        getch();
        system( "cls" );
        cout << "Podaj kategorie a potem slowo: \nKategoria: ";
        cin.get( kategoria, rozmiar ).get();
        cout << "Haslo: ";
        cin.get( slowo, rozmiar );
        cin.get();
        system( "cls" );
        //-------------
        ++gracz;
        if( gracz > 1 )
        {
            gracz = 0;
        } else;
       
        cout << "              Gracz " << tabgracz[ gracz ];
        getch();
        system( "cls" );
        //-----------------
        cout << "Kategoria: " << kategoria << endl;
        //cout << "Liczba liter: " << strlen(slowo) << endl;
       
        ilosc = strlen( slowo );
        i = 0;
        y = 20;
        do
        {
            gotoxy( y, 8 );
            cout << "_ ";
            ++i;
            y = y + 2;
        } while( i < ilosc );
       
        gotoxy( 1, 2 );
       
       
        do
        {
            cin.get( zslowo, rozmiar ).get();
            ilosc = strlen( zslowo );
            if( ilosc = 1 );
           
            {
                y = 20;
                do
                {
                    n = 0;
                    gotoxy( 8, y );
                    y = y + 2;
                    ++n;
                    if( strcmp( & slowo[ n ], zslowo ) )
                    {
                        cout << zslowo;
                        ++a;
                    };
                } while( ilosc = 1 );
               
                if( a = 0 )
                {
                    ++proba;
                    cout << "Proba: " << proba << endl;
                };
            };
           
            if( ilosc > 1 )
            {
                ++proba;
                cout << "Proba: " << proba << endl;
            };
        }
        while( strcmp( zslowo, slowo ) == false );
       
        system( "cls" );
        cout << "Kategoria: " << kategoria << "\nHaslo: " << slowo << endl;
        cout << "\nBrawo!! Udalo ci sie za " << proba << " razem!!";
        getch();
       
        //-------Wyniki
        cout <<(( proba < 10 )
        ? ++wynik[ gracz ]
            : --wynik[ gracz ] );
        system( "cls" );
       
        cout << "Wyniki po rundzie:  " << tabgracz[ 0 ] << " : " << wynik[ 0 ] << endl;
        cout << "                    " << tabgracz[ 1 ] << " : " << wynik[ 1 ] << endl;
        getch();
        system( "cls" );
       
        if( gracz > 1 )
        {
            gracz = 0;
        } else;
       
        --rundy;
        proba = 0;
    } while( rundy > 0 );
   
    if( wynik[ 0 ] < wynik[ 1 ] )
    {
        cout << "Zwyciezca " << tabgracz[ 1 ] << "!!";
    } else if( wynik[ 0 ] > wynik[ 1 ] )
    {
        cout << "Zwyciezca " << tabgracz[ 0 ] << "!!";
    } else if( wynik[ 0 ] = wynik[ 1 ] )
    {
        cout << "Remis!! Obaj gracze otrzymali po: " << wynik[ 0 ] << " pkt.";
    };
    getch();
    return( 0 );
}

i po wpisaniu jakiejs litery lu b slowa zacina mi sie program

#pixelmaster: zmieniłem tytuł
P-15383
Pirotechnik
Temat założony przez niniejszego użytkownika
» 2010-03-23 15:33:07
prosze o pomoc!!
P-15384
filipesq
» 2010-03-23 15:43:30
C/C++
cin.get( kategoria, rozmiar ).get();
Zgadnij co jest nie tak z tą linijką :p
P-15385
Pirotechnik
Temat założony przez niniejszego użytkownika
» 2010-03-23 15:48:38
tam wszystko dziala..
przerywa dopiero pozniej...
przy :

cin.get(zslowo, rozmiar).get();
P-15387
Pirotechnik
Temat założony przez niniejszego użytkownika
» 2010-03-23 16:05:34
odpisze ktos??
P-15389
malan
» 2010-03-23 16:11:44
cin.get( kategoria, rozmiar );
P-15390
DejaVu
» 2010-03-23 16:13:28
A tak swoją drogą polecałbym używać getline(cin,zmienna_string), jeśli wczytujesz tekst.
P-15391
Pirotechnik
Temat założony przez niniejszego użytkownika
» 2010-03-23 16:15:08
jeszcze gorzej ( do 'malana')
P-15392
« 1 » 2
  Strona 1 z 2 Następna strona