Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- * sursa.c
- *
- * Created on: Apr 7, 2020
- * Author: Takamura
- */
- #include<stdio.h>
- #include<string.h>
- int main()
- {
- int i, contor=0;
- int nr_carti=0, index_carti;
- // declarearea structurii de date pentru memorarea informatiilor referitoare la carti
- struct carte
- {
- char nume_a[15];
- char prenume_a[15];
- char titlul[4][15];
- int nr_pg;
- int nr_cap;
- float pret_cTVA;
- float pret_fTVA;
- char ISBN[14];
- }; // atentie ! dupa declararea structuri trebuie adaugat ";"
- // declaram o variabila simpla de tip struct carte
- //int valoare=10;
- struct carte carti[20]; // declaram un vector de tip struct carte pentru memorarea a maxim 20 de carti
- struct carte aux; // declaram variabila auxiliara utilizata pentru sortarea cartilor
- printf("Indicati numarul de carti pe care doriti sa le specificati:");
- fflush(stdout);
- scanf("%d",&nr_carti);
- for(index_carti=0;index_carti<nr_carti;index_carti++)
- {
- // citirea de la tastatura a informatiilor referitoare la cartea 1
- printf("Indicati ISBN-ul cartii %d:",index_carti);
- fflush(stdout);
- scanf("%s",carti[index_carti].ISBN);
- printf("Indicati numele autorului pentru cartea %d:",index_carti);
- fflush(stdout);
- scanf("%s",carti[index_carti].nume_a);
- printf("Indicati prenumele autorului pentru cartea %d:",index_carti);
- fflush(stdout);
- scanf("%s",carti[index_carti].prenume_a);
- printf("Indicati din cate cuvinte este compus titlul cartii %d:",index_carti);
- fflush(stdout);
- scanf("%d",&contor);
- printf("Indicati titlul cartii %d:",index_carti);
- fflush(stdout);
- for(i=0;i<contor;i++)
- {
- printf("Indicati cuvantul %d in titlul carti %d:\n",i+1,index_carti);
- fflush(stdout);
- scanf("%s",carti[index_carti].titlul[i]);
- }
- printf("Alegeti numarul de pagini pentru cartea %d:",index_carti);
- fflush(stdout);
- scanf("%d",&carti[index_carti].nr_pg);// varianta 2 citim de la tastatura valoarea si o memoram in membrul din struct carte
- printf("Indicati numarul de capitole pentru cartea %d:",index_carti);
- fflush(stdout);
- scanf("%d",&carti[index_carti].nr_cap);
- printf("Indicati pretul cu TVA pentru cartea %d:",index_carti);
- fflush(stdout);
- scanf("%f",&carti[index_carti].pret_cTVA);
- }
- // calculam pretul fara TVA pentru fiecare carte indicata
- for(index_carti=0;index_carti<nr_carti;index_carti++)
- {
- carti[index_carti].pret_fTVA=carti[index_carti].pret_cTVA-carti[index_carti].pret_cTVA*0.19;
- }
- // afisarea pe consola a informatiilor memorate in structura de date de tip carte pentru cartile indicate
- for(index_carti=0;index_carti<nr_carti;index_carti++)
- {
- printf("Titlul cartii %d:",index_carti+1);
- for(i=0;i<contor;i++)
- {
- printf("%s ",carti[index_carti].titlul[i]);
- fflush(stdout);
- }
- printf("\n");
- fflush(stdout);
- printf("Autorul cartii %d: %s %s\n",index_carti+1,carti[index_carti].nume_a,carti[index_carti].prenume_a);
- fflush(stdout);
- printf("ISBN-ul cartii %d: %s\n",index_carti+1,carti[index_carti].ISBN);
- fflush(stdout);
- printf("Numarul de pagini al cartii %d: %d\n",index_carti+1,carti[index_carti].nr_pg);
- fflush(stdout);
- printf("Numarul de capitole al cartii %d: %d\n",index_carti+1,carti[index_carti].nr_cap);
- fflush(stdout);
- printf("Pretul cu TVA al cartii %d: %.2f\n",index_carti+1, carti[index_carti].pret_cTVA);
- fflush(stdout);
- printf("Pretul fara TVA al cartii %d: %.2f\n",index_carti+1,carti[index_carti].pret_fTVA);
- fflush(stdout);
- printf("\n");
- }
- int index_carti_2=0;
- // sortarea cartilor crescator in functie de numarul de pagini.
- for(index_carti=0;index_carti<nr_carti;index_carti++)
- {
- for(index_carti_2=0;index_carti_2<nr_carti;index_carti_2++)
- {
- if( carti[index_carti].nr_pg<carti[index_carti_2].nr_pg)
- {
- aux = carti[index_carti];
- carti[index_carti]=carti[index_carti_2];
- carti[index_carti_2]=aux;
- }
- }
- }
- // sortarea cartilor alfabetic in functie de numele autorului.
- for(index_carti=0;index_carti<nr_carti;index_carti++)
- {
- for(index_carti_2=0;index_carti_2<nr_carti;index_carti_2++)
- {
- if( strcmp(carti[index_carti].nume_a, carti[index_carti_2].nume_a)<0)
- {
- aux = carti[index_carti];
- carti[index_carti]=carti[index_carti_2];
- carti[index_carti_2]=aux;
- }
- }
- }
- // afisarea cartilor sortate crescator pe consola
- for(index_carti=0;index_carti<nr_carti;index_carti++)
- {
- printf("Titlul cartii %d:",index_carti+1);
- for(i=0;i<contor;i++)
- {
- printf("%s ",carti[index_carti].titlul[i]);
- fflush(stdout);
- }
- printf("\n");
- fflush(stdout);
- printf("Autorul cartii %d: %s %s\n",index_carti+1,carti[index_carti].nume_a,carti[index_carti].prenume_a);
- fflush(stdout);
- printf("ISBN-ul cartii %d: %s\n",index_carti+1,carti[index_carti].ISBN);
- fflush(stdout);
- printf("Numarul de pagini al cartii %d: %d\n",index_carti+1,carti[index_carti].nr_pg);
- fflush(stdout);
- printf("Numarul de capitole al cartii %d: %d\n",index_carti+1,carti[index_carti].nr_cap);
- fflush(stdout);
- printf("Pretul cu TVA al cartii %d: %.2f\n",index_carti+1, carti[index_carti].pret_cTVA);
- fflush(stdout);
- printf("Pretul fara TVA al cartii %d: %.2f\n",index_carti+1,carti[index_carti].pret_fTVA);
- fflush(stdout);
- printf("\n");
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement