Advertisement
Guest User

Untitled

a guest
Jun 24th, 2017
58
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.62 KB | None | 0 0
  1. #include <iostream>
  2. #include <string>
  3. #include <fstream>
  4. #include <iomanip>
  5.  
  6. using namespace std;
  7.  
  8. struct WHName
  9. {
  10. int itemNo;
  11. string wName;
  12. string iName;
  13. int iQty;
  14. int mPrice;
  15. float price;
  16. bool visitedNode;
  17. WHName* link;
  18. WHName* nextNode;
  19. WHName* nodeLink;
  20. };
  21.  
  22. void PrintLinkList(WHName* head, WHName* currPtr);
  23. void PrintWareHouse(WHName* head, WHName* currPtr);
  24.  
  25.  
  26. int main()
  27. {
  28. int x, itemNum, itemQty, iNum, markupPrice;
  29. float whPrice;
  30. string s, itemName, itemName1,itemName_Num;
  31. ifstream inData, inData1, inData3, inData4;
  32. WHName whName, *head, *currPtr, *newNode;
  33. int count =0, count1=0;
  34. whName.visitedNode = false;
  35.  
  36. inData1.open("WLL1.dat");
  37. inData.open("WLL2.dat");
  38. inData3.open("WLL3.dat");
  39. inData4.open("WLL4.dat");
  40.  
  41. head = new WHName;
  42. inData >> x;
  43. getline(inData,s,'\t');
  44. head -> itemNo = x;
  45. head -> wName = s;
  46. currPtr = head;
  47.  
  48.  
  49. while(!inData.eof())
  50. {
  51. inData >> x;
  52. //cout << x << " " ;
  53. getline(inData,s,'\t');
  54. //cout <<" " << << s;
  55. newNode = new WHName;
  56. newNode -> itemNo = x;
  57. newNode -> wName = s;
  58. currPtr -> link = newNode;
  59. currPtr = newNode;
  60. count++;
  61.  
  62. }
  63.  
  64. //cout<<count;
  65.  
  66. currPtr->link = NULL;
  67.  
  68. while(!inData1.eof())
  69. {
  70. inData1 >> itemNum;
  71. getline(inData1,itemName,'\t');
  72. getline(inData3,itemName1,'\t');
  73. inData3 >> itemQty;
  74. getline(inData4,itemName_Num,'\t');
  75. inData4 >> iNum;
  76. inData4 >> whPrice;
  77. inData4 >> markupPrice;
  78.  
  79. currPtr = head;
  80.  
  81. while(!currPtr == NULL)
  82. {
  83. if(itemNum == currPtr -> itemNo || itemName1 == currPtr -> iName)
  84. {
  85. currPtr -> iName = itemName;
  86. currPtr -> iQty = itemQty;
  87. //currPtr -> mPrice = markupPrice;
  88. //currPtr -> price = whPrice;
  89.  
  90. }
  91. if(iNum == currPtr ->itemNo)
  92. {
  93. currPtr -> mPrice = markupPrice;
  94. currPtr -> price = whPrice;
  95. }
  96. currPtr = currPtr -> link;
  97. }
  98. }
  99.  
  100. //cout<<currPtr;
  101.  
  102.  
  103. //currPtr = head;
  104.  
  105. //while(!currPtr == NULL)
  106. //{
  107. // cout << currPtr->itemNo << setw(20) << currPtr -> wName << endl;
  108. // //<< setw(20) << currPtr -> iName << setw(20) << currPtr -> iQty << endl;
  109. // currPtr = currPtr -> link;
  110. //}
  111.  
  112. //PrintLinkList(head, currPtr);
  113. cout << " " << endl;
  114. PrintWareHouse(head, currPtr);
  115.  
  116. inData.close();
  117. inData1.close();
  118. inData3.close();
  119. inData4.close();
  120.  
  121.  
  122. return 0;
  123. }
  124.  
  125. void PrintLinkList(WHName* head, WHName* currPtr)
  126. {
  127. currPtr = head;
  128.  
  129. cout << "Item#" << setw(6) << "wName"
  130. << setw(20) << "iName" << setw(10) << "iQty"
  131. << setw(17) << "price" << setw(20) << "mPrice" << endl;
  132. cout << "--------------------------------------------------------------------------------" <<endl;
  133.  
  134. while(!currPtr == NULL)
  135. {
  136. cout << currPtr->itemNo << setw(6) << currPtr -> wName
  137. << setw(20) << currPtr -> iName << setw(10) << currPtr -> iQty
  138. << setw(17) << currPtr -> price << setw(13) << currPtr -> mPrice << endl;
  139. currPtr = currPtr -> link;
  140. }
  141. }
  142.  
  143. void PrintWareHouse(WHName* head, WHName* currPtr)
  144. {
  145. WHName* temp;
  146.  
  147. WHName* innerCurrPtr;
  148. WHName* ptr;
  149.  
  150. ptr = head;
  151.  
  152.  
  153. currPtr = head;
  154. temp = head;
  155.  
  156. temp -> nextNode = NULL;
  157. while(!currPtr == NULL)
  158. {
  159. innerCurrPtr = head;
  160.  
  161. while(!innerCurrPtr == NULL)
  162. {
  163. if(currPtr -> wName == innerCurrPtr -> wName)
  164. {
  165. temp -> nextNode = innerCurrPtr;
  166.  
  167. }
  168.  
  169. innerCurrPtr = innerCurrPtr -> link;
  170. }
  171. currPtr = currPtr -> link;
  172. }
  173.  
  174.  
  175. //while(!ptr == NULL)
  176. //{
  177. // cout << ptr -> itemNo << setw(20) << ptr -> wName
  178. // << setw(20) << ptr -> iName << setw(20) << ptr -> iQty << endl;
  179. // //temp = temp -> link;
  180. // //ptr = temp ->nextNode;
  181. //}
  182.  
  183. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement