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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Apmyp /7
3 / 3 / 0
Регистрация: 14.10.2009
Сообщений: 76
#1

Структуры - C++

24.05.2010, 22:12. Просмотров 307. Ответов 3
Метки нет (Все метки)

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
#include <iostream>
#include <conio>
#include <iomanip>
#include <fstream>
using namespace std;
 
struct TDarbin {char imja[30]; int nomer; double zarplata;};
const int n=3;
 
void iev(TDarbin Darbin)
{
 
cout<<"Imja: ";cin>>Darbin.imja;
cout<<"Nomer: ";cin>>Darbin.nomer;
cout<<"Zarplata: ";cin>>Darbin.zarplata;
 
};
 
void izv(int nr, TDarbin Darbin)
{
int n=0,sum=0;
double vid;
while(n<nr)
{
n++;
cout<<"\n\n"<<n<<". Zapisj:";
cout<<"\nImja: "<<Darbin.imja;
cout<<"\nNomer: "<<Darbin.nomer;
cout<<"\nZarplata: "<<Darbin.zarplata;
getch();
sum+=Darbin.zarplata;
}
 
vid=sum*1.0/nr;
cout<<"\n\nSrednjaja zarplata = "<<vid;
};
 
void main()
{
int i,k,nr; struct TDarbin Darbin;
 
do
{
clrscr();
 
cout << "\n Koli4estvo zapisei " << nr;
cout<<"\n 0 - zakon4itj\n 1 - vvesti\n 2 - vse su6estvuju6iji zapisi\n \nVvesti nomer: ";
cin>>i;
if(i==1) iev(Darbin);
if(i==2)
{
izv(nr, Darbin);
getch();
}
 
}
while(i!=0);
}
Добрый вечер! Вобщем, суть в том, что даётся выбор, что делать, ввести запись(имя, телефон, зарплату) , посмотреть существующую или закончить работу. У меня большие проблемы с этой задачей, не могу поставить защиту, что бы к примеру где нужно вводить цифры, нельзя вводить буквы. Также проблемы с просмотром уже существующих записей и вызов каждой из них по отдельности. Допишите пожалуйсто код до конца, а то сам осилить никак не могу.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.05.2010, 22:12
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Структуры (C++):

Помещение структуры в вектор, удаление структуры, изменение элементов структуры - C++
Здравствуйте. Помогите разобраться с тем, как: 1 - находить элементы в векторе зная уникальный элемент структуры. 2 - удалять...

Динамические структуры данных. Программа ввода в структуры и вывода информации из неё. - C++
Автоматизированная информационная система на железнодорожном вокзале содержит сведения об отправлении поездов дальнего следования. Для...

Функция внутри структуры использует указатель, как поле этой структуры - C++
Коротко, есть класс A, описан в файле A_class.h ну и реализованы функции в A_class.cpp, есть файл GlobalItems.h, где хранятся глобальные...

Структуры, массивы структур (как можно присваивать(инициализировать) значения полям структуры) - C++
Есть у меня вот такая структура, например struct Subject { int cost; int Volume; }; Потом создаю экземпляр, Subject G; ...

Вывод структуры, строка как элемент структуры - C++
Описать структуру с именем TRAIN, содержащую следующие поля: □ название пункта назначения; □ номер поезда; □ время отправления. ...

Исследование структуры FILE или: что вообще можно выудить из этой структуры, указатель на которую мы получаем при открытии файла? - C++
Ничего нельзя. Итак, новичкам напомню, что после выполнения кода FILE* f= fopen (&quot;file.txt&quot;, &quot;w&quot;); в переменной f содержится...

3
Sura
6 / 6 / 0
Регистрация: 23.05.2010
Сообщений: 87
24.05.2010, 23:30 #2
есть у меня похожая программа
вот, может чем-то поможет:
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
#include<iostream.h>
#include<string.h>
struct RECORD
{
       char FirstName[15];
       char LastName[15];
       int Phone;
       char City[15];       
       };
void zapolnenie(RECORD [],int);
void vivod(RECORD [],int);
main()
{
      int n;
      RECORD sprav[3];
      for(int i=0;i<3;i++)
      {
      cout<<"Dlja zapolnenia vvedite jacheiku! Dlja vihoda vvedite -1 "<<'\n';
      cin>>n;
  if(n>=0){
  zapolnenie(sprav,n); 
  cout<<"Dannye: "<<'\n';
  vivod(sprav,n);
  }
  else break;
}
  system("PAUSE");
  return 0;    
      } ;
