Struktura, problem z porównaniem dwóch wyrazów
Ostatnio zmodyfikowano 2014-01-02 21:27
Tym3k Temat założony przez niniejszego użytkownika |
Struktura, problem z porównaniem dwóch wyrazów » 2014-01-02 20:38:04 #include<iostream> #include<conio.h>
using namespace std;
struct bilbioteka { int id; char nazwa[ 30 ]; char gatunek[ 30 ]; char autor[ 30 ]; } ksiazki[ 10 ];
int menu(); void wprowadz( int n ); void wypisz_wszystkie( int n ); void wypisz_gatunek( int n ); void wypisz_autor( int n );
int main() { int n; wprowadz( n ); switch( menu() ) { case 1: { wypisz_wszystkie( n ); break; } case 2: { wypisz_gatunek( n ); break; } case 3: { wypisz_autor( n ); break; } } getch(); return 0; }
void wprowadz( int n ) { cout << "ile ksiazek chcesz wprowadz" << endl; for( int i = 0; i < n; i++ ) { cout << "Wprowadz id ksiazki" << endl; cin >> ksiazki[ i ].id; cout << "Wprowadz nazwe ksiazki" << endl; cin >> ksiazki[ i ].nazwa; cout << "Wprowadz gatunek ksiazki" << endl; cin >> ksiazki[ i ].gatunek; cout << "Wprowadz autora ksiazki" << endl; cin >> ksiazki[ i ].autor; } }
int menu() { cout << "Jakie ksiazki chcesz zobaczyc" << endl; cout << "1. Wszystkie" << endl; cout << "2. z gatunku" << endl; cout << "3. po autorze" << endl; int opcja; do { cout << "Wybierz 1-3" << endl;; cin.clear(); cin.sync(); cin >> opcja; if( cin.fail() ) cout << "Podales litere, wpisz liczbe z zakresu od 1 do 3\n"; } while( !cin.good() || opcja < 1 || opcja > 3 ); return opcja; }
void wypisz_wszystkie( int n ) { for( int i = 0; i < n; i++ ) { cout << ksiazki[ i ].id << " , " << ksiazki[ i ].nazwa << " , " << ksiazki[ i ].autor << " , " << ksiazki[ i ].gatunek << "\n"; } }
void wypisz_gatunek( int n ) { char gat[ 30 ]; cout << "wprowadz gatunek ksiazek ktory ma zostac wyswietlony" << endl; cin >> gat; for( int i = 0; i < n; i++ ) { if( ksiazki[ i ].gatunek == gat ) { cout << ksiazki[ i ].id << " , " << ksiazki[ i ].nazwa << " , " << ksiazki[ i ].autor << " , " << "\n"; } } }
void wypisz_autor( int n ) { for( int i = 0; i < n; i++ ) { cout << ksiazki[ i ].autor; } }
void wypisz_gatunek( int n ) { char gat[ 30 ]; cout << "wprowadz gatunek ksiazek ktory ma zostac wyswietlony" << endl; cin >> gat; for( int i = 0; i < n; i++ ) { if( ksiazki[ i ].gatunek == gat ) { cout << ksiazki[ i ].id << " , " << ksiazki[ i ].nazwa << " , " << ksiazki[ i ].autor << " , " << "\n"; } } }
[Error] ISO C++ forbids comparison between pointer and integer [-fpermissive] W tej funkcji mi występuje taki błąd, w jaki sposób mogę porównać do siebie 2 wyrazy??? |
|
leon_w |
» 2014-01-02 20:51:55 Nazwa gatunku składa się tylko z jednej litery? |
|
Tym3k Temat założony przez niniejszego użytkownika |
» 2014-01-02 21:01:28 Hmmmm, jak zrobić parametr funkcji ze struktury? |
|
pekfos |
» 2014-01-02 21:27:08 W tej funkcji mi występuje taki błąd, w jaki sposób mogę porównać do siebie 2 wyrazy??? | strcmp()? |
|
« 1 » |