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

Zadannie z rodziału XII projektowanie aplikacji

Ostatnio zmodyfikowano 2009-09-20 18:21
Autor Wiadomość
szkuner
Temat założony przez niniejszego użytkownika
Zadannie z rodziału XII projektowanie aplikacji
» 2009-09-17 12:34:24
Prosze o podpowiedz jak zrobić warunek sprawdzający czy jest to litera czy liczba.
Czy ma to być tablica i forem sprawdzać co wpisaliśmy a dalej to puszczać lub powtarzać . Czy if i else nad tym myśle no i oczywiśćie prosił bym o pomoc w tym problemie co wybrać lub jak sobie to ułożyć by działało.
A tu daje tyle ile napisałem narazie:
C/C++
conio.h >
#include "ddtconsole.h"
#include <ctime>
#include <cctype>
using namespace std;
using namespace ddt::console;
void textcolor( int kolor = 12 );

int main()
{
   
    const char bad[ 10 ] = { "Zly wybor" };
    const char forum[ 50 ] = { "Panel Administracyjny forum DDT" };
    const char odp[ 40 ] = { "Od czego chcesz zaczac moj lordzie:" };
    const char menu_alerty[ 5 ][ 5 ][ 500 ] =
    {
        {
            "1.Czytaj logi",
            "2.Usun tematy",
            "3.Lista oczekujacych prac",
            "4.Pauza",
            "5.Koniec",
        },
        {
            "17.09.2009 00:05 Przeprowadzono atak SYN Flooding - IP:192.123.1.1",
            "16.09.2009 12:34 Z Aktualizowano Kurs C++",
            "15.09.2009 13:09 Zarejestrował się uzytkownik funia "
        },
        {
            "Tematy Przeznaczone do usuniecia:",
            "1. GroupID = 195",
            "2. GroupID = 145",
            "3. GroupID = 115",
        },
       
        {
            "1. Dokumentacja.",
            "2. Dzial Pliki.",
            "3. Artykuly.",
            "Sygnatury zamkniecia by Dante."
        },
        {
            "Szefie zrob sobie przerwe, ",
            "ile potrzebujesz minut?",
            "Twoja przerwa wyniesie(w sekundach): ",
            "Niestety przerwa juz minela czas do roboty."
        },
    };
   
    gotoxy( 25, 1 );
    {
        cout << forum;
    }
    int textcolor = 5;
    gotoxy( 8, 4 );
    {
        cout << menu_alerty[ 0 ][ 0 ];
    }
    gotoxy( 40, 4 );
    {
        cout << menu_alerty[ 0 ][ 2 ];
    }
    gotoxy( 8, 6 );
    {
        cout << menu_alerty[ 0 ][ 1 ];
    }
    gotoxy( 40, 6 );
    {
        cout << menu_alerty[ 0 ][ 3 ];
    }
    gotoxy( 40, 8 );
    {
        cout << menu_alerty[ 0 ][ 4 ];
    }
    int wybor;
   
    gotoxy( 8, 10 );
    {
        cout << odp;
    }
    while(( cin >> wybor ).get() )
    if( wybor = isdigit( wybor ) )
    {
        switch( wybor )
       
        {
        case 1:
            {
                cout << bad;
            };
            break;
        case 2:
            {
               
            };
            break;
        case 3:
            {
               
            };
            break;
        case 4:
            {
               
            };
            break;
        case 5:
            {
               
            };
            break;
            default:
            {
                cout << bad;
            };
            break;
        } //nawias od switcha chyba :)
    }
    else if( wybor = isalpha( wybor ) )
   
} //koniec
No i jeszcze sprawa z jak czyścić ekran i zmieniać kolor próbowałem ale jakoś mi to nie wychodzi prosze o pokazanie mi błęndu gdzie go robie jezeli chodzi o te dwie sprawy.
P-10291
DejaVu
» 2009-09-17 15:00:08
a=b; //przypisanie
a==b; //porównanie
if( wybor = isdigit( wybor ) )
Powyższa linijka zadziała tak:
isdigit(wybor) - zwróci 1 albo 0
wybor = {1 albo 0} - w zależności od zwróconej wartości przez funkcję isdigit
Jeśli to była cyfra to wejdzie w warunek. Stracisz jednak informację o tym jaka to była cyfra.
C/C++
if( isdigit( wybor ) )
{
    cout << "Wpisana cyfra to: " << wybor << endl;
}
P-10293
szkuner
Temat założony przez niniejszego użytkownika
» 2009-09-17 15:21:47
Czyli nici z takiego rozwiązania moze ktoś mi podpowie jak sie do tego zabracczego użyć lub co powtórzyć.:)
 
I teraz pytanie się nasuwa jak to zmienić żeby było dobrze.
No i jak wyjść z tej petli tak żeby się dało powtórzyć tego samego switcha  tego nie kapuje bo warunek to sobie w sumie wymyśle.
P-10294
szkuner
Temat założony przez niniejszego użytkownika
» 2009-09-17 17:05:31

C/C++
#include <iostream>
#include <conio.h>
#include "ddtconsole.h"
#include <ctime>
#include <cctype>
using namespace std;
using namespace ddt::console;


