Главная страница Случайная страница Разделы сайта АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
💸 Как сделать бизнес проще, а карман толще?
Тот, кто работает в сфере услуг, знает — без ведения записи клиентов никуда. Мало того, что нужно видеть свое раписание, но и напоминать клиентам о визитах тоже.
Проблема в том, что средняя цена по рынку за такой сервис — 800 руб/мес или почти 15 000 руб за год. И это минимальный функционал.
Нашли самый бюджетный и оптимальный вариант: сервис VisitTime.⚡️ Для новых пользователей первый месяц бесплатно. А далее 290 руб/мес, это в 3 раза дешевле аналогов. За эту цену доступен весь функционал: напоминание о визитах, чаевые, предоплаты, общение с клиентами, переносы записей и так далее. ✅ Уйма гибких настроек, которые помогут вам зарабатывать больше и забыть про чувство «что-то мне нужно было сделать». Сомневаетесь? нажмите на текст, запустите чат-бота и убедитесь во всем сами! Вычисление биномиального коэффициента
int binomialCoefficient(int k, int n) { return (n==k || k==0)? 1: binomialCoefficient(k-1, n-1)+binomialCoefficient(k, n-1); }
Ханойские башни #include " stdafx.h" void HanoyTown(int nLevel, char from, char to, char mid) { if (nLevel > 0) { HanoyTown(nLevel-1, from, mid, to); printf(_T(" %c ==> %c\n"), from, to); HanoyTown(nLevel-1, mid, to, from); } } int _tmain(int argc, _TCHAR* argv[]) { HanoyTown(3, 'A', 'B', 'C'); return 0; } /* Простой пример программы обработки списка, в которой используется массив структур. */#include < stdio.h> #include < stdlib.h> #define MAX 100 struct addr { char name[30]; char street[40]; char city[20]; char state[3]; unsigned long int zip; } addr_list[MAX]; void init_list(void), enter(void); void delete(void), list(void); int menu_select(void), find_free(void); int main(void){ char choice; init_list(); /* инициализация массива структур */ for(;;) { choice = menu_select(); switch(choice) { case 1: enter(); break; case 2: delete(); break; case 3: list(); break; case 4: exit(0); } } return 0; } /* Пример обобщенного ввода с помощью указателей на структуры. */ #include < stdio.h> struct xyinput { void input_xy(struct xyinput *info); int main(void) /* вывод сообщения о подсказке в указанной позиции и ввод целочисленного значения */
Тогда, чтобы считать эти данные, мы можем написать такую программу: Стурктура с файлами #include < stdio.h>
main () { FILE *file; struct food { char name[20]; unsigned qty; float price; }; struct food shop[10]; char i=0;
file = fopen(" fscanf.txt", " r");
while (fscanf (file, " %s%u%f", shop[i].name, & (shop[i].qty), & (shop[i].price))! = EOF) { printf(" %s %u %.2f \n ", shop[i].name, shop[i].qty, shop[i].price); i++; } }
ШАБЛОНЫ void sort(T array[], int size); // прототип: шаблон sort объявлен, но не определён
template < typename T > void sort(T array[], int size) // объявление и определение { T t; for (int i = 0; i < size - 1; i++) for (int j = size - 1; j > i; j--) if (array[j] < array[j-1]) { t = array[j]; array[j] = array[j-1]; array[j-1] = t; } }
#pragma once #include " stdafx.h" #include < stdio.h> #include < conio.h> #include < stdlib.h> #include < windows.h> #include < iostream> #include < locale.h> using namespace std; class CPoint { private: float m_x; float m_y; public: CPoint(): m_x(0), m_y(0) {}; CPoint (float x, float y): m_x(x), m_y(y) {}; CPoint (CPoint & o): m_x(o.m_x), m_y(o.m_y) {}; ~CPoint () {}; void set_x (float); void set_y (float); float get_x (void); float get_y (void); void view (char*comm); CPoint sin_x (); CPoint sin_y (); };
void CPoint:: set_x (float x) {m_x=x; }
void CPoint:: set_y (float y) {m_y=y; }
float CPoint:: get_x (void) {return m_x; }
float CPoint:: get_y (void) {return m_y; }
void CPoint:: view (char *comm) {std:: cout < < comm < < '\n'< < std:: endl; std:: cout < < 'x' < < get_x()< < std:: endl; std:: cout < < 'y' < < get_y()< < std:: endl; }
CPoint CPoint:: sin_x() {CPoint temp; temp. m_x = -get_x(); temp. m_y = get_y(); return temp; }
void set_Pos (char); void set_Count (char); char get_Pos (void); char get_Count (void); void string:: set_Pos (char Pos) {m_Pos=Pos; }
void string:: set_Count (char Count) {m_Count=Count; }
char string:: get_Pos (void) {return m_Pos; }
char string:: get_Count (void) {return m_Count; }
int _tmain(int argc, _TCHAR* argv[])
Пример класса со статическими данными #include " stdafx.h" #include < iostream> #include < stdio.h> #include < conio.h> #include < stdlib.h> #include < string> using namespace std; class C { public: static double A; // открытый статический член-данное int m_x, m_y; // нестатические члены-данные private: static int B; // закрытый статический член-данное public: // конструкторы и деструктор C (): m_x (0), m_y (0) { } C (int x, int y): m_x (x), m_y (y) { } ~C () { } // методы для статического данного B void setB (int _b) { B = _b; } int getB () { return B; } }; // инициализация статических данных double C:: A = 2.75; int C:: B = 777; // главная функция
int _tmain(int argc, _TCHAR* argv[]) { C a (10, 10), b (-10, -10); // вывод состояния нестатических данных cout < < " a\t" < < a.m_x < < '\t' < < a.m_y < < endl; cout < < " b\t" < < b.m_x < < '\t' < < b.m_y < < endl; // вывод состояния статических данных cout < < " for a and b static A =\t" < < C:: A < < endl; cout < < " for a static B =\t" < < a.getB () < < endl; cout < < " for b static B =\t" < < b.getB () < < endl; // изменение и вывод значения A C:: A = 1.2e308; cout < < " after change A =\t" < < C:: A < < endl; // изменение значения B в объекте a a.setB (100); // вывод значения для B для объекта b cout < < " after change in a b.B =\t" < < b.getB () < < endl; // изменение значения B в объекте b b.setB (-100); // вывод значения B для объекта a cout < < " after change in b a.B =\t" < < a.getB () < < endl; system(" pause"); return 0; }
Пример класса со статическими методами #include < iostream> using namespace std; class C { public: // конструкторы и деструктор C (char* s) { strcpy_s (m_s, 40, s); incObj (); } C () { m_s [ 0 ] = '\0'; incObj (); } ~C () { --objAmount; } // открытые статические методы static void initAmount (const int v) { objAmount = v; } static int getAmount () { return objAmount; } private: // закрытые статические метод и член-данное static int incObj () { return ++objAmount; } static int objAmount; // закрытые нестатический метод и член-данное int lenS () { return strlen (m_s); } char m_s [ 40 ]; }; // объявление статической переменной int C:: objAmount; // главная функция int main () { C:: initAmount (0); // инициализация objAmount // объявление и создание объектов C o1 (" St. Petersburg"), o2 (" Yalta"); C o [ 12 ], o3; C* p = new C [ 25 ]; // вывод состояния статической переменной cout < < C:: getAmount () < < endl; // выводится 40 // разрушение объектов delete [ ] p; // вывод состояния статической переменной cout < < C:: getAmount () < < endl; // выводится 15 return 0; }
Для использования строковых классов C++ необходимо включить в программу заголовок < string>. Прототипы трех самых распространенных конструкторов класса string имеют следующий вид. string(); string(const char *str); string(const string & str); Объекты класса string не заканчиваются нулевым байтом. При обработке строк типа string необходимо использовать методы класса string.
|