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

Struktury - prosty program

Ostatnio zmodyfikowano 2012-03-11 10:56
Autor Wiadomość
wędkarz
Temat założony przez niniejszego użytkownika
Struktury - prosty program
» 2012-03-08 10:36:32
Witam,
mam pewien problem, program raz działa raz nie, czasem system wywala bład na końcu po wpisaniu "2" żeby zamknąć program a czasem w czasie wpisywania danych np. roczniku i wcisnieciu enter zaczyna wypisywac szybko jakieś głupoty bez końca, nieskończoność.

oto kod
C/C++
#include<iostream>
#include<cstdio>
#include <windows.h>
using namespace std;
struct osoba
{
    char marka[ 20 ];
    char model[ 20 ];
    int rocznik;
    int poj;
    char silnik[ 20 ];
    char kolor;
};

int main()
{
    int b;
    do
    {
       
        int a;
        cout << "witaj, jestes w bazie komisu samochodowego, jesli chcesz przejsc do wpisywania aut\n wcisnij 1 a nastepnie enter, jesli chcesz opuscic pror. wpisz jakikolwiek numer: ";
        do
        cin >> a;
        while( a < 0 );
       
        if( a == 1 )
        {
           
            int ile;
            cout << "Podaj ilu aut chcesz wprowadzic do bazy salonu ";
            cin >> ile;
            osoba grupa[ ile ];
            for( int i = 1; i <= ile; i++ )
            {
               
                cout << "\n";
                cout << "\n***********************\n";
                cout << "Podaj marke " << i << " auta: ";
                cin >> grupa[ i ].marka;
                cout << "Podaj model " << i << " auta: ";
                cin >> grupa[ i ].model;
                cout << "Podaj rocznik " << i << " auta: ";
                cin >> grupa[ i ].rocznik;
                cout << "Podaj pojemnosc silnika " << i << " auta: ";
                cin >> grupa[ i ].poj;
                cout << "Podaj rodzaj silnika " << i << " auta: ";
                cin >> grupa[ i ].silnik;
                cout << "Podaj kolor " << i << " auta: ";
                cin >> grupa[ i ].kolor;
               
            }
            for( int i = 1; i <= ile; i++ )
            {
                SetConsoleTextAttribute( GetStdHandle( STD_OUTPUT_HANDLE ), FOREGROUND_GREEN | FOREGROUND_INTENSITY );
               
                cout << "\n\n";
                cout << "***********************\n";
               
                cout << "Informacje o aucie nr  " << i << " : \n";
                cout << "marka: " << grupa[ i ].marka << " model: " << grupa[ i ].model << " rocznik: " << grupa[ i ].rocznik << "\npojemnosc silnika: " << grupa[ i ].poj << " silnik:" << grupa[ i ].silnik << " kolor: " << grupa[ i ].kolor;
            }
            cout << "\n\njesli chcesz zakonczyc program wcisnij 2: ";
            cin >> b;
           
        } else {
           
            cout << "\nCzy na pewno chcesz opuscic program? wcisnij 2, jesli wrocic do poczatku inna cyfre: ";
            cin >> b;
        }
    }
    while( b != 2 );
   
    cin.ignore( 0 );
    getchar();
    return 0;
   
}
z góry wielkie dzięki za pomoc
P-52197
pekfos
» 2012-03-08 16:53:50
C/C++
cin >> ile;
osoba grupa[ ile ];
To niepoprawne.
P-52208
wędkarz
Temat założony przez niniejszego użytkownika
» 2012-03-11 09:40:03
kurcze, ale co tu jest źle bo nie czaje :/
P-52407
malan
» 2012-03-11 10:56:42
Rozmiar tablicy musi być znany podczas kompilacji. Jeżeli chcesz dynamicznie przydzielić pamięć (podczas pracy programu) to musisz posłużyć się operatorem
new
 - poczytaj » Kurs C++Dynamiczne zarządzanie pamięcią new i delete lekcja lub zainteresuj się bibliotekami STL - » Kurs STL, C++Kontener tablicy (std::vector) lekcja (» KursyKurs STL, C++ kurs).
P-52411
« 1 »
  Strona 1 z 1