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

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

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 14.05.2011, 16:21   #1
Tiberium
Пользователь
 
Регистрация: 17.11.2010
Сообщений: 10
Восклицание Программа по структуре

Создать Массив структур с именем Sotrudnik, содержащих следующие поля:
1. Табельный номер сотрудника.
2. ФИО сотрудника.
3. Должность.
4. Стаж работы.
5. Зарплата.
Организовать возможность выполнения следующих операций:
1. Добавление новых записей.
2. Удаление записей по табельному номеру.
3. Вывод на экран всех сотрудников.
4. Вывод на экран фамилий сотр, с определенной должностью, стажем работы, зарплатой.
Масив структур должен храниться в текстовом файле и при запуске программы информация должна считываться из него.

Это само задание. Сделал начало дальше не могу. Плизз помогите сделать удаление по табельному номеру и Масив структур должен храниться в текстовом файле и при запуске программы информация должна считываться из него.

Код:
#include<conio.h>
#include<stdio.h>
#include<iostream.h>
#include<string>

using namespace std;
  struct Worker
{
  int Tabnom;
  string FIO;
  string Dolj;
  int Staj;
  int Zarp;
};

  void Add (Worker *W, int &n)
{
  clrscr ();
  cout<<"Dannie sotrudnika:\n";
  cout<<"Tabnom:"; cin>>W[n].Tabnom;
  cout<<"FIO:"; cin>>W[n].FIO;
  cout<<"Dolj:"; cin>>W[n].Dolj;
  cout<<"Staj:"; cin>>W[n].Staj;
  cout<<"Zarp:"; cin>>W[n].Zarp;
  n++;
}
  void Find (Worker *W, int n)
{
  clrscr ();
  int y;
  cout<<"Vvedite Staj sotrudnika:\n";
  cin>>y;
  cout<<"Tabnom         FIO         Dolj          Staj         Zarp\n";
  for (int i=0; i<n; i++)
  if (W[i].Staj==y)
  cout<<W[i].Tabnom<<"         "<<W[i].FIO<<"          "<<W[i].Dolj<<"          "<<W[i].Staj<<"          "<<W[i].Zarp<<"\n";
  getch ();
}
 void Find2 (Worker *W, int n)
{
  clrscr ();
  int y;
  cout<<"Vvedite Tabnom sotrudnika:\n";
  cin>>y;
  cout<<"Tabnom         FIO         Dolj          Staj         Zarp\n";
  for (int i=0; i<n; i++)
  if (W[i].Tabnom==y)
  cout<<W[i].Tabnom<<"         "<<W[i].FIO<<"          "<<W[i].Dolj<<"          "<<W[i].Staj<<"          "<<W[i].Zarp<<"\n";
  getch ();
}
  int del (Worker *W, int n)
{
  clrscr ();
  int y;
  cout<<"Vvedite Tabnom sotrudnika dlya udalen:\n";
  cin>>y;
  for (int i=0; i<n; i++)
  if (W[i].Tabnom==y)
  n=n-1;
  return -1;
  getch ();
}
  void Sort (Worker *W, int n)
{
  clrscr ();
  cout << n;
  cout << "\nSortirovka\n";
  Worker temp;
  for(int i=0; i<n; i++)
   for(int j=n-2; j>=i; j--)
   if (W[j].Tabnom>W[j+1].Tabnom)
     {
      temp=W[j];
      W[j]=W[j+1];
      W[j+1]=temp;
     }

  getch ();
 }
  void Print (Worker *W, int n)
{
  clrscr ();
  cout<<"Spisok sotrudnikov:\n";
  if (n==0)
   {
     cout<<"Spisok pust";
     getch ();
     return;
   }
  cout<<"Tabnom         FIO         Dolj          Staj         Zarp\n";
  for (int i=0; i<n; i++)
{
  cout<<W[i].Tabnom<<"         "<<W[i].FIO<<"          "<<W[i].Dolj<<"          "<<W[i].Staj<<"          "<<W[i].Zarp<<"\n";
}
  getch ();
}
  void main ()
{
  const int N_max=100;
  Worker *W=new Worker[N_max];
  int n=0;
  char ch;
  do
{
  clrscr ();
  cout<<"1 - Dobavlenie\n";
  cout<<"2 - Pechat rabotnika\n";
  cout<<"3 - Sortirovka rabotnikov\n";
  cout<<"4 - Poisk rabotnika po Staj rojdenia\n";
  cout<<"5 - Poisk rabotnika po Tabnom rojdenia\n";
  cout<<"6 - Udalenie sotrudnika po Tabnom\n";
  cout<<"0 - Exit\n";
  ch=getch ();
  switch (ch)
    {
      case '1': Add (W,n); break;
      case '2': Print (W,n); break;
      case '3': Sort (W,n); break;
      case '4': Find (W,n); break;
      case '5': Find2 (W,n); break;
      case '6': del (W,n); break;
    }
}
  while (ch!='0');
}
Tiberium вне форума Ответить с цитированием
Старый 14.05.2011, 21:33   #2
rustx88
Пользователь
 
Регистрация: 08.05.2011
Сообщений: 42
По умолчанию

тут легче реализовать через класс (идентично через структуры)
могу выполнить за вознаграждение
rustx88 вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
массив в структуре Артэс Общие вопросы C/C++ 7 07.07.2010 12:10
Программа бронирования номеров. Вопрос по структуре. Kuziv Microsoft Office Access 1 15.08.2009 02:35
Замечания к структуре БД artemavd БД в Delphi 13 01.05.2009 19:40
Замечания к структуре БД artemavd БД в Delphi 0 30.04.2009 13:01
ОШИБКА в структуре Panterka Помощь студентам 7 19.12.2007 09:24