Can you convert this C++ code into C? #include #include using namespace std; struct produce{ string name; int item; }; struct costumer{ string name; produce order[n]; }; produce *readdata(string filename){ ifstream producefile; producefile.open(filename); produce * arr[10]; int i = 0; while(i < 10){ arr[i] -> name << producefile; arr[i] -> item = producefile; i++; } return arr; } ofsteam update(produce * arr){ ofstream updater; updater.open("update.txt"); for(int i = 0; i < 10; i++){ updater << arr[i] -> name << arr[i] -> item << endl; } return updater; } ofstream orderfile(string filename, produce *arr[10]){ ifstream costum; costum.open(filename); costumer list[10]; int i = 0; while(i < 10){ string line; getline(costum, line); list[i]->name = line; for(int j = 0; j < 3; j++){ list[i]->order[j]-> name << costum; list[i]->order[j]-> item << costum; } } ofstream orderset; orderset.open("order.txt"); for(int i = 0; i < 3; i++){ string costumers_name = lis[i]->name; orderset << costumers_namev << endl; for(int j = 0; j < 3; j++){ produce data = list[i]->order[j]; for(int k = 0; k < 10; k++){ if(arr[k]->name == data->name){ if(arr[k]->item > data->item){ arr[k]->item -= data->item; orderset << data->name << " " << data->item << "- fullfilled" << endl; } else{ int original = data->item; data->item = arr[k]->item; arr[k]->item = 0; orderset << data->name << " " << data->item << "- ***ONLY" << original << endl; } } } } } ofstream updater = update(arr); updater.close(); return orderset; } int main(){ produce *arr = readdata("produce.txt"); ofstream orderset = orderfile("costumer.txt", arr); orderset.close(); }
Can you convert this C++ code into C?
#include<bits/stdc++.h> #include<fstream> using namespace std; struct produce{ string name; int item; }; struct costumer{ string name; produce order[n]; }; produce *readdata(string filename){ ifstream producefile; producefile.open(filename); produce * arr[10]; int i = 0; while(i < 10){ arr[i] -> name << producefile; arr[i] -> item = producefile; i++; } return arr; } ofsteam update(produce * arr){ ofstream updater; updater.open("update.txt"); for(int i = 0; i < 10; i++){ updater << arr[i] -> name << arr[i] -> item << endl; } return updater; } ofstream orderfile(string filename, produce *arr[10]){ ifstream costum; costum.open(filename); costumer list[10]; int i = 0; while(i < 10){ string line; getline(costum, line); list[i]->name = line; for(int j = 0; j < 3; j++){ list[i]->order[j]-> name << costum; list[i]->order[j]-> item << costum; } } ofstream orderset; orderset.open("order.txt"); for(int i = 0; i < 3; i++){ string costumers_name = lis[i]->name; orderset << costumers_namev << endl; for(int j = 0; j < 3; j++){ produce data = list[i]->order[j]; for(int k = 0; k < 10; k++){ if(arr[k]->name == data->name){ if(arr[k]->item > data->item){ arr[k]->item -= data->item; orderset << data->name << " " << data->item << "- fullfilled" << endl; } else{ int original = data->item; data->item = arr[k]->item; arr[k]->item = 0; orderset << data->name << " " << data->item << "- ***ONLY" << original << endl; } } } } } ofstream updater = update(arr); updater.close(); return orderset; } int main(){ produce *arr = readdata("produce.txt"); ofstream orderset = orderfile("costumer.txt", arr); orderset.close(); }
Trending now
This is a popular solution!
Step by step
Solved in 2 steps