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

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

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

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 07.01.2017, 19:43   #1
EnJoYs
 
Регистрация: 05.01.2017
Сообщений: 4
По умолчанию Структуры С++

Цель: создание комплексных программ, используя структуры, массивы из структур, указатели на структуры и функции в языке программирования C++.
Задачи

Напишите программу, которая позволяет пользователю выбирать один из пунктов меню (создание массива из структур; вывод на экран содержимого массива; добавление данных; изменение данных; сортировка данных; поиск данных по определенному критерию; удаление данных; выход и другие), и записывает данные в виде структур в массив. Тема, по которой вы должны создать базу данных и необходимые поля, указана в вашем варианте.
Вариант
Консервный завод (№, Название, Тип, Вес, Цена, Дата Изготовления)
Нашёл что-то подобное,но охуш эти праздники голова совсем не варит.
Заранеие спасибо за помощь и всех с праздниками

Код:
#include <iostream>
#include <fstream>
#include <list>
#include <string>
#include <cstdlib>
#include <algorithm>
using namespace std;

//Описываем структуру
struct Student
{
    string nomer;
    string FIO;
    string Adress;
    string telefon;
    string specialinosti;
    string curs;
    int otenka;
};

// Делаем сортировку по оценке;
bool compare(const Student& a,const Student& b)
{
    return a.otenka > b.otenka;
}

//База данных
list<Student> dbase;

//Описываем функции, которые будут вызываться при выборе пункта меню

//Пункт ввод в базу
void insert_base()
{
  Student st;
  
  cout << "Введите номер студента: ";
  cin >> st.nomer; cout << endl;
  
  cout << "Введите ФИО студента: ";
  cin >> st.FIO; cout << endl;
  
  cout << "Введите адрес студента: ";
  cin >> st.Adress; cout << endl;
  
  cout << "Введите телефон студента: ";
  cin >> st.telefon; cout << endl;
  
  cout << "Spets: ";
  cin >> st.specialinosti; cout << endl;
  
  cout << "Curs: ";
  cin >> st.curs; cout << endl;
  
  cout << "Otsenka: ";
  cin >> st.otenka; cout << endl;
  
  dbase.push_back(st);
};
//Пункт "Печать базы"
void print_base()
{
  for (Student v : dbase) {
    cout << "| " << v.nomer << " | " << v.FIO << " | " << v.Adress << " | " << v.telefon << " | " << v.specialinosti << " | " << v.curs << " | " << v.otenka << " |" << endl;
  }
};
//Пункт "Сортировка данных в базе"
void sort_base(){
  dbase.sort(compare);
};
//Пункт "Поиск по критерию"
void find()
{
  string query;
  cout << "FIO: ";
  cin >> query; cout << endl;
  for (Student v : dbase) {
    if (v.FIO == query) {
      cout << "| " << v.nomer << " | " << v.FIO << " | " << v.Adress << " | " << v.telefon << " | " << v.specialinosti << " | " << v.curs << " | " << v.otenka << " |" << endl;
    }
  }
};

//Пункт "Удаление данных"
void remove_data(){
  string query;
  list<Student> ndb;
  cout << "FIO: ";
  cin >> query; cout << endl;
  for (Student v : dbase) {
    if (v.FIO != query) {
      ndb.push_back(v);
    }
  }
  dbase = ndb;
};

//Пункт "Выход"
void exitp()
{
  exit(0);  
};

//Точка входа в программу
int main()
{
    cout << "Здравсвуйте, вас приветствует программа для управления Базы Данных студентов\n";

    while ( true )
    {
        //Массив указателей на функции - пункты меню
        void (*options[])() = {insert_base, 
                                print_base,
                                sort_base,
                                find,
                                remove_data,
                                exitp };
                                // edit_data,
                   cout << "Выберите действие:\n\
                     1. Добавить в базу данных\n\
                     2. Просмотреть базу данных\n\
                     3. Сортировать базу\n\
                     4. Поиск в базе\n\
                     5. Удалить из базы\n\
                     7. Изменения в базе (в разработке)\n\
                     6. Выход из программы\n > ";
        unsigned choise;
        cin >> choise;

     //Проверяем выбор на "правильность"
        if ( choise < 1 || choise > 6 )
        {
            cout << "Неверный выбор!\n";
        }
        else
        {
            //Если выбор правильный, вызываем соответсвующий пункт
            options[choise-1]();         // !!!
        }

    }
    return 0;
}

Последний раз редактировалось Аватар; 07.01.2017 в 19:56.
EnJoYs вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Передача структуры из программы на c# в dll на c++ и получение структуры из dll iukash Общие вопросы .NET 0 07.05.2013 16:03
Динамические структуры данных, списковые структуры (надо разобраться что делает программа) _4Alex4_ Помощь студентам 1 14.11.2012 07:39
Написание программ (древовидные структуры, структуры неспециального вида и т.д.) Green Gin Фриланс 2 27.04.2012 15:26
Управляющие структуры. Программирование алгоритмов разветвляющейся структуры. Лёнка Компоненты Delphi 1 23.04.2012 15:03
Структуры на Си. meta Помощь студентам 2 25.09.2011 23:59