Форум программистов, компьютерный форум CyberForum.ru

где вставить freopen? - C++

Восстановить пароль Регистрация
 
Dendendena
0 / 0 / 0
Регистрация: 10.11.2014
Сообщений: 11
22.11.2014, 16:57     где вставить freopen? #1
это симулция на онлайн магазин компьтеров.Не могу понять как считывать данные с текста,чтобы не пришлось каждый раз вводить информацию о компьютерах.И как сделать так чтобы все это выводилось в текстовом формате.А также помогите оптимизировать этот код.
#include <iostream>

using namespace std;

struct computer_desktop {
string cpu_type;
int cpu_speed;
int price;
int hard_disk_capacity;
string graphics_card_type;
};
struct computer_laptop {
string cpu_type;
int cpu_speed;
int price;
int hard_disk_capacity;
string graphics_card_type;
int weight;
int battery;
};
struct customer_desktop {
string cpu_type;
int cpu_speed;
int price;
int hard_disk_capacity;
string graphics_card_type;
};
struct customer_laptop {
string cpu_type;
int cpu_speed;
int price;
int hard_disk_capacity;
string graphics_card_type;
int weight;
int battery;
};
int n,m,s,t;

computer_desktop a[100];
computer_laptop b[100];
customer_desktop c[100];
customer_laptop d[100];

void create_desktop() {
cout << "Enter cpu type" << endl;
cin >> a[n].cpu_type;
cout << "Enter Price of computer" << endl;
cin >> a[n].price;
cout << "Enter Cpu speed of computer" << endl;
cin >> a[n].cpu_speed;
cout << "Enter hard disk capacity" << endl;
cin >> a[n].hard_disk_capacity;
cout << "Enter Graphics card type" << endl;
cin >> a[n].graphics_card_type;
n++;
}
void create_laptop() {
cout << "Enter cpu type" << endl;
cin >> b[m].cpu_type;
cout << "Enter Price of computer" << endl;
cin >> b[m].price;
cout << "Enter Cpu speed of computer" << endl;
cin >> b[m].cpu_speed;
cout << "Enter hard disk capacity" << endl;
cin >> b[m].hard_disk_capacity;
cout << "Enter Graphics card type" << endl;
cin >> b[m].graphics_card_type;
cout<<"Enter weight"<<endl;
cin>>b[m].weight;
cout<<"Enter battery"<<endl;
cin>>b[m].battery;
m++;
}
void create_customer_desktop() {
cout << "Enter cpu type" << endl;
cin >> c[s].cpu_type;
cout << "Enter max Price of computer" << endl;
cin >> c[s].price;
cout << "Enter min Cpu speed of computer" << endl;
cin >> c[s].cpu_speed;
cout << "Enter min hard disk capacity" << endl;
cin >> c[s].hard_disk_capacity;
cout << "Enter Graphics card type" << endl;
cin >> c[s].graphics_card_type;
s++;
}
void create_customer_laptop() {
cout << "Enter cpu type" << endl;
cin >> d[t].cpu_type;
cout << "Enter max Price of computer" << endl;
cin >> d[t].price;
cout << "Enter min Cpu speed of computer" << endl;
cin >> d[t].cpu_speed;
cout << "Enter min hard disk capacity" << endl;
cin >> d[t].hard_disk_capacity;
cout << "Enter Graphics card type" << endl;
cin >> d[t].graphics_card_type;
cout<<"Enter max weight"<<endl;
cin>>d[t].weight;
cout<<"Enter min battery"<<endl;
cin>>d[t].battery;
t++;
}


void print_list_of_computers() {
char dh;
cout<<"If you want list of desktops press d"<<endl;
cout<<"If you want list of laptops press l"<<endl;
cin>>dh;
if(dh=='d'){
for (int i = 1; i <= n; i++) {
cout << "cpu type: " <<" "<< a[i].cpu_type <<endl;
cout<< " price:" <<" "<< a[i].price <<endl;
cout<< " cpu_speed:"<<" "<< a[i].cpu_speed <<endl;
cout<<"hard_disk_capacity:"<<" "<<a[i].hard_disk_capacity<<endl;
cout<<"graphics card type:"<<" "<<a[i].graphics_card_type<< endl;
}
}
else if(dh=='l'){
for (int i = 1; i <= m; i++) {
cout<< "cpu type: " <<" "<< b[i].cpu_type <<endl;
cout<< " price:" <<" "<< b[i].price <<endl;
cout<< " cpu_speed:"<< " " << b[i].cpu_speed <<endl;
cout<<"hard_disk_capacity:"<<" "<<b[i].hard_disk_capacity<<endl;
cout<<"graphics card type:"<<" "<<b[i].graphics_card_type<<endl;
cout<<"weight:"<<" "<<b[i].weight<<endl;
cout<<"battery:"<<" "<<b[i].battery<<endl;
}
}
}
void match_desktop() {
for(int i=1;i<=n;i++){
for(int j=1;j<=s;j++){
if(a[i].price<=c[j].price && a[i].hard_disk_capacity>=c[j].hard_disk_capacity && a[i].cpu_speed>=c[j].cpu_speed && a[i].graphics_card_type==c[j].graphics_card_type && a[i].cpu_type==c[j].cpu_type){
cout<<"customer number" <<" "<< j <<"may like our desktop number" <<" "<<i<<endl;
cout << "cpu type: " <<"-> "<< a[i].cpu_type <<endl;
cout<< " price:" <<"-> "<< a[i].price <<endl;
cout<< " cpu_speed:"<<"-> "<< a[i].cpu_speed <<endl;
cout<<"hard_disk_capacity:"<<"-> "<<a[i].hard_disk_capacity<<endl;
cout<<"graphics card type:"<<"-> "<<a[i].graphics_card_type<< endl;
}
}
}
}
void match_laptop(){
for(int i=1;i<=m;i++){
for(int j=1;j<=t;j++){
if(b[i].price<=d[j].price && b[i].hard_disk_capacity>=d[j].hard_disk_capacity && b[i].cpu_speed>=d[j].cpu_speed && b[i].graphics_card_type==d[j].graphics_card_type && b[i].cpu_type==d[j].cpu_type && b[i].weight<=d[j].weight && b[i].battery>=d[j].battery){
cout<<"customer number" <<" "<< j <<"may like our laptop number" << " "<<i<<endl;
cout<<"cpu type: " <<"-> "<< b[i].cpu_type <<endl;
cout<<"price:" <<"->"<< b[i].price <<endl;
cout<<"cpu_speed:"<< "-> " << b[i].cpu_speed <<endl;
cout<<"hard_disk_capacity:"<<"-> "<<b[i].hard_disk_capacity<<endl;
cout<<"graphics card type:"<<"-> "<<b[i].graphics_card_type<<endl;
cout<<"weight:"<<" -> "<<b[i].weight<<endl;
cout<<"battery:"<<"-> "<<b[i].battery<<endl;
}
}
}
}
void order_desktop(){
for(int i=0;i<n-1;i++){
int maxi=a[i].price;
int maxIndex=i;

for(int j=i+1;j<n;j++){
if( a[j].price>maxi){
maxi=a[j].price;
maxIndex=j;
}
}
swap(a[i].price,a[maxIndex].price);
}
for(int i=0;i<n;i++){
cout<<"cpu type: " <<"-> "<< a[i].cpu_type <<endl;
cout<<"price:" <<"-> "<< a[i].price <<endl;
cout<<"cpu_speed:"<<"-> "<< a[i].cpu_speed <<endl;
cout<<"hard_disk_capacity:"<<"-> "<<a[i].hard_disk_capacity<<endl;
cout<<"graphics card type:"<<"-> "<<a[i].graphics_card_type<< endl;
}

}
void order_laptop(){
for(int i=0;i<m-1;i++){
int maxi=b[i].price;
int maxIndex=i;

for(int j=i+1;j<m;j++){
if(b[j].price>maxi){
maxi=b[j].price;
maxIndex=j;
}
}
swap(b[i].price,b[maxIndex].price);
}
for(int i=0;i<m;i++){
cout<<"cpu type: " <<"-> "<< b[i].cpu_type <<endl;
cout<<"price:" <<"->"<< b[i].price <<endl;
cout<<"cpu_speed:"<< "-> " << b[i].cpu_speed <<endl;
cout<<"hard_disk_capacity:"<<"-> "<<b[i].hard_disk_capacity<<endl;
cout<<"graphics card type:"<<"-> "<<b[i].graphics_card_type<<endl;
cout<<"weight:"<<" -> "<<b[i].weight<<endl;
cout<<"battery:"<<"-> "<<b[i].battery<<endl;
}

}
void list_desktop(){
for(int i=0;i<s-1;i++){
int mini=a[i].cpu_speed;
int minIndex=i;

for(int j=i+1;j<s;j++){
if( c[j].cpu_speed<mini){
mini=c[j].cpu_speed;
minIndex=j;
}
}
swap(c[i].cpu_speed,c[minIndex].cpu_speed);
}
for(int i=0;i<s;i++){
cout<<"cpu type: " <<"-> "<< c[i].cpu_type <<endl;
cout<<"price:" <<"-> "<< c[i].price <<endl;
cout<<"cpu_speed:"<<"-> "<< c[i].cpu_speed <<endl;
cout<<"hard_disk_capacity:"<<"-> "<<c[i].hard_disk_capacity<<endl;
cout<<"graphics card type:"<<"-> "<<c[i].graphics_card_type<< endl;
}

}
void list_laptop(){
for(int i=0;i<t-1;i++){
int mini=d[i].cpu_speed;
int minIndex=i;

for(int j=i+1;j<t;j++){
if(d[j].cpu_speed<mini){
mini=d[j].cpu_speed;
minIndex=j;
}
}
swap(d[i].cpu_speed,d[minIndex].cpu_speed);
}
for(int i=0;i<t;i++){
cout<<"cpu type: " <<"-> "<< d[i].cpu_type <<endl;
cout<<"price:" <<"->"<< d[i].price <<endl;
cout<<"cpu_speed:"<< "-> " << d[i].cpu_speed <<endl;
cout<<"hard_disk_capacity:"<<"-> "<<d[i].hard_disk_capacity<<endl;
cout<<"graphics card type:"<<"-> "<<d[i].graphics_card_type<<endl;
cout<<"weight:"<<" -> "<<d[i].weight<<endl;
cout<<"battery:"<<"-> "<<d[i].battery<<endl;
}

}


int main() {

while(true) {
char ch;
cout << "Create new computer, enter 'c':" << endl;
cout << "Create new customer, enter 'n':" << endl;
cout << "Print all computers, enter 'p':" << endl;
cout << "Match all customers with single computer,enter 'm';"<<endl;
cout << "Order the computer price,enter o"<<endl;
cout << "List customers according ascending CPU speed,enter l"<<endl;
cout << "Exit 'x':" << endl;
cin >> ch;
char dh;
if (ch == 'o'){
cout<<"Desktops"<<endl;
order_desktop();
cout<<"Laptops"<<endl;
order_laptop();
}
if (ch == 'x')
break;
if (ch == 'c') {
cout<<"If you want to create desktop,enter d,if laptop enter l"<<endl;
cin>>dh;
if(dh=='d'){
create_desktop();
}
else if(dh=='l'){
create_laptop();
}
}
if (ch == 'l') {
cout<<"Desctops"<<endl;
list_desktop();
cout<<"Laptops"<<endl;
list_laptop();
}
if (ch == 'm') {
match_desktop();
match_laptop();
}
if (ch == 'n') {
cout<<"If you want desktop enter d,if laptop enter l"<<endl;
cin>>dh;
if(dh=='d'){
create_customer_desktop();
}
else if(dh=='l'){
create_customer_laptop();
}
}



if (ch == 'p') {
print_list_of_computers();
}

}


return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.11.2014, 16:57     где вставить freopen?
Посмотрите здесь:

3. Вставить нулевую строку и нулевой столбец перед строкой и столбцом, где находится первый минимальный элемент. C++
C++ freopen
C++ Дан двумерный массив размером 5 * 8, заполненный случайным образом. Вставить перед всеми строками, первый элемент которых делится на3,вставить....
Не находит freopen C++
C++ Дан символ С и строка S. Перед каждым вхождением C в строку S вставить строку S. Где ошибка?
Очередь с++ (вставить после каждого элемента, который содержит данную цифру вставить элемент x) C++
Что означает двоичный поиск?Как определить позицию, где в этот массив можно вставить число x C++
C++ Вставить между одинаковыми символами вставить " * " (звёздочку) (есть наброски)

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

Текущее время: 08:13. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru