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

Ciągi znaków - Kurs

Ostatnio zmodyfikowano 2018-03-19 21:49
Autor Wiadomość
marcinpro
Temat założony przez niniejszego użytkownika
» 2018-03-19 21:07:25
Szczerze, to nie zawiele mi to tłumaczy, nie może prze konwertować 'char *[20] do char ** dla argumentu 1.  Szukałem po internecie coś podobne, ale jest bez wskaźnika.


C/C++
#include <iostream>
#include <conio.h>


using namespace std;

void wprodanych( char * marka[], char * model[], int * pojesil, int * speedmax )

{
    int i = 0;
    cout << "Witaj wprowadz 3 samochody do bazy danych podajac, marke ,mode, pojemnosc , max predkosc:" << endl;
    getch();
   
    while( i++ < 3 )
    {
        cout << "Wprowadz dane samochodu " << i + 1 << ':' << endl;
       
        cout << "Podaj marke: " << endl;
        cin.get( marka[ i ], 20 );
        cin.sync();
       
        cout << "Podaj model: " << endl;
        cin.get( model[ i ], 20 );
        cin.sync();
       
        cout << "Podaj pojemnosc silnika: " << endl;
        cin >> * pojesil;
       
        while( !cin.good() )
        {
            cout << "Bledne dane podaj jeszcze raz!" << endl;
            cin.sync();
            cin.clear();
            cin >> * pojesil;
        }
       
        cout << "Podaj predkosc maksymalna: " << endl;
        cin >> * speedmax;
       
        while( !cin.good() )
        {
            cout << " Bledne dane podaj jeszcze raz!" << endl;
            cin.sync();
            cin.clear();
            cin >> * speedmax;
        }
    }
   
}

int main()

{
    char marka[ 3 ][ 20 ];
    char model[ 3 ][ 20 ];
    int pojesil[ 3 ];
    int speedmax[ 3 ];
   
    wprodanych( marka, model, & pojesil, & speedmax );
    //wysdanych( marka, model, pojesil, speedmax );
   
    getch();
    return 0;
}
P-170112
pekfos
» 2018-03-19 21:20:24
nie może prze konwertować 'char *[20] do char ** dla argumentu 1.
Co..? Jaki kompilator ci coś takiego napisał..? GCC mówi (z nawiasem!)
error: cannot convert 'char (*)[20]' to 'char**' for argument '1'
C/C++
void wprodanych( char( * marka )[ 20 ], char( * model )[ 20 ], int * pojesil, int * speedmax );
wprodanych( marka, model, pojesil, speedmax );
A Visual sugeruje w błędzie użycie zapisu char marka[][20], jedno i drugie jest równoznaczne.
P-170115
marcinpro
Temat założony przez niniejszego użytkownika
» 2018-03-19 21:49:36
Czyli nie rozumie komunikatów z kompilatora. Mimo wszystko program z zadania udało się zrobić.

C/C++
#include <iostream>
#include <conio.h>

using namespace std;

void wprodanych( char( * marka )[ 20 ], char( * model )[ 20 ], int * pojesil, int * speedmax )

{
    int i = 0;
    cout << "Witaj wprowadz 3 samochody do bazy danych podajac, marke ,mode, pojemnosc , max predkosc:" << endl;
    getch();
   
    while( i < 3 )
    {
        cout << "Wprowadz dane samochodu " << i + 1 << ':' << endl;
       
        cout << "Podaj marke: " << endl;
        cin.get( marka[ i ], 20 );
        cin.sync();
        cin.clear();
       
        cout << "Podaj model: " << endl;
        cin.get( model[ i ], 20 );
        cin.sync();
        cin.clear();
       
        cout << "Podaj pojemnosc silnika: " << endl;
        cin >> pojesil[ i ];
       
        while( !cin.good() )
        {
            cout << "Bledne dane podaj jeszcze raz!" << endl;
            cin.sync();
            cin.clear();
            cin >> pojesil[ i ];
        }
        cin.sync();
        cin.clear();
       
        cout << "Podaj predkosc maksymalna: " << endl;
        cin >> speedmax[ i ];
       
        while( !cin.good() )
        {
            cout << " Bledne dane podaj jeszcze raz!" << endl;
            cin.sync();
            cin.clear();
            cin >> speedmax[ i ];
        }
        cin.sync();
        cin.clear();
        i++;
    }
   
}

void wysdanych( char( * marka )[ 20 ], char( * model )[ 20 ], int pojesil[], int speedmax[] )

{
    cout << "Samochody: " << endl;
    int i = 0;
    int lacznapoje = 0;
    int avgtop = 0;
    while( i < 3 )
    {
        cout << "Marka: " << marka[ i ] << endl;
        cout << "Model: " << model[ i ] << endl;
        cout << "Pojemnosc silnika: " << pojesil[ i ] << endl;
        cout << "Predkosc maksymalna: " << speedmax[ i ] << endl;
        i++;
    }
    for( i = 0; i < 3; i++ )
    {
        lacznapoje += pojesil[ i ];
        avgtop += speedmax[ i ];
    }
    avgtop =( avgtop / 3 );
   
    cout << "Laczna pojemnosc: " << lacznapoje << endl;
    cout << "Srednia maksymalna predkosc: " << avgtop << endl;
}

int main()

{
    char marka[ 3 ][ 20 ];
    char model[ 3 ][ 20 ];
    int pojesil[ 3 ];
    int speedmax[ 3 ];
   
    wprodanych( marka, model, pojesil, speedmax );
    wysdanych( marka, model, pojesil, speedmax );
   
    getch();
    return 0;
}
P-170120
1 « 2 »
Poprzednia strona Strona 2 z 2