Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include "stdafx.h"
- #include <iostream>
- #include <cstdarg>
- #include <stdarg.h>
- using namespace std;
- double sred_znach(char *format, ...) //Функция sred_znach с произвольным числом параметров
- {
- int wel;
- double drob;
- int i = 0;
- double i_max = 0;
- va_list ap; //Указатель на список параметров
- va_start(ap, format); //Настроились на список параметров
- for (char *p = format; *p; p++) //
- {
- if (*p == '%') //Если встретится символ %
- {
- switch (*++p) //То анализируем следующий за этим симолом символ
- {
- case 'd': wel = va_arg(ap, int); //Если это символ d, то значит параметр int
- i_max += wel; i++ ; break;
- case 'f': drob = va_arg(ap, double); //Если это символ f значит параметр double
- i_max += drob; i++; break;
- default: cout << "Neverniy format vvoda" << endl;
- break;
- }
- }
- }
- va_end(ap); //Завершаем работу с макрокомандами
- return i_max / i;
- }
- int main()
- {
- system("CLS");
- cout << sred_znach("%d%f%f%f%f%d", 8, 9.555, 2.4, 2.5, 1.7, 7);
- system("PAUSE");
- return 0;
- }
Add Comment
Please, Sign In to add comment