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

Массивы указателей - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Вывести в файл все «слова», состоящие только из цифр http://www.cyberforum.ru/cpp-beginners/thread760974.html
3. С клавиатуры вводятся «слова», разделенные пробелами, последовательность слов заканчивается точкой. Вывести в файл все «слова», состоящие только из цифр (числа), если в начале стоят нули, их убрать.
C++ Создайте класс для хранения и обработки последовательности целых чисел произвольной длины 2. Создайте класс для хранения и обработки последовательности целых чисел произвольной длины. В классе должны быть методы для вычисления среднего арифметического, количества минимальных элементов, количества положительных чисел, удаления повторяющихся чисел, добавления числа в последовательность, упорядочивания последовательности по убыванию, вывода на экран в виде таблицы, с заданным количеством... http://www.cyberforum.ru/cpp-beginners/thread760970.html
Бинарный файл структур C++
Не могу привести код в рабочее состояние.. Есть два бинарных файла, нужно найти данные с первого и записать во второй. Ошибка скорее всего в функции поиска, может кто-то помочь исправить? /* 14. Дан файл f, содержащий сведения об игрушках: указывается название игрушки (например, кукла, кубики, мяч, конструктор, и т.д.), ее стоимость в копейках и возрастные границы детей (от двух до пяти...
Избавиться от 0 на главной и побочной диагоналях квадратной матрицы C++
В заданной квадратной матрице значения некоторых диагональных элементов равны 0. Переставить строки или столбцы матрицы так, чтобы диагональные элементы стали ненулевыми. В другом случае вывести уведомление о невозможности. Сам пытался сделать, но вышло крайне коряво. Может сможет кто-то помочь. #include <iostream> #include <time.h> using namespace std; int m;
C++ Не работает код! http://www.cyberforum.ru/cpp-beginners/thread760936.html
#include <iostream> #include <cstring> using namespace std; #include <process.h> #include <windows.h> const int LEN=80; const int MAX=40; class Stack { private:
C++ Разбить строку(с числами) и записать в массив Здраствуйте! У меня есть стринг line например "0.1 0.2 0.3 0.4" И мне нужно записать эти числа в массив Я понимаю, что это если не пробел, то записывать можно в другую строку и потом конвентировать в double Но у меня не совсем получается( подробнее

Показать сообщение отдельно
Студентсмертный
0 / 0 / 0
Регистрация: 09.12.2012
Сообщений: 39
14.01.2013, 02:15  [ТС]     Массивы указателей
Написать программу, вычисления площади фигуры Программа должна управляться с помощью меню из шести пунктов:
Текст задачи,
Ввод данных для квадрата,
Ввод данных для треугольника,
Ввод данных для прямоугольника,
Расчет и вывод
Выход
Меню должно быть реализовано с помощью массива указателей на функции, в которых производятся действия выбранного пункта меню.
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
#include "stdafx.h"
#include "stdlib.h"
#include "locale.h"
#include "stdio.h"
void p1(float &);
void p2(float &);
void p3(float &);
void p4(float &);
void p5(float &);
void p6(float &);
int _tmain(int argc, _TCHAR* argv[])
{
void (*p[6])(float &) = {p1, p2, p3, p4, p5, p6}; //массив указателей
 int c;
bool l;//логический тип который принимает значения только true (единица, истина) или false (ноль, ложь)
 
 float a,d,h,n,m;
 setlocale(LC_ALL,"rus");//Русский язык в консоли
 printf("---------\nМеню.\n1: Текст задачи\n");
    printf("2: Ввод данных для квадрата)\n");
    printf("3: Ввод данных для треугольника\n");
    printf("4: ввод данных для прямоугольника\n");
    printf("5: расчет и вывод в\n");
    printf("6: Выход\n---------\n");
for ( ; ; )
 {    printf ("Введите пункт меню(строго от 1 до 6)\n");
    if (scanf("%d",&c)==0)
{
printf ("Не правильный тип данных\n");
exit(0);//данная функция вызывает немедленное нормальное завершение программы
    }
if (l==false)
    if (c==1 || c==6)
        (*p[c-1])(a);
    else 
        printf ("Ошибка!\n");
else 
{
    if (c>0 && c<7)
        (*p[c-1])(a);
}
 
}
 
}
void p1(float &a)
{
printf("Написать программу, вычисления площади фигуры Программа должна управляться с помощью меню из шести пунктов:\nТекст задачи\nВвод данных для квадрата\nВвод данных для треугольника\nВвод данных для прямоугольника\nрассчет и вывод\nВыход\nМеню должно быть реализовано с помощью массива указателей на функции, в которых производятся действия выбранного пункта меню.\n");
}
void p2(float &a)
{
    bool l;
    printf("Введите данные для квадрата\n");
    scanf("%f",&a); 
    l=true;
 
}
void p3(float &d,float &h)
{  
    bool l;
    printf("Введите данные для треугольника\n");
    scanf("%f%f",&d,&h);    
    l=true;
}
void p4(float &n,float &m)
{
    bool l;
    printf("Введите данные для прямоугольника\n");
    scanf("%f%f",&n,&m);    
    l=true;
}
void p5(float &a,float &d,float &h,float &n,float &m)
{
    float S1,S2,S3;
        
    S1=a*a;
    S2=(d*h)/2;
    S3=n*m;
 
        printf("площадь квадрата = %f\n площадь треугольника = %f\n площадь прямоугольника = %f\n",S1,S2,S3);
}
void p6(float &a)
{
    printf("Выполнен выход из программы\n");
    exit(0);
}
Исправьте пожалуйста программу и объясните исправления.
 
Текущее время: 03:44. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru