C Code:
  1.  
  2. #include <stdio.h>
  3. #include <conio.h>
  4. #include<string.h>
  5.  
  6. struct Book
  7. {
  8.     char ISBN[10];
  9.     float price;
  10.     float value;
  11.     int quantity;
  12.    
  13. };
  14.  
  15. int i=0,dem=0;
  16. float total=0;
  17. char c;
  18. Book tg;
  19. Book sach[100];
  20. void input()
  21. {
  22.     while(1)
  23.     {
  24.             while(1)
  25.             {
  26.             fflush(stdin);
  27.             printf("ISBN :  ");
  28.             float ch= scanf("%s%c",&sach[i].ISBN,&c);
  29.             if(ch==0 || c!='\n' || sach[i].ISBN<0)
  30.             printf("\nInput incorrect.\n");
  31.        
  32.             else break;
  33.             }
  34.     if (sach[i].ISBN ==0)   break; //câu này nó không chiu chay.
  35.     else
  36.         {
  37.             while(1)
  38.             {
  39.             fflush(stdin);
  40.             printf("Price : ");
  41.             float ch= scanf("%f%c",&sach[i].price,&c);
  42.             if(ch==0 || c!='\n' || sach[i].price<0)
  43.             printf("\nInput incorrect.\n");
  44.             else break;
  45.             }
  46.             while(1)
  47.             {
  48.             fflush(stdin);
  49.             printf("Quantity :  ");
  50.             int ch= scanf("%d%c",&sach[i].quantity,&c);
  51.             if(ch==0 || c!='\n' || sach[i].quantity<0)
  52.             printf("\nInput incorrect.\n");
  53.             else break;
  54.             }
  55.         sach[i].value=sach[i].price*sach[i].quantity;
  56.         total =total + sach[i].value;
  57.        
  58.         }
  59.         i++;
  60.         dem++;
  61.     }
  62.    
  63. }
  64. void sort()
  65. {
  66.     for (int i = 0; i < dem-1; i++)
  67.         for (int j = i + 1; j < dem; j++)
  68.         if (strcmp(sach[i].ISBN, sach[j].ISBN) > 0){
  69.             char tmp[11];
  70.             strcpy(tmp, sach[i].ISBN);
  71.             strcpy(sach[i].ISBN, sach[j].ISBN);
  72.             strcpy(sach[j].ISBN, tmp);
  73.         }
  74. }
  75. void output()
  76. {      
  77.         sort();
  78.  
  79.         printf("        Book in tock.\n");
  80.         printf("        =====================\n");
  81.         printf("ISBN        Price       Quantity        Value\n");
  82.         printf("-----------------------------------------------\n");
  83.         for(i=0; i<dem;i++)
  84.         {
  85.         printf("%s      ",sach[i].ISBN);       
  86.         printf("%.2f        ",sach[i].price);
  87.         printf("%d          ",sach[i].quantity);
  88.         printf("%.2f    \n",sach[i].value);
  89.         }
  90.         printf("                            ___________\n");
  91.         printf("Total value books in stock              %.3f",total);
  92. }
  93.  
  94. main()
  95. {
  96.     while(1)
  97.     {
  98.     printf("    Books in Stock Organizer\n");
  99.     printf("    ========================\n");
  100.     input();
  101.     output();
  102.      char choice;
  103.         printf("\n\n\n");
  104.         fflush(stdin);
  105.         printf("Another run (y/n)?:");
  106.         scanf("%c",&choice);
  107.        
  108.         if(choice=='y')
  109.          {
  110.          printf("Again.");
  111.          }
  112.         else
  113.         {
  114.         printf("Good bye!");
  115.         return(choice);
  116.         break;
  117.         }
  118.  
  119.     }
  120.    
  121.     getch();
  122. }