Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 11.12.2012, 16:39   #1
Dimas23.09.93
Новичок
Джуниор
 
Регистрация: 11.12.2012
Сообщений: 1
По умолчанию Поиск,добавление и удаление элементов в таблице (массив структур)

Добрый день! Вот собственно сам код. Создал подпрограмму по сортировке и выводе в файл. Не могу додуматься как реализовать добавление,удаление и поиск товара в таблице. Помогите чем сможете)) (С++)

Код:
#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;
}


___________
Код нужно оформлять по правилам:
тегом [CODE]..[/СODE] (это кнопочка с решёточкой #)
Не забывайте об этом!
Модератор.

Последний раз редактировалось Serge_Bliznykov; 11.12.2012 в 16:51.
Dimas23.09.93 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Добавление (удаление) строк в таблице inside9 Microsoft Office Excel 29 01.01.2012 22:31
Добавление/Удаление столбца в таблице БД Delphi Mag-Dark_Elf Помощь студентам 6 09.11.2011 23:53
Массив структур из N-элементов С++ Alexey_kor Помощь студентам 4 24.04.2011 17:53
Разработчик|макрос. Добавление элементов к уже существующей таблице. DarkGuard Microsoft Office Excel 0 24.03.2011 19:51
Добавление записей в массив структур korel Общие вопросы C/C++ 2 07.05.2009 23:59