void zapolnenie (RECORD a[],int m)
{ 
     
     cout<<"Enter the first name: ";
     cin>>a[m].FirstName;
     cout<<'\n';
     cout<<"Enter the last name: ";
     cin>>a[m].LastName;
     cout<<'\n';
     cout<<"Enter the phone number: ";
     cin>>a[m].Phone;
     cout<<'\n';
     cout<<"Enter the city: ";
     cin>>a[m].City;
     cout<<'\n';
    
}
void vivod(RECORD b[],int k)
{
   
     cout<<"first name:"<<b[k].FirstName<<'\n';
     cout<<"last name:"<<b[k].LastName<<'\n';
     cout<<"phone number:"<<b[k].Phone<<'\n';
     cout<<"city:"<<b[k].City<<'\n';
                    
                     }
0
Sekt
156 / 155 / 10
Регистрация: 29.04.2009
Сообщений: 637
25.05.2010, 09:46 #3
Цитата Сообщение от Apmyp /7 Посмотреть сообщение
У меня большие проблемы с этой задачей, не могу поставить защиту, что бы к примеру где нужно вводить цифры, нельзя вводить буквы.
Исп проверку на isdigit если вводится цифра то все хорошо если нет выводите сообщение.

Цитата Сообщение от Apmyp /7 Посмотреть сообщение
Также проблемы с просмотром уже существующих записей и вызов каждой из них по отдельност
Исп какую-нибудь вам по-нраву структуру данных.
0
NNN777
299 / 157 / 19
Регистрация: 27.02.2010
Сообщений: 317
25.05.2010, 10:46 #4
Тоже есть похожая программка, может, пригодится... Не очень понятно, что значит - просмотр отдельного элемента - по какому полю будет происходить поиск этого отдельного элемента?..
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
#include <iostream>
#include <string.h>
#include <locale.h>
using namespace std;
 
const int size=100;
const int MaxItems=3;   //max количество элементов в таблице
 
struct Item 
{
    char imja[30]; 
    int nomer; 
    double zarplata;
};
 
Item table[MaxItems];   // определение рабочего вектора
 
char *mes[]=
{
    "1. Занести в таблицу\n",
    "2. Просмотреть таблицу\n",
    "3. Завершить работу\n"
};
int mes_count=sizeof(mes)/sizeof(mes[0]);
 
void Insert (void);
void Show (void);
void Quit(void);
void (*Sunc[])()={Quit, Insert, Show};
 
int n=-1;
 
int menu ()
{
    int ans;
    do
    {
        for (int j=0; j<mes_count; j++)
            cout<<mes[j];
        cout<<endl;
        cout<<"Выберете действие: ";
        cin>>ans;
    }
    while (ans<0||ans>mes_count);
    return ans%mes_count;
}
int main()
{   
    setlocale(LC_ALL,"Russian");
    int answer;
    while (answer = menu())
        Sunc[answer]();
    cout << "\n******* Завершение *******" << endl;
}
void Insert()
{
    int k, i=0;
    char buf[size];
    char buf2[size];
    if (n-1==MaxItems)
        cout<<"Таблица заполнена!\n";
    else
    {
        cout<<"Имя: ";
        cin>>table[n+1].imja;
        cout<<"Номер: ";
        cin>>table[n+1].nomer;
        cout<<"Зар.плата: ";
        cin>>table[n+1].zarplata;
        n++;
    }
}
void Show ()
{
    int i=0;
    if (n==-1)
        cout<<"Таблица пуста!\n";
    else
    {
        cout << "\n==================="<< endl;
        cout << "Индекс"<<'\t'<<"Имя" << '\t' << "Номер"<<'\t'<<"Зар.плата"; 
        cout << "\n==================="<< endl;
        for (i=0; i<=n; i++)
        {
            cout<<i<<'\t'<<table[i].imja<<"\t"<<table[i].nomer<<'\t'<<table[i].zarplata;
            cout<<endl;
        }
 
            cout << "\n==================="<< endl;
    }
}
void Quit ()
{
    n=0;
}
0
25.05.2010, 10:46
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.05.2010, 10:46
Привет! Вот еще темы с ответами:

Оператор if и структуры. Возвращение структуры из функции - C++
Здравствуйте, имеется такая вот функция. void InputStructEmployee (int StructSize) { StructEmployee UsrStruct; string...

Структуры. Вызов данных структуры по указателю. с++ - C++
Условие задачи: Помогите, пожалуйста, с как реализовать печать вообще не представляю.

Структуры. Работа с файлами, содержащими структуры - C++
2) Дана совокупность сведений, каждое из которых состоит из следующих рекви-зитов: фамилия и инициалы автора – 25 знаков; название книги –...

Понятие структуры данных. Элементарные структуры данных. Простые структуры данных - C++
Понятие структуры данных. Элементарные структуры данных. Простые структуры данных: методы реализации, особенности в различных языках...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.