Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<iostream>
- using namespace std;
- int main(){
- struct knigi{
- char zaglavie[40];
- char avtor[40];
- char izdatelstvo[20];
- int godina;
- float cena;
- int ekzempliari;
- }kniga[1000] , knigaVyveden[1000] ,auxKniga[1];
- int i = 0;
- int opcia = 1;
- while(i < 1000 && opcia == 1){
- cout << "Vyvedete zaglavie na knigata: " << endl;
- cin.getline(kniga[i].zaglavie , 41 , '\n');
- cin.getline(kniga[i].zaglavie , 41 , '\n');
- cout << "Vyvedete avtor na knigata: " << endl;
- cin.getline(kniga[i].avtor , 41 , '\n');
- cout << "Vyvedete izdatelstvo na knigata: " << endl;
- cin.getline(kniga[i].izdatelstvo , 21 , '\n');
- do{
- cout << "Vyvedete godina na izdavane na knigata:" << endl;
- cin >> kniga[i].godina;
- if(kniga[i].godina < 1900 || kniga[i].godina > 2012){
- cout << "Godinata na izdavane triabva da e v intervala 1900-2012"<< endl;
- }
- }while(kniga[i].godina < 1900 || kniga[i].godina > 2012);
- do{
- cout << "Vyvedete cena na knigata: " << endl;
- cin >> kniga[i].cena;
- if(kniga[i].cena < 0){
- cout << "Vyvedeneta cena na knigata triabva da byde polojitelno chislo." << endl;
- }
- }while(kniga[i].cena < 0);
- do{
- cout << "Vyvedete broi ekzempliari:" << endl;
- cin >> kniga[i].ekzempliari;
- if(kniga[i].ekzempliari < 0){
- cout << "Vyvedeniat broi ekzempliari triabva da byde polojitelno chislo." << endl;
- }
- }while(kniga[i].ekzempliari < 0);
- i++;
- cout << "Vyvedete 0 za krai ili 1 za prodyljavane na vyvejdane na knigi:" << endl;
- cin >> opcia;
- }
- char izdatelstvoVyveden[20];
- cout << "Vyvedete izdatelstvo chiito knigi iskate da konsultirate: " << endl;
- cin.getline(izdatelstvoVyveden , 21 , '\n');
- cin.getline(izdatelstvoVyveden , 21 , '\n');
- //IZVEJDAME KNIGITE SAMO OT TOVA IZDATELSTVO
- int j = 0;
- for(int a = 0 ; a < i ; a++){
- if(strcmp(izdatelstvoVyveden,kniga[a].izdatelstvo) == 0){
- knigaVyveden[j] = kniga[a];
- j++;
- }
- }
- //PODREJDAME KNIGITE OT TOVA IZDATELSTVO PO AVTOR
- for(int y = 0 ; y < 1000 ; y++){
- for(int b = 0; b < j-1 ; b++){
- if(strcmp(knigaVyveden[b].avtor , knigaVyveden[b+1].avtor) > 0){
- auxKniga[0] = knigaVyveden[b];
- knigaVyveden[b] = knigaVyveden[b+1];
- knigaVyveden[b+1] = auxKniga[0];
- }
- }
- }
- //PODREJDAME KNIGITE OT TOVA IZDATELSTVO S EDNAKYV AVTOR PO CENA V NAMALQVASHT RED
- for(int y = 0 ; y < 1000 ; y++){
- for(int c = 0; c < j-1; c++){
- if(strcmp(knigaVyveden[c].avtor , knigaVyveden[c+1].avtor) == 0){
- if(knigaVyveden[c].cena < knigaVyveden[c+1].cena){
- auxKniga[0] = knigaVyveden[c];
- knigaVyveden[c] = knigaVyveden[c+1];
- knigaVyveden[c+1] = auxKniga[0];
- }
- }
- }
- }
- //IZVEJDAME REZULTATA NA KONZOLATA
- for(int b = 0 ; b < j ; b++){
- cout << knigaVyveden[b].zaglavie << "; " << knigaVyveden[b].avtor << "; " << knigaVyveden[b].izdatelstvo << "; " << knigaVyveden[b].godina << "; " << knigaVyveden[b].cena << " lv.; " << knigaVyveden[b].ekzempliari << " ekz." << endl;
- }
- system("pause");
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement