Holey_yan

20141230_KUAS_VisualC++_Exam11

Dec 30th, 2014
243
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 3.19 KB | None | 0 0
  1. /**************************************/
  2. /** 20141230 Exam 11                 **/
  3. /** Maker  : Yan                     **/
  4. /** E-Mail : [email protected] **/
  5. /** Date   : 2014/12/30 am.11:30     **/
  6. /**************************************/
  7.  
  8. #include <stdio.h>
  9. #include <stdlib.h>
  10.  
  11. struct Items{
  12.     int number_id;
  13.     char item[10];
  14.     int price;
  15.     char firm[10];
  16. };
  17.  
  18. struct Members{
  19.     int number_id;
  20.     char name[10];
  21.     char address[10];
  22.     char phone[15];
  23.     int items_quantity[100];
  24. };
  25.  
  26. int CheckFile()
  27. {
  28.     FILE *fptrCheck;
  29.     //Check ItemsData
  30.     if((fptrCheck = fopen("ItemsData.txt", "r")) == NULL)
  31.         return 0;
  32.  
  33.     //Check Member
  34.     else if((fptrCheck = fopen("MembersData.txt", "r")) == NULL)
  35.         return 1;
  36.  
  37.     //Check Bill
  38.     else if((fptrCheck = fopen("BillsData.txt", "r")) == NULL)
  39.         return 2;
  40.  
  41.     else
  42.         return 3;
  43. }
  44.  
  45. int main(int argc, char const *argv[])
  46. {
  47.     switch(CheckFile())
  48.     {
  49.         case 0:
  50.             printf("    ---- ERROR read file: ItemsData.txt ----\n");
  51.             return 0;
  52.  
  53.         case 1:
  54.             printf("    ---- ERROR read file: MembersData.txt ----\n");
  55.             return 0;
  56.  
  57.         case 2:
  58.             printf("    ---- ERROR read file: BillsData.txt ----\n");
  59.             return 0;
  60.  
  61.         case 3:
  62.         {
  63.             //Read ItemsData.txt
  64.             struct Items All_Item[100];
  65.             FILE *fptrReadFile = fopen("ItemsData.txt", "r");
  66.             int item_counter = 0;
  67.             while(!feof(fptrReadFile))
  68.             {
  69.                 fscanf(fptrReadFile, "%d %s %d %s\n", &All_Item[item_counter].number_id, All_Item[item_counter].item, &All_Item[item_counter].price, All_Item[item_counter].firm);
  70.                 item_counter++;
  71.             }
  72.             fclose(fptrReadFile);
  73.  
  74.             //Read MembersData.txt
  75.             struct Members All_Member[100];
  76.             fptrReadFile = fopen("MembersData.txt", "r");
  77.             int member_counter = 0;
  78.             while(!feof(fptrReadFile))
  79.             {
  80.                 fscanf(fptrReadFile, "%d %s %s %s\n", &All_Member[member_counter].number_id, All_Member[member_counter].name, All_Member[member_counter].address, All_Member[member_counter]. phone);
  81.                 member_counter++;
  82.             }
  83.             fclose(fptrReadFile);
  84.  
  85.             //Read Bill and throw it in the struct array
  86.             fptrReadFile = fopen("BillsData.txt", "r");
  87.             while(!feof(fptrReadFile))
  88.             {
  89.                 int member_id = 0, item_id = 0, quantity = 0;
  90.                 fscanf(fptrReadFile, "%d %d %d\n", &member_id, &item_id, &quantity);
  91.                 All_Member[member_id].items_quantity[item_id] += quantity;
  92.             }
  93.             fclose(fptrReadFile);
  94.  
  95.             while(1)
  96.             {
  97.                 system("cls");
  98.                 printf("Which user pay list do you want to see: ");
  99.                 int _select = 0;
  100.                 scanf("%d", &_select);
  101.                 if(_select == -1)
  102.                     return 0;
  103.  
  104.                 else if(_select > member_counter)
  105.                 {
  106.                     printf("    ---- DO NOT HAVE THIS USER ID ----\n\n");
  107.                     system("pause");
  108.                     continue;
  109.                 }
  110.  
  111.                 else
  112.                 {
  113.                     printf("Name\tAddress\tPhone\tItem\tFirm\tPrice\tQuantity\tLump_Sum\n");
  114.                     for(int i = 0; i < 100; i++)
  115.                         if(All_Member[_select].items_quantity[i] > 0)
  116.                             printf("%s\t%s\t%s\t%s\t%s\t%d\t%d\t\t%d\n", All_Member[_select].name, All_Member[_select].address, All_Member[_select].phone, All_Item[i].item, All_Item[i].firm, All_Item[i].price, All_Member[_select].items_quantity[i], All_Item[i].price * All_Member[_select].items_quantity[i]);
  117.                     printf("\n");
  118.                     system("pause");
  119.                 }
  120.             }
  121.         }
  122.     }
  123.     return 0;
  124. }
Advertisement
Add Comment
Please, Sign In to add comment