int main()
{
    float sek;
    const char bad[ 30 ] = { "Nareszcie mozesz isc spac" };
    const char forum[ 50 ] = { "Panel Administracyjny forum DDT" };
    const char odp[ 40 ] = { "Od czego chcesz zaczac moj lordzie:" };
    const char menu_alerty[ 5 ][ 5 ][ 100 ] =
    {
        {
            "1.Czytaj logi",
            "2.Usun tematy",
            "3.Lista oczekujacych prac",
            "4.Pauza",
            "5.Koniec",
        },
        {
            "17.09.2009 00:05 Przeprowadzono atak SYN Flooding - IP:192.123.1.1",
            "16.09.2009 12:34 Zaktualizowano Kurs C++",
            "15.09.2009 13:09 Zarejestrował się uzytkownik funia "
        },
        {
            "Tematy Przeznaczone do usuniecia:",
            "1. GroupID = 195",
            "2. GroupID = 145",
            "3. GroupID = 115",
        },
       
        {
            "1. Dokumentacja.",
            "2. Dzial Pliki.",
            "3. Artykuly.",
            "Sygnatury zamkniecia by Dante."
        },
        {
            "Szefie zrob sobie przerwe, ",
            "ile potrzebujesz minut?",
            "Twoja przerwa wyniesie(w sekundach): ",
            "Niestety przerwa juz minela czas do roboty."
        },
    };
   
    gotoxy( 25, 1 );
    {
        cout << forum;
    }
    textcolor( 10 );
    gotoxy( 8, 4 );
    {
        cout << menu_alerty[ 0 ][ 0 ];
    }
    gotoxy( 40, 4 );
    {
        cout << menu_alerty[ 0 ][ 2 ];
    }
    gotoxy( 8, 6 );
    {
        cout << menu_alerty[ 0 ][ 1 ];
    }
    gotoxy( 40, 6 );
    {
        cout << menu_alerty[ 0 ][ 3 ];
    }
    gotoxy( 40, 8 );
    {
        cout << menu_alerty[ 0 ][ 4 ];
    }
    int wybor;
   
    gotoxy( 8, 10 );
   
   
    cout << odp;
   
    while( 1 )
    {
        while( !( cin >> wybor ) ) { // jesli obiekt cin przejdzie w stan "false" wykonaj petle:
            cin.clear(); // "uzdrowienie" obiektu cin
            while( cin.get() != '\n' ) // petla usuwajaca smieci z bufora
                 continue;
           
            cerr << endl << "Nieprawidlowy typ danych, sprobuj ponownie:\n";
           
            cin >> wybor;
        }
        switch( wybor )
       
        {
        case 1:
            {
                cout << menu_alerty[ 1 ][ 0 ] << endl;
                cout << menu_alerty[ 1 ][ 1 ] << endl;
                cout << menu_alerty[ 1 ][ 2 ] << endl;
                cout << menu_alerty[ 1 ][ 3 ] << endl;
                cout << menu_alerty[ 1 ][ 4 ] << endl;
            };
            break;
        case 2:
            {
                cout << menu_alerty[ 2 ][ 0 ] << endl;
                cout << menu_alerty[ 2 ][ 1 ] << "\t" << menu_alerty[ 2 ][ 2 ] << "\t" << menu_alerty[ 2 ][ 3 ]
                << endl << endl;
               
            };
            break;
        case 3:
            {
                cout << menu_alerty[ 2 ][ 4 ] << endl;
                cout << menu_alerty[ 3 ][ 0 ] << endl;
                cout << menu_alerty[ 3 ][ 1 ] << endl;
                cout << menu_alerty[ 3 ][ 2 ] << endl;
                cout << menu_alerty[ 3 ][ 3 ] << endl;
                cout << menu_alerty[ 3 ][ 4 ] << endl;
            };
            break;
        case 4:
            { cout << menu_alerty[ 4 ][ 0 ] << endl << endl;
                cout << menu_alerty[ 4 ][ 1 ] << endl;
                ( cin >> sek ).get();
                clock_t start = clock();
                clock_t koniec = int( sek * 60 ) * CLOCKS_PER_SEC;
                cout << menu_alerty[ 4 ][ 2 ] << sek * 60 << endl;
                while( clock() - start < koniec );
               
                cout << menu_alerty[ 4 ][ 3 ] << endl << endl;
               
            };
            break;
        case 5:
            {
               
               
                clock_t start1 = clock(); //rozpoczecie pracy zegara
                clock_t koniec2 = 1 * CLOCKS_PER_SEC; //wyznaczenie jednej sekundy
                for( int k = 5; k > 0; k-- ) //odliczanie do zera
                {
                    cout << bad << "-" << k << endl; //wyswietlenie licznika
                    while( clock() - start1 < koniec2 ); //finish
                   
                   
                }
                /*for(;;)
                {
                clrscr();
               
                gotoxy(68,16);
                          {
                          cout<<"/";
                          }
                          gotoxy (68,16);
                          {
                          cout<<"-";
                          }
                          gotoxy(68,16);
                          {
                          cout<<"/";
                          }
                }*/
            };
            break;
           
           
            //nawias od switcha chyba :)
        }
    }
    getch();
} //koniec

Prosze o uwagi i wpadłem na pomysł że skoro na forum są takie talenty do wymyślania fajnych niepowtarzalnych zadań to może w jakimś poście ktośby zamiescił jakieś ciekawe zadania żeby utrwalić materiał.
P-10295
DejaVu
» 2009-09-20 15:16:01
Że tak powiem trochę mnie tu nie było - problem już rozwiązałeś?
P-10333
szkuner
Temat założony przez niniejszego użytkownika
» 2009-09-20 18:21:26
Tak już wszystko działa teraz morduje się z funkcjami i trzeba bedzie ćwiczyć nabytą wiedze perfekcji.:)
P-10341
« 1 »
  Strona 1 z 1