Помощь в учёбе, очень быстро...
Работаем вместе до победы

Исходный код. 
Разработка базы данных для учёта музыкальных альбомов на языке программирования Си

РефератПомощь в написанииУзнать стоимостьмоей работы

If (Album.Year> 2015 || Album. Year< 1950){. VoidOutPut_Mass (int n){ // ??? ??? ?? ??? Printf («Viberitepravilnoeznachenie: «); Printf («7. Sortirovatmassivpopoliu. «); Case 3: Read_From_File (albums, n); break; Case 2: Write_To_File (albums, n); break; Printf («Po kakomypolisortirovat: «); Printf («3. Chteniemassivaizfaila; «); Printf («Vveditekolichestvopesen: «); Printf («6… Читать ещё >

Исходный код. Разработка базы данных для учёта музыкальных альбомов на языке программирования Си (реферат, курсовая, диплом, контрольная)

#include.

#include.

#include.

#include.

#include.

structMusic_Album {.

charGroup_Name[100];

charAlbum_Title[100];

intSong_Amount;

longint Year;

charCompany_Name[50];

};

Music_Albumalbums[100];

Music_AlbumMake_Record (Music_Album Album){.

printf («Vveditenazvaniegruppi: «);

scanf («%s», &Album.Group_Name);

printf («Vveditenazvaniealboma: «);

scanf («%s», &Album.Album_Title);

bool flag (0);

m1:

printf («Vveditekolichestvopesen: «);

scanf («%d» ,&Album.Song_Amount);

if (Album.Song_Amount<=0){.

printf («Error: Incorrect input! «);

goto m1;

}.

m2:

printf («Vvedite god vipuska: «);

scanf («%d» ,&Album.Year);

if (Album.Year> 2015 || Album. Year< 1950){.

printf («Error: Incorrect input! «);

goto m2;

}.

printf («Vveditenazvaniestudii: «);

scanf («%s», &Album.Company_Name);

printf (««);

return Album;

};

voidShow_Record (Music_Album Album){.

printf («%s «, Album. Group_Name);

printf («%s «, Album. Album_Title);

printf («%d «, Album. Song_Amount);

printf («%d «, Album. Year);

printf («%s «, Album. Company_Name);

};

voidWrite_To_File (Music_Album albums[100], int n){.

FILE * pFile;

pFile = fopen («output.txt», «wb»);

for (inti = 0; i< n ;i++).

fwrite (&albums[i], sizeof (Music_Album), 1, pFile);

fclose (pFile);

};

voidRead_From_File (Music_Album albums[100], int n){.

FILE *FH = NULL;

FH = fopen («output.txt», «rb»);

for (inti = 0; i< 100; i++){.

fread (&albums[i], sizeof (Music_Album), 1, FH);

};

fclose (FH);

};

voidEdit_Record (){.

printf («Kakujuzapismeniat: «);

int k;

scanf («%d» ,&k);

albums[k] = Make_Record (albums[k]);

};

voidFind_Record (int n){.

printf («Po kakomypoliiskat: «);

printf («1. Group_Name «);

printf («2. Album_Title «);

printf («3. Company_Name «);

int k;

scanf («%d» ,&k);

char temp[50];

intindeks (0);

if (k == 1 || k == 2 || k == 3){.

printf («Vvedite pole: «);

scanf («%s» ,&temp);

};

if (k == 1){.

for (inti = 0; i< n; i++){.

if (strcmp (albums[i]. Album_Title, temp) == 0).

indeks = i+1;

}.

};

if (k == 2){.

for (inti = 0; i< n; i++){.

if (strcmp (albums[i]. Group_Name, temp) == 0).

indeks = i+1;

}.

};

if (k == 3){.

for (inti = 0; i< n; i++){.

if (strcmp (albums[i]. Company_Name, temp) == 0).

indeks = i+1;

}.

};

if (indeks ≠ 0) {.

printf («Zapis #%d «, indeks);

}.

else.

printf («Takojzapisi net «);

};

voidOutPut_Mass (int n){ // ??? ??? ?? ???

for (inti = 0; i< n; i++){.

Show_Record (albums[i]);

}.

};

intShow_menu (){ // ??? ??? ?? ??? ??? ??? ??? ???

inti;

printf («Viberitedejstvije: «);

printf («1. Dobavitzapis; «);

printf («2. Zapis v fail; «);

printf («3. Chteniemassivaizfaila; «);

printf («4. Redaktirovatzapis v massive; «);

printf («5. Naitizapis; «);

printf («6. Vivestimassivnaekran; «);

printf («7. Sortirovatmassivpopoliu. «);

printf («0. Zakonchitrabotu. «);

m2:

scanf («%d» ,&i);

if (!(i>=0 &&i<=7)){.

printf («Error: Incorrect input! «);

goto m2;

};

while (!(i>= 0 &&i<= 7)){ // ??? ?? ??? ??? ???

printf («Viberitepravilnoeznachenie: «);

scanf («%d» ,&i);

};

printf (««);

returni;

};

void Bubble (int (*compFunc)(int), int n) {.

for (inti = 1; i< n; i++) {.

for (int j = n-1; j >= i; j—) {.

if (compFunc (j)) {.

Music_Album temp = albums[j];

albums[j] = albums[j-1];

albums[j-1] = temp;

}.

}.

}.

}.

intcompName (int j) {.

returnstrcmp (albums[j]. Group_Name, albums[j-1]. Group_Name) < 0;

}.

intcompTitle (int j) {.

returnstrcmp (albums[j]. Album_Title, albums[j-1].Album_Title) < 0;

}.

intcompAmount (int j) {.

return albums[j]. Song_Amount< albums[j-1]. Song_Amount;

}.

intcompYear (int j) {.

return albums[j]. Year < albums[j-1]. Year;

}.

intcompCompanyName (int j) {.

returnstrcmp (albums[j]. Company_Name, albums[j-1]. Company_Name) < 0;

}.

voidSortBy (int n){ // ??? ?? ??? ???

printf («Po kakomypolisortirovat: «);

printf («1. Group_Name «);

printf («2. Album_Title «);

printf («3. Song_Amount «);

printf («4. Year «);

printf («5. Company_Name «);

int k;

scanf («%d» ,&k);

if (k == 1) {.

Bubble (&compName, n);

};

if (k == 2) {.

Bubble (&compTitle, n);

};

if (k == 3) {.

Bubble (&compAmount, n);

};

if (k == 4) {.

Bubble (&compYear, n);

};

if (k == 5) {.

Bubble (&compCompanyName, n);

};

};

int main (){.

int procedure;

int n (0);

do{.

procedure = Show_menu ();

switch (procedure){.

case 1: albums[n] = Make_Record (albums[n]); n++; break;

case 2: Write_To_File (albums, n); break;

case 3: Read_From_File (albums, n); break;

case 4: Edit_Record (); break;

case 5: Find_Record (n); break;

case 6: OutPut_Mass (n); break;

case 7: SortBy (n); break;

};

} while (procedure ≠ 0);

getch ();

return 0;

}.

Показать весь текст
Заполнить форму текущей работой