Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- #include <string.h>
- #include <ctype.h>
- #include <conio.h>
- #include "funcs.h"
- /* run this program using the console pauser or add your own getch, system("pause") or input loop */
- typedef struct
- {
- char code[12];
- char date[11];
- char name[50];
- int songs;
- char author[100];
- float price;
- }CD;
- typedef struct node
- {
- CD cd;
- struct node *next;
- }node;
- int main(int argc, char *argv[]) {
- int choise;
- int flag=1;
- char DB[]={"C://Users//Lenovo//Desktop//Trifon//sysDB.dat"};
- node *head=NULL;
- FILE *fs;
- if(!(fs=fopen(DB, "rb")))
- {
- printf("Ne sushtestvuva baza ot danni!\n\n");
- printf("Avtomatichno suzdavane na baza ot danni...\n\n");
- if(!(fs=fopen(DB, "wb")))
- {
- printf("Greshka pri suzdavane na bazata ot danni!\n");
- exit(1);
- }
- else
- {
- inputf(fs);//zapis na dannite vuv faila
- fclose(fs);
- if(!(fs=fopen(DB, "rb")))
- {
- exit(1);
- }
- else
- {
- makeSrtList(head, fs);//chete kato suzdava spisuka
- fclose(fs);
- }
- }
- }
- else
- {
- makeSrtList(head, fs);//chete kato suzdava spisuka
- fclose(fs);
- }
- if(!(fs=fopen(DB, "ab")))// "ab"- dobavqne sudurjanie kum dvoichen fail
- {
- exit(1);
- }
- do{
- choice=menu();
- switch(choice)
- {
- case 1:
- break;
- case 2:
- break;
- case 3:
- break;
- case 4:
- break;
- case 5:
- fclose(fs);
- flag=0;
- break;
- }
- system("cls");
- }while(flag!=0);
- exit(0);
- return 0;
- }
- /////////////////////////////////////ffff////////////////////////
- #include <stdlib.h>
- #include <string.h>
- #include <ctype.h>
- #include <conio.h>
- typedef struct
- {
- char code[12];
- char date[11];//
- char name[50];//
- int songs;//
- char author[100];//
- float price;
- }CD;
- typedef struct node
- {
- CD cd;
- struct node *next;
- }node;
- int menu()
- {
- int choice;
- printf("Molq izberete obrabotka:\n\n");
- printf("<1> Dobavqne na novo CD.\n");
- printf("<2> Izvejdane na dannite za nai-noviq disk.\n");
- printf("<3> Izvejdane na informaciq za vsichki CD- ta s data na izdavane po-stara ot 1990 godina.\n");
- printf("<4> Iztrivane na CD s posochvane na kod.\n");
- printf("<5> Izhod.\n");
- do{
- printf("Izbor: ");
- scanf("%d ", choice);
- }while(choice<1||choice>5);
- return choice;
- }
- void inputf(FILE *f)
- {
- CD cd;
- do{
- printf("Vuvejdane na danni za CD(za da sprete vuvedete '*'):\n\n");
- printf("Ime na diska: ");
- scanf("%49s", cd.name);
- if(!strcmp(cd.name, "*"))
- {
- break;
- }
- do{
- printf("Broi pesni: ");
- scanf("%d", &(cd.songs);
- }while(cd.songs<0||cd.songs=0);
- printf("Avtor na diska: ");
- scanf("%99s", cd.author);
- printf("Data na izdavane: ");// da se napravi kontrol
- scanf("%10s", cd.date);
- printf("Barkod na diska( ot bukva i cifri): ");//kontrol na vhoda
- scanf("%11s", cd.name);
- if(fwrite(&cd, sizeof(CD), 1, fs)!=1)
- {
- printf("Greshka pri zapis!\n");
- }
- else
- {
- printf("Dannite sa zapisani.\n");
- }
- }while(1);
- }
- node *makeSrtList(node *head, FILE *fs)
- {
- node *elem, *crnt, *prev;
- do{
- elem=(node*)malloc(sizof(node));
- if(elem==NULL)
- {
- printf("Greshka pri orazmerqvane na informaciqta!");
- break;
- }
- elem->next=NULL;
- if(!fread(&(elem->cd),sizeof(CD),1,fs))
- {
- free(elem);
- break;
- } // do tuk se suzdava vuzel za spisuka
- //prod
- }while(1);
- }
- /////////////////////////////////////hhhhhhhhhhhhhhhhh/////////////////////////
- int menu();
- void inputf(FILE *f);
- node *makeSrtList(node *head, FILE *fs);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement