-
Notifications
You must be signed in to change notification settings - Fork 0
/
Products.cpp
248 lines (207 loc) · 7.37 KB
/
Products.cpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
#include "Products.h"
#include <iostream>
#include <fstream>
#include <sstream>
#include <vector>
#include <string>
using namespace std;
const int maxrow = 30;
void Products::UpdateProduct(string search)
{
cin.ignore();
cout << "Enter the product's name: ";
getline(cin, productname);
cout << "Enter product's price: ";
getline(cin, productprice);
cout << "Enter product's type: ";
getline(cin, producttype);
cout << "Enter product's quantity: ";
getline(cin, productquantity);
for (int i = 0; i < maxrow; i++)
{
if (product_name[i].empty())
{
product_name[i] = productname;
product_quantity[i] = productquantity;
product_type[i] = producttype;
product_price[i] = productprice;
break;
}
}
// Open the file for writing and append the new product information
ofstream file("Text.txt", ios::app);
if (file.is_open())
{
file << productname << "," << productprice << "," << producttype << "," << productquantity << "\n";
file.close();
cout << "Product added successfully!" << endl;
}
else
{
cout << "Error opening file for writing!" << endl;
}
}
void Products::SearchProduct(const string& searchQuery)
{
// Open the file for reading
std::ifstream file("Text.txt");
if (!file.is_open()) {
std::cout << "Error opening file." << std::endl;
return;
}
// Loop over each line of the file and search for matches
std::string line;
bool found = false;
while (std::getline(file, line))
{
// Split the line into columns using commas as separator
std::stringstream input(line);
std::string name, price, type, quantity;
std::getline(input, name, ',');
std::getline(input, price, ',');
std::getline(input, type, ',');
std::getline(input, quantity);
// Check if the product name matches the search query
if (name == searchQuery)
{
cout << " " << endl;
std::cout << "Search results for " << searchQuery << ":" << std::endl;
cout << " " << endl;
std::cout << "Name: " << name << std::endl;
std::cout << "Price: " << price << std::endl;
std::cout << "Type: " << type << std::endl;
std::cout << "Quantity: " << quantity << std::endl;
found = true;
break; // Stop searching after the first match
}
}
// Close the file
file.close();
// Print a message if no matches were found
if (!found)
{
std::cout << "No matching products found." << std::endl;
}
}
void Products::DeleteProduct(std::string search)
{
// Open the file for reading
std::ifstream inFile("Text.txt");
if (!inFile) {
std::cerr << "Error: Unable to open file for reading." << std::endl;
return;
}
int i = 0;
std::string line;
while (std::getline(inFile, line) && i < maxrow) {
std::stringstream input(line);
std::getline(input, product_name[i], ',');
std::getline(input, product_price[i], ',');
std::getline(input, product_type[i], ',');
std::getline(input, product_quantity[i], ',');
i++;
}
inFile.close();
// Find the index of the search string
int index = -1;
for (int i = 0; i < maxrow; i++) {
if (product_name[i] == search) {
index = i;
break;
}
}
if (index == -1) {
std::cout << "Product not found" << std::endl;
return;
}
// Remove the product from the arrays
product_name[index] = "";
product_price[index] = "";
product_type[index] = "";
product_quantity[index] = "";
// Open the file for writing
std::ofstream outFile("Text.txt");
if (!outFile) {
std::cerr << "Error: Unable to open file for writing." << std::endl;
return;
}
// Write the modified data to the file
for (int i = 0; i < maxrow; i++) {
if (product_name[i] != "") {
outFile << product_name[i] << "," << product_price[i] << "," << product_type[i] << "," << product_quantity[i] << std::endl;
}
}
outFile.close();
std::cout << "Product deleted successfully!" << std::endl;
}
void Products::ListProduct() {
std::ifstream file("Text.txt");
if (file.is_open()) {
std::string line;
int i = 0;
while (std::getline(file, line) && i < maxrow) {
std::stringstream input(line);
std::getline(input, product_name[i], ',');
std::getline(input, product_price[i], ',');
std::getline(input, product_type[i], ',');
std::getline(input, product_quantity[i]);
i++;
}
file.close();
for (int i = 0; i < maxrow; i++) {
if (!product_name[i].empty()) {
std::cout << "Name: " << product_name[i] << std::endl;
std::cout << "Price: " << product_price[i] << std::endl;
std::cout << "Type: " << product_type[i] << std::endl;
std::cout << "Quantity: " << product_quantity[i] << std::endl;
std::cout << std::endl;
}
}
}
else {
std::cout << "Error opening file for reading!" << std::endl;
}
}
void Products::AddProduct()
{
cin.ignore();
cout << "Enter the product's name: ";
getline(cin, productname);
cout << "Enter product's price: ";
getline(cin, productprice);
cout << "Enter product's type: ";
getline(cin, producttype);
cout << "Enter product's quantity: ";
getline(cin, productquantity);
for (int i = 0; i < maxrow; i++)
{
if (product_name[i].empty())
{
product_name[i] = productname;
product_quantity[i] = productquantity;
product_type[i] = producttype;
product_price[i] = productprice;
break;
}
}
// Open the file for writing and append the new product information
ofstream file("Text.txt", ios::app);
if (file.is_open())
{
file << productname << "," << productprice << "," << producttype << "," << productquantity << "\n";
file.close();
cout << "Product added successfully!" << endl;
}
else
{
cout << "Error opening file for writing!" << endl;
}
}
void store::ShowInfo()
{
cout << "Welcome to our fashion store!\n\n";
cout << "At our store, we're passionate about providing\n our customers with the latest and greatest fashion trends at affordable prices.\n\n";
cout << "Our team of experienced fashion experts carefully\n curates our collections to ensure that we offer a wide variety of styles, from classic to trendy, that will suit any taste and occasion.\n\n";
cout << "We strive to provide excellent customer service,\n and we're committed to making your shopping experience with us a pleasant and enjoyable one.\n\n";
cout << "Thank you for choosing our store for your fashion needs.\n We look forward to helping you look and feel your best!\n\n";
}