Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- typedef struct
- {
- char name[50];
- char singer[50];
- int min;
- int sec;
- char genre[20];
- } Music;
- void view(char* file)
- {
- int i;
- FILE *fp=fopen(file,"rb");
- fseek(fp,0,SEEK_END); // курсор в конец
- int lenght=sizeof(Music); // сохраняем размер одной записи (необязательно)
- int size = ftell(fp) / lenght; // узнаем количество записей
- Music *Album = (Music*)malloc(size * lenght); // выделяем память
- rewind(fp); // перематываем файл
- for (i = 0; i < size; ++i)
- {
- fread(&Album[i],sizeof(Music),1,fp);
- }
- for (i = 0; i < size; ++i)
- {
- printf("Song #%d <%s>, Singer <%s>, time %d:%d, genre <%s>\n",\
- i+1,Album[i].name,Album[i].singer,Album[i].min,Album[i].sec,Album[i].genre);
- }
- }
- void view_4(char* file)
- {
- int i;
- FILE *fp=fopen(file,"rb");
- fseek(fp,0,SEEK_END); // курсор в конец
- int lenght=sizeof(Music); // сохраняем размер одной записи (необязательно)
- int size = ftell(fp) / lenght; // узнаем количество записей
- Music *Album = (Music*)malloc(size * lenght); // выделяем память
- rewind(fp); // перематываем файл
- for (i = 0; i < size; ++i)
- {
- fread(&Album[i],sizeof(Music),1,fp);
- }
- for (i = 0; i < size; ++i)
- {
- if (Album[i].min<4)
- printf("Song #%d <%s>, Singer <%s>, time %d:%d, genre <%s>\n",\
- i+1,Album[i].name,Album[i].singer,Album[i].min,Album[i].sec,Album[i].genre);
- }
- }
- int main()
- { char file[50]; puts ("Name of file:"); gets (file); //ввод имени файла
- char menu; // переменная для работы меню
- do
- {
- puts ("1. View"); puts ("2. View <4 min"); puts ("3. Exit");
- menu = getchar(); // запись нажатой клавиши в переменную меню
- switch (menu) // в зависимости от меню выбираем действие
- {
- case '1': view(file); break;
- case '2': view_4(file);
- }
- }
- while (menu!='3'); // пока не введем 3 – как введем 3 – выход.
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement