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

Мини База Данных фамилий с проверкой - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Задачка из первой главы Дейтелов. http://www.cyberforum.ru/cpp-beginners/thread436742.html
Программа вводит три целых числа с клавиатуры, печатает сумму, среднее значение, произведение, наименьшее и наибольшее из этих чисел. //Программа вводит три целых числа с клавиатуры //печатает сумму, среднее значение, произведение //наименьшее и наибольшее из этих чисел. #include <iostream> using std::cout; using std::cin; using std::endl;
C++ Переписать код с использование цикла for помогите написать данную программу, только с использованием for #include <iostream> using namespace std; int main() { setlocale( LC_ALL,"Russian" ); int n=0; int k=0; http://www.cyberforum.ru/cpp-beginners/thread436731.html
Описать структуру с именем STUDENT C++
Доброго время суток! уважаемые программисты! очень нужна помощь, скоро зачет( Описать структуру с именем STUDENT, содержащую следующие поля: • фамилия и инициалы; • номер группы; • успеваемость (массив из пяти элементов). Написать программу, выполняющую следующие действия: • ввод с клавиатуры данных в массив, состоящий из десяти структур типа STUDENT; • упорядочить записи по возрастанию...
fstream::tellp() не работает как надо. C++
#include <iostream> #include <stdlib.h> #include <fstream> using namespace std; int main(int argc, char** argv) { fstream f("tmp.b",ios::out|ios::binary); //Записываем.
C++ Прототип функции С++ http://www.cyberforum.ru/cpp-beginners/thread436724.html
Доброй ночи! помогите, пожалуйста, решить задачу с прототипом функции, вот условие: Написать функцию которая возводит указанное пользователем число в указанную пользователем степень. Вот примерно как должна выглядить программа, но не могу разобраться с теми значениями в функциях: #include <iostream> using namespace std; void sqrt(); //прототип int main()
C++ Нужна Блок Схема #include <iostream> #include <cstdlib> #include <ctime> int main() {const int row = 3; const int column = 3; int mass; int middle; int left = 0, right = 0; srand(time(NULL)); подробнее

Показать сообщение отдельно
lemegeton
 Аватар для lemegeton
2910 / 1339 / 133
Регистрация: 29.11.2010
Сообщений: 2,720
28.01.2012, 16:56     Мини База Данных фамилий с проверкой
Воспользоваться контейнером std::set. Даже проверять не надо.
Для удобства, можно заключить работу с набором записей в класс.
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
#include <iostream>
#include <fstream>
#include <string>
#include <algorithm>
#include <iterator>
#include <set>
 
template <class Record>
class SetStorage {
 public:
  SetStorage(const std::string &fileName)
    : fileName_(fileName), records_() {
    readAll();
  }
  void save() { writeAll(); }
  bool empty() const { return records_.empty(); }
  size_t size() const { return records_.size(); }
  void insert(const Record &record) {
    records_.insert(record);
  }
  void erase(const Record &record) {
    records_.erase(record);
  }
  bool has(const Record &record) {
    return records_.find(record) != end();
  }
  typename std::set<Record>::iterator begin() { return records_.begin(); }
  typename std::set<Record>::const_iterator begin() const { return records_.begin(); }
  typename std::set<Record>::iterator end() { return records_.end(); }
  typename std::set<Record>::const_iterator end() const { return records_.end(); }
 private:
  void readAll() {
    std::ifstream file(fileName_.c_str());
    records_.clear();
    std::copy(std::istream_iterator<Record>(file),
      std::istream_iterator<Record>(), std::inserter(records_,
      records_.end()));
  }
  void writeAll() const {
    std::ofstream file(fileName_.c_str());
    std::copy(records_.begin(), records_.end(),
      std::ostream_iterator<Record>(file, "\n"));
  }
  std::string fileName_;
  std::set<Record> records_;
};
 
int main(int argc, char *argv[]) {
  SetStorage<std::string> fileStorage("tutor0083.txt");
  
  fileStorage.insert("Ivanov");
  fileStorage.insert("Petrov");
  fileStorage.insert("Sidorov");
 
  std::copy(fileStorage.begin(), fileStorage.end(),
    std::ostream_iterator<std::string>(std::cout, "\n"));
    
  fileStorage.save();
}
 
Текущее время: 02:43. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru