Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- int compareNumbers(int number1, int number2);
- typedef struct Book
- {
- char author[100];
- char title[100];
- int yearOfPublication;
- int numberOfPages;
- } Book;
- int main(int argc, char* argv[])
- {
- char temp[100] ;
- FILE * fPointer;
- Book books[100];
- fPointer = fopen(argv[1], "r");
- int n = sizeof(books)/sizeof(Book);
- int i;
- while(!feof(fPointer))
- {
- for(i = 0; i < n; i++ )
- {
- fgets(books[i].author,150,fPointer);
- fgets(books[i].title,150,fPointer);
- fgets(temp,150,fPointer);
- books[i].yearOfPublication = atoi(temp);
- fgets(temp,150,fPointer);
- books[i].numberOfPages = atoi(temp);
- printf("cos");
- }
- }
- for(i = 0; i < n; i++ )
- {
- if( argv[2] == 'a')
- {
- qsort(books,n,sizeof(Book),strcmp(books[i].author,books[i + 1].author));
- }
- else if( argv[2] == 't')
- {
- qsort(books,n,sizeof(Book),strcmp(books[i].title,books[i + 1].title));
- }
- else if ( argv[2] == 'y')
- {
- qsort(books,n,sizeof(Book),compareNumbers(books[i].yearOfPublication,books[i + 1].yearOfPublication));
- }
- }
- for(i = 0; i < n; i++)
- {
- printf("Author: %s\nTitle: %s\nYear of publication:%d\nNumber of pages: %d\n\n",books[i].author,books[i].title,books[i].yearOfPublication,books[i].numberOfPages);
- }
- return 0;
- }
- int compareNumbers(int number1, int number2)
- {
- if(number1 < number2)
- return -1;
- else
- return 0;
- }
- y
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement