Guest User

Untitled

a guest
May 20th, 2018
149
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.63 KB | None | 0 0
  1. /*
  2. ID: lauraco1
  3. PROG: gift1
  4. LANG: C++
  5. */
  6.  
  7. //NAME : Laura Conley
  8. //GROUP : Xenon
  9. //LAST MODIFIED : 8 Jan 2012
  10. //DESCRIPTION : Takes data about a gift giver and how much they
  11. // give or recieve and outputs information
  12. // about how much money in bank account
  13. //SOURCES/HELPERS : Mr. H., Geneva LaForce
  14.  
  15. #include<iostream>
  16. #include<string>
  17. #include<fstream>
  18. #include<vector>
  19.  
  20. using namespace std;
  21.  
  22. int main()
  23. {
  24. string giver, receiver;
  25. int numPeopleInGroup, amountToGive, numPeopleToGiveTo, amountToGiveBack;
  26.  
  27. ifstream fin("gift1.in");
  28. ofstream fout("gift1.out");
  29.  
  30. fin >> numPeopleInGroup;
  31.  
  32.  
  33. vector<string> groupOfNames(numPeopleInGroup);
  34. vector<int> bankAccount(numPeopleInGroup);
  35.  
  36. //Read in names for group and sets bank accounts
  37. for(int l=0;l<numPeopleInGroup;l++)
  38. {
  39. fin >> groupOfNames[l];
  40. bankAccount[l]=0;
  41. }
  42.  
  43. for(int h=0;h<numPeopleInGroup;h++)
  44. {
  45. //Determines the giver and how much they have to give
  46.  
  47. fin >> giver;
  48. fin >> amountToGive >> numPeopleToGiveTo;
  49.  
  50. for(int n=0; n<numPeopleInGroup; n++)
  51. {
  52. if(giver==groupOfNames[n])
  53. {
  54. bankAccount[n]=bankAccount[n]-amountToGive;
  55. AmountToGiveBack=(amountToGive%numPeopleToGiveTo);
  56. bankAccount[n]=bankAccount[n]+AmountToGiveBack;
  57.  
  58. }
  59.  
  60. //Determine receivers
  61. for(int w=1;w<numPeopleToGiveTo;w++)
  62. {
  63. fin >> receiver;
  64.  
  65. for(int b=0; b<numPeopleToGiveTo;b++)
  66. {
  67. if(receiver==groupOfNames[b])
  68. {
  69. bankAccount[b]=bankAccount[b]+amountToGive;
  70. }
  71. else
  72. {
  73. fout << groupOfNames[b] << " " << bankAccount[b] << endl;
  74. }
  75. }
  76. }
  77. }
  78.  
  79.  
  80.  
  81. return 0;
  82. }
Add Comment
Please, Sign In to add comment