Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <fstream>
- using namespace std;
- struct Node
- {
- char* name;
- int price;
- int value;
- };
- int main()
- {
- setlocale(LC_ALL, ".1251");
- ifstream fin("Pricelist.txt");
- char* tmp1 = new char[255];
- char* tmp2 = new char[255];
- int size = 0; // размер будущего массива структур
- while (!fin.eof())
- {
- fin.getline(tmp1, 255);
- if ((int)tmp1[0] < 48 || (int)tmp1[0] > 58) { size++; } // считаем количество строк без строк-номеров
- }
- fin.close();
- Node* pricelist = new Node[size];
- fin.open("Pricelist.txt");
- int i = 0;
- while (!fin.eof())
- {
- fin.getline(tmp1, 255);
- if ((int)tmp1[0] > 47 && (int)tmp1[0] < 58)
- {
- strcpy(tmp2, tmp1);
- }
- else
- {
- char* forNum = strrchr(tmp1, (int)(' '));
- int length = forNum - tmp1;
- forNum++;
- tmp1[length] = '\0';
- pricelist[i].name = new char[255];
- strcpy(pricelist[i].name, tmp1);
- pricelist[i].price = atoi(forNum);
- pricelist[i].value = atoi(tmp2);
- i++;
- }
- }
- for (int i = 0; i < size; i++)
- {
- cout << pricelist[i].name << " " << pricelist[i].price << " " << pricelist[i].value << endl;
- }
- delete[] tmp1;
- delete[] tmp2;
- delete[] forNum;
- delete[] pricelist;
- system("pause");
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement