Advertisement
Guest User

Untitled

a guest
Nov 12th, 2018
79
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 2.33 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <string.h>
  4.  
  5.  
  6.  
  7. #define MAX_NAMELEN 20
  8.  
  9. int  counter = 1;
  10. typedef struct car
  11.  
  12. {
  13.  
  14.     char name[MAX_NAMELEN];
  15.     int year;  
  16.     double fuel;  
  17.  
  18. }car_t;
  19.  
  20.  
  21. car_t mycar; // THIS IS EQUAL TO STRUCT CAR MYCAR
  22.  
  23.  
  24. int car_insert(FILE *fp, const car_t*car)
  25. {
  26.     fp = fopen( "car.txt","a+");
  27.     printf("You create now a new car!\n"); 
  28.  
  29.        
  30.  
  31.     if(fp == NULL)
  32.     {
  33.           printf("Error!");
  34.           exit(1);
  35.     }  
  36.        
  37.         printf("Name of the car: ");
  38.         fscanf(stdin, "%s", mycar.name);
  39.                
  40.         printf("Year : ");
  41.         fscanf(stdin, "%d", &mycar.year);
  42.        
  43.    
  44.         printf("Fuel : ");
  45.         fscanf(stdin, "%lf", &mycar.fuel);
  46.        
  47.         getchar();
  48.  
  49.        
  50.  
  51.    
  52.         fprintf(fp,"%s  %d  %lf \n", mycar.name, mycar.year, mycar.fuel );
  53.         //printf("HALLLLLOOOO\n");
  54.     fclose(fp);    
  55.  
  56. return 0;
  57. }
  58.  
  59.  
  60.  
  61. void car_print_all(FILE *fp)
  62. {
  63.  
  64.   int count =0;        
  65. char str[60];
  66.  
  67.  
  68.  
  69. fp = fopen("car.txt" , "r");
  70.    if(fp == NULL) {
  71.            
  72.         printf("Error opening file");
  73.            
  74.        
  75.        
  76.    }while(fgets (str, 60 , fp) ) {
  77.      
  78.     ++count;
  79.    
  80.     printf("%i Car: %s",count,str);
  81.    }
  82.    fclose(fp);
  83.  
  84.  
  85.  
  86.  
  87.  
  88. }
  89.  
  90. int car_remove(FILE *fp, unsigned int index){
  91.    
  92.     int count = 0;
  93.  
  94.     fp = fopen( "car.txt","r+");
  95.    
  96.     char str[50];
  97.    
  98.  
  99.  
  100.    
  101.     fseek(fp, 0, SEEK_SET);                
  102.  
  103.     fprintf(fp, "-");  
  104.  
  105.     while(fgets(str, 50, fp))
  106. {
  107.  
  108.     ++count;
  109.     if(count == index){
  110.    
  111.     //printf("%d\n",index);
  112.    
  113.     fseek(fp, 0, SEEK_SET);
  114.    
  115.     fprintf(fp, "-");  
  116.     break;     
  117. }
  118.  
  119.    
  120.  
  121.    //printf("STR: %d\n", str[8]-48 );
  122.   //printf("INdex%d\n", index);
  123. }
  124.  
  125.  
  126.  
  127.  
  128.  
  129.  
  130.  
  131.  
  132. return 0;
  133. }
  134. int main()
  135. {
  136.  
  137. char deletecreate;
  138.  
  139. unsigned int index;
  140.  
  141.  
  142.  
  143.  
  144. FILE *car;
  145.  
  146. car = fopen("car.txt", "a+");
  147.  
  148. if (car == NULL){
  149.        
  150.     printf("Error! opening file\n");
  151.  
  152.  
  153.     exit(1);
  154.    }
  155.  
  156.  car_print_all(car);
  157.  
  158.    
  159. do{
  160.  
  161.  
  162.     printf("<D>elete or <C>reate?\n");
  163.     scanf("%c", &deletecreate);
  164.  
  165.    
  166.    
  167.  
  168.     if(deletecreate == 'd' || deletecreate == 'D')
  169.     {
  170.  
  171.     printf("Which one do you want to delete?\n");
  172.     scanf("%d", &index);
  173.    
  174.     fclose(car);
  175.    
  176.     car_remove(car, index);
  177.  
  178.     getchar();
  179.  
  180.  
  181.     }if( deletecreate == 'c' || deletecreate == 'C'){  
  182.    
  183.         car_insert(car, &mycar);       
  184.     }
  185.    
  186. }while(deletecreate == 'd' || deletecreate == 'D' || deletecreate == 'c' || deletecreate == 'C');
  187.  
  188.  
  189.  
  190.  
  191. fclose(car);
  192.  
  193. return 0;
  194. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement