Форум программистов, компьютерный форум CyberForum.ru

Структуры и использования сравнения strcmp - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ люди помогите с программой на С++ я пока новичёг http://www.cyberforum.ru/cpp-beginners/thread49955.html
дана последовательность чисел из n элементов найти среднее арифмитеическое последавательности н любое данно #include<iostream.h> #include<math.h>
C++ В одномерном массиве, который состоит из n вещественных элементов подсчитать номер минимального элемента массива В одномерном массиве, который состоит из n вещественных элементов подсчитать: 1) номер минимального элемента массива; 2)сумму элементов массива, которые расположены между первым и вторым отрицательными элементами http://www.cyberforum.ru/cpp-beginners/thread49952.html
Dev C++. (Отладка) C++
Всем привет. Меня интересует как в Dev C++ производить отладку программы? У меня чото не работает... Добавлено через 1 час 2 минуты Никаму нечево сказать?
работа с классами C++
помогите пожалуйста написать программу на C++: Создать класс Complex для работы с комплексными числами,который должен содержать два целочисленных поля,эти поля в public, конструктор по умолчанию,конструктор инициализации и методы для чтения и записи полей объекта. Создать два экземпляра объекта класса для одного конструктор по умолчанию,для второго конструктор для инициализации. Вывести на экран...
C++ Как правильно написать??? http://www.cyberforum.ru/cpp-beginners/thread49940.html
Как правильно написать ? дана часть кода: #include &quot;stdafx.h&quot; main() {stract znak{char fam char imy char znakz int d}z1;
C++ Для чего нужен заголовочный файл conio.h ? <conio.h>. нам в институте говорили про такое. Я понимаю так,что если этот поток можно использовать без <iostream>. А то данный поток использовался почти в каждой задаче....))) PS."простите дурочку,но я ещё только учусь" подробнее

Показать сообщение отдельно
kravam
быдлокодер
1691 / 878 / 44
Регистрация: 04.06.2008
Сообщений: 5,410
08.09.2009, 12:24     Структуры и использования сравнения strcmp
Считаю, что в некотором- только некотором- смысле автору повезло, нашёлся я, который только всё это дело изучает и поэтому мне интересно. Буду тык скыть благодарен всем за критику.

Защиты от дураков нет. Вводи латынью, по другому не тестировал
Количество людей можно менять в макросах.
В планах извратиться и написать заполнение объектов в конструкторе.

Автор, один вопрос: это что?
#include &quot;stdafx.h&quot;

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
#include <iostream>
#include <windows.h>
 
 
#define max_razmer_stroki 81
#define kolichestvo_chelovek 5
using namespace std; 
 
//Это вот вспомогательная функция, чтобы русские буквы печатались
char* fRusYazik (const char* str){
 char* buffer = new char[strlen(str)];
 CharToOemA(str, buffer);
 return buffer;
}
 
 
int kolichestvo_chelovek_s_zadannim_znakom= 0;
 
//Это вот значит класс
class znak {
       char fam [max_razmer_stroki];//Массив под фамилию
       char ima [max_razmer_stroki]; //Массив под  имя
       char znakz [max_razmer_stroki]; //Массв под знак зодиака
       int P13[3];//Три числа, дата рождения
 
 public:
 
 //Прототипы функций ввода-вывода
 void vvod_fam ();       
 void vvod_ima ();       
 void vvod_znakz ();       
 void vvod_P13 ();       
 
 //Вывод, если есть человек с таким знаком зодиака
 void vivod_esli_est (char*); 
 };
 
 //Это определения функций-методов для ввода имени, фамилии и знака зодиака
 void znak::vvod_fam () {
  cin.getline(fam, max_razmer_stroki);
 } 
 void znak::vvod_ima () {
  cin.getline(ima, max_razmer_stroki);
 } 
 void znak::vvod_znakz () {
  cin.getline(znakz, max_razmer_stroki);
 } 
 void znak::vvod_P13 () {
  cout<< fRusYazik("вводи число\n");
  cin>> P13 [0];
  cout<< fRusYazik("вводи месяц\n");
  cin>> P13 [1];
  cout<< fRusYazik("вводи год\n");
  cin>> P13 [2];
 } 
 
//Это прототип для функции вывода человека с таким знаком зодиака
 void znak::vivod_esli_est (char* ukaz_na_znakz) {
  if (!strcmp(ukaz_na_znakz, znakz)) {
   cout<< fRusYazik("Держи человека\n");
   cout<<endl<< fam<< endl;                         
   cout<< ima<< endl;                         
   cout<< znakz<< endl;                         
   cout<< P13 [0]<< " "<< P13 [1]<<" "<< P13 [2]<< endl;                         
   kolichestvo_chelovek_s_zadannim_znakom++;
  }  
 }
 
 
int main() {
 
//Объявили массив chelovek из трёх объектов типа znak 
znak chelovek [kolichestvo_chelovek];
 
char suda__vvodim_znak [81];
 
cout<< fRusYazik("введите данные\n");
//Попробуем заполнить
int i;
for (i= 0; i< kolichestvo_chelovek; i++) {
 cout<< fRusYazik("человек номер ")<<i+ 1<<endl;
 getchar ();
 chelovek [i].vvod_fam (); 
 chelovek [i].vvod_ima (); 
 chelovek [i].vvod_znakz (); 
 chelovek [i].vvod_P13 (); 
}
 
cout<< fRusYazik("Заполнили, вводи знак\n");
 
//Вводим рзнак зодиака
 getchar ();
 cin.getline (suda__vvodim_znak, max_razmer_stroki);
 
 
//Вызываем функцию vivod Если понадобится, сколько-то там раз раз 
for (i= 0; i< kolichestvo_chelovek; i++) {
 chelovek [i].vivod_esli_est (suda__vvodim_znak); 
}
 
if (!kolichestvo_chelovek_s_zadannim_znakom) {
 cout<< fRusYazik("Нет таких людей\n");
}
 
 getchar ();
 return 0;
}
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru