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

Błędne wprowadzanie danych struktury do tablicy

Ostatnio zmodyfikowano 2015-03-16 21:56
Autor Wiadomość
erloon
Temat założony przez niniejszego użytkownika
Błędne wprowadzanie danych struktury do tablicy
» 2015-03-16 21:42:11
Witam,

Przy wprowadzaniu danych do tablicy funkcją
void uzupelnij( Towary * tab, int & r );
Przy kompilowaniu przeskakuje pozycje przy wprowadzaniu jak id towaru, nie widzę w kodzie gdzie jest bład będe wdzięczny za pomoc;-)

kod
C/C++
#include "stdafx.h"
#include<iostream>
#include<conio.h>
#include<fstream>
using namespace std;

struct Towary
{
    char towar;
    double cena;
    int id;
    char rodzaj;
    Towary * nastepny_towar;
};
Towary zm;

void uzupelnij( Towary * tab, int & r );
void wyswietl( Towary * tab, int & r );
void wyszukaj( Towary * tab, char * wsk, int & r );
void menu();

int _tmain( int argc, _TCHAR * argv[] )
{
    int r;
    char * wsk = NULL;
    int opc;
    cout << "Wprowadz rozmiar bazy: " << endl;;
    cin >> r;
    Towary * tab = new Towary[ r ];
    menu(); cin >> opc;
    switch( opc )
    {
    case 1:
        uzupelnij( tab, r );
        wyswietl( tab, r );
        cout << "wyszukaj towar po rodzaju: "; cin >> * wsk;
        wyszukaj( tab, wsk, r );
        break;
        /*case 2:
        cout<<"wyszukaj towar po rodzaju: "; cin>>*wsk;
        wyszukaj(tab, wsk,r);*/
    }
   
   
    return 0;
}

void uzupelnij( Towary * tab, int & r ) {
    for( int i = 0; i < r; i++ ) {
        cout << "Wprowadz towar do bazy" << endl;
        cout << "Nazwa towaru: "; cin >> tab[ i ].towar;
        cout << "ID towaru: "; cin >> tab[ i ].id;
        cout << "Cena: "; cin >> tab[ i ].cena;
        cout << "Rodzaj: "; cin >> tab[ i ].rodzaj;
        cout << endl;
    }
}
void wyswietl( Towary * tab, int & r ) {
    int k = 0;
    for( int i = 0; i < r; i++ )
    {
        k++;
        cout << "Rekord: "; cout << k; cout << "  **************************************" << endl;
        cout << "Nazwa towaru: "; cout << tab[ i ].towar; cout << endl;
        cout << "ID towaru: "; cout << tab[ i ].id; cout << endl;
        cout << "Cena: "; cout << tab[ i ].cena; cout << endl;
        cout << "Rodzaj: "; cout << tab[ i ].rodzaj; cout << endl;
        cout << endl;
    }
}
void wyszukaj( Towary * tab, char * wsk, int & r ) {
    char wyb;
    wyb = * wsk;
    //cout<<"wyszukaj towar po rodzaju: "; cin>>wyb;
    //int i=0;
    for( int i = 0; i < r; i++ ) {
        if( tab[ i ].rodzaj == wyb )
             cout << tab[ i ].towar << endl;
       
    }
}
void menu() {
    cout << "****MENU****" << endl;
    cout << "1. Wprowadz produkty" << endl;
    cout << "2. Wyszukaj produkty po rodzaju" << endl;
    cout << "3. Oblicz srednia wartosc produktow okreslonego rodzaju" << endl;
    cout << "4. Plik\n a. Zapis do pliku\n b. Odczyt pliku\n c. Odczyt wybranego rekordu" << endl;
    cout << "5. Koniec" << endl;
}
P-128591
pekfos
» 2015-03-16 21:52:17
Ale wiesz, że jako nazwę towaru możesz podać tylko jeden znak..?
P-128593
erloon
Temat założony przez niniejszego użytkownika
» 2015-03-16 21:56:30
matko, teraz już tak. Taki szczegół a tyle kłopotów. Dziękuję.
P-128595
« 1 »
  Strona 1 z 1