Форум программистов, компьютерный форум, киберфорум
Наши страницы

Добавление и удаление товара из таблицы в структуре - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Одномерные массивы: найти номер максимального элемент http://www.cyberforum.ru/cpp-beginners/thread726095.html
Вариант12 В одномерном массиве, состоящем из n вещественных элементов, вычислить: 1. Номер максимального элемента массива 2. Сумму элементов массива, расположенных после первого положительного...
C++ Определить, для какого наибольшего n можно вычислить значение (2n)!!, используя int Определить, для какого наибольшего n можно вычислить значение (2n)!! (произведение всех четных натуральных чисел, не превышающих 2n), пользуясь типом int. http://www.cyberforum.ru/cpp-beginners/thread726089.html
Функции (кол-во слов длины n, слово с номером n задом наперед) C++
1) Написать функцию, которая определяет кол-во слов длины n и выписывает их 2)Написать функцию которая слово с номером n переписывает задом наперед Помогите пожалуйста составить и разобраться...
Программирование с использованием подпрограмм общего вида типа C++
Дана задача: Заданы матрицы A= (i=1, 2, 3; j=1, 2, 3), B= (i=1, 2, 3; j=1, 2, 3), то есть матрица А (3х3) и матрица В (3х3). Расставить в порядке возрастания элементы в главных диагоналях каждой...
C++ Запуск exe раз в неделю http://www.cyberforum.ru/cpp-beginners/thread726078.html
Добрый день, есть код программы предположим это вывод на экран Привет Мир! #include <iostream> using namespace std; int main() { cout << "Hello world!" << endl;
C++ Уверенное создание файла Допустим, я создаю файл и сразу же проверяю его наличие. Возможна ли ситуация, когда файл не успеет записаться? Если же такой казус возможен хотя бы чисто гипотетически, то как его гарантированно... подробнее

Показать сообщение отдельно
Dimas1993
0 / 0 / 0
Регистрация: 07.12.2012
Сообщений: 1

Добавление и удаление товара из таблицы в структуре - C++

10.12.2012, 14:19. Просмотров 259. Ответов 0
Метки (Все метки)

Добрый день! Вот собственно сам код. Создал подпрограмму по сортировке и выводе в файл. Не могу додуматься как реализовать добавление нового товара и удаление из таблицы имеющегося. Помогите чем сможете))
C++
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
#include "stdafx.h"
 
 
int _tmain(int argc, _TCHAR* argv[])
{
    return 0;
}
 
#include <iostream>
using namespace std;
 
struct Mobile {
    char name[100];
    char color[100];    
    int wheight;
    float price;
};
 
const int n=13;
Mobile mobile[] = {
    {"Acer Iconia Smart", "Синий", 139, 12500},
    {"Apple Iphone 4","Черный",137,16500},
    {"Fly E185","Красный",91, 15400},
    {"Nokia N9", "Зеленый",135, 16000},
    {"HTC Evo 3D", "Белый",170, 14490},
    {"HTC Sensation","Черный",148, 17900},
    {"LG Optimus 3D P920","Черный",168,15600},
    {"LG Optimus Black P970", "Черный",109,15200},
    {"Motorola Photon 4G", "Темно-синий", 158, 13200},
    {"Motorola Triumph", "Коричневый", 143,15500},
    {"Nokia C2-06", "Бежевый", 115, 12200},
    {"Philips Xenium X325", "Черный",98,6000},
    {"Philips Xenium X519", "Черный",102, 7400},
    
 
};
 
 
void printMobile() {
  printf("%-25s %-15s %-7s %-10s %-10s\n", "Название",
    "Цвет", "Вес", "Цена");
    for (int i=0; i<13; i++) {
        printf("%-25s %-15s %-7d %-10.2f\n", 
            mobile[i].name, mobile[i].color,
                    mobile[i].wheight, mobile[i].price);
    }
}
 
#define NAME 1
#define COLOR 2
#define WHEIGHT 3
#define PRICE 4
 
 
bool isGreater(Mobile b1, Mobile b2, int field) {
 switch(field) {
  case NAME : return strcmp(b1.name, b2.name) > 0;
  case COLOR : return strcmp(b1.color, b2.color) > 0;
  case WHEIGHT : return b1.wheight > b2.wheight;
  case PRICE : return b1.price > b2.price;
  default : return true;
 }
}
 
void sortMobile(int field) {
  for (int i=0; i<n-1; i++) {
    int max = i;
    for (int j=i+1; j<n; j++) {
      if (isGreater(mobile[max], mobile[j], field)) {
        max = j;
      }
    }
    Mobile temp = mobile[max];
    mobile[max] = mobile[i];
    mobile[i] = temp;
  }
}
 
void intoFile() {
  FILE* dataFile = fopen("books.txt", "w");
  for (int i=0; i<5; i++) {
   fprintf(dataFile, "%s\n%s\n%d\n%f\n", 
    mobile[i].name, mobile[i].color,
    mobile[i].wheight, mobile[i].price);
  }
  fclose(dataFile);
}
 
 
 
int main() {
  setlocale(LC_ALL, "Russian");
  
  while (true) {
    system("cls");
    printf("1 - Вывод всех мобильных телефонов\n"); 
    printf("2 - Сортировка по названию\n"); 
    printf("3 - Сортировка по цвету\n"); 
    printf("4 - Сортировка по весу\n"); 
    printf("5 - Сортировка по цене\n"); 
    printf("6 - Запись в файл\n"); 
    printf("0 - Выход\n"); 
 
    int choice;
    cin >> choice;
    switch (choice) {
    case 1 : printMobile();break;
    case 2 : sortMobile(NAME);break;
    case 3 : sortMobile(COLOR);break;
    case 4 : sortMobile(WHEIGHT);break;
    case 5 : sortMobile(PRICE);break;
    case 6 : intoFile();break;
    case 0 : exit(EXIT_SUCCESS);break;
    default : printf("Ошибка\n");
    }
    system("pause");
  }
  return 0;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.