Advertisement
Guest User

Untitled

a guest
Apr 22nd, 2018
77
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.53 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <string.h>
  4. #include <ctype.h>
  5. #include <conio.h>
  6. #include "funcs.h"
  7.  
  8. /* run this program using the console pauser or add your own getch, system("pause") or input loop */
  9.  
  10. typedef struct
  11. {
  12. char code[12];
  13. char date[11];
  14. char name[50];
  15. int songs;
  16. char author[100];
  17. float price;
  18. }CD;
  19.  
  20. typedef struct node
  21. {
  22. CD cd;
  23. struct node *next;
  24. }node;
  25.  
  26. int main(int argc, char *argv[]) {
  27.  
  28. int choise;
  29. int flag=1;
  30. char DB[]={"C://Users//Lenovo//Desktop//Trifon//sysDB.dat"};
  31. node *head=NULL;
  32. FILE *fs;
  33.  
  34. if(!(fs=fopen(DB, "rb")))
  35. {
  36. printf("Ne sushtestvuva baza ot danni!\n\n");
  37. printf("Avtomatichno suzdavane na baza ot danni...\n\n");
  38. if(!(fs=fopen(DB, "wb")))
  39. {
  40. printf("Greshka pri suzdavane na bazata ot danni!\n");
  41. exit(1);
  42. }
  43. else
  44. {
  45. inputf(fs);//zapis na dannite vuv faila
  46. fclose(fs);
  47. if(!(fs=fopen(DB, "rb")))
  48. {
  49. exit(1);
  50. }
  51. else
  52. {
  53. makeSrtList(head, fs);//chete kato suzdava spisuka
  54. fclose(fs);
  55. }
  56. }
  57. }
  58. else
  59. {
  60. makeSrtList(head, fs);//chete kato suzdava spisuka
  61. fclose(fs);
  62. }
  63.  
  64. if(!(fs=fopen(DB, "ab")))// "ab"- dobavqne sudurjanie kum dvoichen fail
  65. {
  66. exit(1);
  67. }
  68.  
  69. do{
  70. choice=menu();
  71. switch(choice)
  72. {
  73. case 1:
  74. break;
  75. case 2:
  76. break;
  77. case 3:
  78. break;
  79. case 4:
  80. break;
  81. case 5:
  82. fclose(fs);
  83. flag=0;
  84. break;
  85. }
  86. system("cls");
  87. }while(flag!=0);
  88. exit(0);
  89. return 0;
  90. }
  91.  
  92. /////////////////////////////////////ffff////////////////////////
  93.  
  94. #include <stdlib.h>
  95. #include <string.h>
  96. #include <ctype.h>
  97. #include <conio.h>
  98.  
  99. typedef struct
  100. {
  101. char code[12];
  102. char date[11];//
  103. char name[50];//
  104. int songs;//
  105. char author[100];//
  106. float price;
  107. }CD;
  108.  
  109. typedef struct node
  110. {
  111. CD cd;
  112. struct node *next;
  113. }node;
  114.  
  115. int menu()
  116. {
  117. int choice;
  118. printf("Molq izberete obrabotka:\n\n");
  119. printf("<1> Dobavqne na novo CD.\n");
  120. printf("<2> Izvejdane na dannite za nai-noviq disk.\n");
  121. printf("<3> Izvejdane na informaciq za vsichki CD- ta s data na izdavane po-stara ot 1990 godina.\n");
  122. printf("<4> Iztrivane na CD s posochvane na kod.\n");
  123. printf("<5> Izhod.\n");
  124. do{
  125. printf("Izbor: ");
  126. scanf("%d ", choice);
  127. }while(choice<1||choice>5);
  128. return choice;
  129. }
  130.  
  131. void inputf(FILE *f)
  132. {
  133. CD cd;
  134. do{
  135. printf("Vuvejdane na danni za CD(za da sprete vuvedete '*'):\n\n");
  136. printf("Ime na diska: ");
  137. scanf("%49s", cd.name);
  138. if(!strcmp(cd.name, "*"))
  139. {
  140. break;
  141. }
  142. do{
  143. printf("Broi pesni: ");
  144. scanf("%d", &(cd.songs);
  145. }while(cd.songs<0||cd.songs=0);
  146. printf("Avtor na diska: ");
  147. scanf("%99s", cd.author);
  148.  
  149. printf("Data na izdavane: ");// da se napravi kontrol
  150. scanf("%10s", cd.date);
  151.  
  152. printf("Barkod na diska( ot bukva i cifri): ");//kontrol na vhoda
  153. scanf("%11s", cd.name);
  154.  
  155. if(fwrite(&cd, sizeof(CD), 1, fs)!=1)
  156. {
  157. printf("Greshka pri zapis!\n");
  158. }
  159. else
  160. {
  161. printf("Dannite sa zapisani.\n");
  162. }
  163. }while(1);
  164. }
  165.  
  166. node *makeSrtList(node *head, FILE *fs)
  167. {
  168. node *elem, *crnt, *prev;
  169. do{
  170. elem=(node*)malloc(sizof(node));
  171. if(elem==NULL)
  172. {
  173. printf("Greshka pri orazmerqvane na informaciqta!");
  174. break;
  175. }
  176. elem->next=NULL;
  177. if(!fread(&(elem->cd),sizeof(CD),1,fs))
  178. {
  179. free(elem);
  180. break;
  181. } // do tuk se suzdava vuzel za spisuka
  182.  
  183. //prod
  184.  
  185. }while(1);
  186. }
  187.  
  188.  
  189.  
  190. /////////////////////////////////////hhhhhhhhhhhhhhhhh/////////////////////////
  191.  
  192. int menu();
  193. void inputf(FILE *f);
  194. node *makeSrtList(node *head, FILE *fs);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement