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

W jaki sposób szybko i łatwo stworzyć tablicę bez ograniczenia rozmiaru?

Ostatnio zmodyfikowano 2008-10-08 17:38
Autor Wiadomość
invisiblekid
Temat założony przez niniejszego użytkownika
» 2008-10-08 14:21:50
włąśnie tak myślałem że to może być wektor, ale tak do końca nie wiedzałem jak jej używać. Dzieki wielkie! Napisze ten program od nowa ale miałbym jeszcze jedno pytanko: co to jest to słowo kluczowe "volatile"?
P-1917
invisiblekid
Temat założony przez niniejszego użytkownika
» 2008-10-08 16:35:03
Napisałem więc taką funkcję:

C/C++
#include<iostream>
#include<vector>
#include<conio.h>
#include <console.ddt>
//#include "funkcje.hpp"

using namespace std;
using namespace ddt::console;
vector < int > tablica;
int liczba;
bool finito = false;
std::string koniec;
int wypiszCiag();

void WyswietlKomunikaty()
{
    gotoxy( 1, 25 );
    textcolor( 12 );
    cout << "Aby komtynuowac wcisnij dowolny klawisz      ";
    cout << "[ESC] Wyjscie     ";
    return;
}

int main()
{
    textcolor( 15 );
    cout << "Program pobiera ciag liczb i wykonuje na nich operacje /n (albo ma w planach wykonywanie informacji)." << endl;
    do
    {
        if( tablica.size() > 0 )
        {
            clrscr();
            cout << "Wprowadziles liczby: ";
        }
        textcolor( 7 );
        for( int i = 0; i < tablica.size(); i++ ) cout << tablica[ i ] << ", ";
       
        cout << endl;
        cout << "Wprowadz liczbe: " << endl;
        cin >> liczba;
        tablica.push_back( liczba );
        cout << "Czy chcesz zakonczyc wprowadzanie? [T/N] :";
        cin >> koniec;
        if(( koniec == "t" ) ||( koniec == "T" ) ) finito = true;
       
    } while( finito = true );
   
    WyswietlKomunikaty();
   
    unsigned char znak = getch();
    switch( znak )
    {
    case 27:
        koniec = true;
        break;
    }
    return( 0 );
}
    
Program działa prawie jak powiniem poza faktem że nie reaguje na pytanie "Czy zakończyć wprowadzanie?" (jeżeli wprowadzimy t-jak tak, zmienna logiczna finito powinna zmieniec wartośc na true, nie robi tego jednak- gdzie tym razem popełniłem bład?
Mam jeszcze jeden problem: jak stworzyć filtr który by nie dopuścił do wprowadzenia litery zmiast cyfry podczas wprowadzania ciągu, ponieważ wtedy program sie psuje (konkretnie chodzi mi o to jak sprawdzić czy to co użytkownik wprowadził jest cyfrą a nie czymkolwiek innym)?

/edit 1: Btw: jak zrobić aby kod, który wprowadzam formatował sie tak jak Pan go później formatuje? (kiedyś to umiałem ale teraz nie pamietam :P)
P-1918
DeBugger
Głupi błąd, ale każdemu zdarzyć się może.
» 2008-10-08 16:53:59
Ten fragment kodu wydaje się dziwny:
while( finito = true )
Zgubiłeś znak równości? :P
P-1919
dudek
» 2008-10-08 17:38:30
Tu jest jak formatowac tekst   [code src="C++"] tutaj kod [/code]

A co do Twojego problemu jak zrobic zeby program sie nie wysypywal kiedy wstawi sie litere. Sprobuj zrobic tak zebys wszystko wczytywal jako stringi i sprawdzal czy uzytkownik nie wpisuje czegos z poza zakresu 0 - 9 a potem konwertowal taki string do typu liczbowego.
P-1920
1 « 2 »
Poprzednia strona Strona 2 z 2