Advertisement
Guest User

Untitled

a guest
Mar 24th, 2018
68
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.29 KB | None | 0 0
  1. #include <iostream>
  2. #include <fstream>
  3. using namespace std;
  4.  
  5. struct Node
  6. {
  7. char* name;
  8. int price;
  9. int value;
  10. };
  11.  
  12. int main()
  13. {
  14. setlocale(LC_ALL, ".1251");
  15. ifstream fin("Pricelist.txt");
  16.  
  17. char* tmp1 = new char[255];
  18. char* tmp2 = new char[255];
  19. int size = 0; // размер будущего массива структур
  20. while (!fin.eof())
  21. {
  22. fin.getline(tmp1, 255);
  23. if ((int)tmp1[0] < 48 || (int)tmp1[0] > 58) { size++; } // считаем количество строк без строк-номеров
  24. }
  25. fin.close();
  26.  
  27. Node* pricelist = new Node[size];
  28. fin.open("Pricelist.txt");
  29. int i = 0;
  30. while (!fin.eof())
  31. {
  32. fin.getline(tmp1, 255);
  33. if ((int)tmp1[0] > 47 && (int)tmp1[0] < 58)
  34. {
  35. strcpy(tmp2, tmp1);
  36. }
  37. else
  38. {
  39. char* forNum = strrchr(tmp1, (int)(' '));
  40. int length = forNum - tmp1;
  41. forNum++;
  42. tmp1[length] = '\0';
  43. pricelist[i].name = new char[255];
  44. strcpy(pricelist[i].name, tmp1);
  45. pricelist[i].price = atoi(forNum);
  46. pricelist[i].value = atoi(tmp2);
  47. i++;
  48. }
  49. }
  50.  
  51. for (int i = 0; i < size; i++)
  52. {
  53. cout << pricelist[i].name << " " << pricelist[i].price << " " << pricelist[i].value << endl;
  54. }
  55.  
  56. delete[] tmp1;
  57. delete[] tmp2;
  58. delete[] forNum;
  59. delete[] pricelist;
  60.  
  61. system("pause");
  62. return 0;
  63. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement