Форум программистов, компьютерный форум 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, 00: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
87
88
89
90
91
92
93
94
95
#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;
 
 float temp;
 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==2 || c==6)
        (*p[c-1])(temp);
    else 
        printf ("Ошибка!\n");
else 
{
    if (c>0 && c<7)
        (*p[c-1])(temp);
}
}
 
}
void p1(float &temp)
{
printf("Написать программу, пересчета температуры из шкалы Цельсия в другие шкалы.Программа должна управляться с помощью меню из шести пунктов:\nТекст задачи\nВвод данных (градусы цельсия)\nпересчет в градусы Кельвина\nпересчет в градусы Фаренгейта\nпересчет в градусы Реомюра\nВыход\nМеню должно быть реализовано с помощью массива указателей на функции, в которых производятся действия выбранного пункта меню.\n");
}
void p2(float &temp)
{
    printf("Введите градусы Цельсия\n");
    scanf("%f",&temp);  
    l=true;
 
}
void p3(float &temp)
{  
    float kelv;
    kelv=temp-273;
    printf("градусы Кельвина\n%f\n", kelv);
}
void p4(float &temp)
{
    float far;
    far=(9*temp)/5+32;
    printf("градусы Фаренгейта \n%f\n",far);
}
void p5(float &temp)
{
    float reom;
        
    reom=4*temp/2;
        printf("градусы Реомюра\n%.2f\n",reom);
}
void p6(float &temp)
{
    printf("Выполнен выход из программы\n");
    exit(0);
}
 
 
 
 
 
 
не могу разобраться что здесь происходит:
if (l==false)
    if (c==1 || c==2 || c==6)
        (*p[c-1])(temp);
    else 
        printf ("Ошибка!\n");
else 
{
    if (c>0 && c<7)
        (*p[c-1])(temp);
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 23:50. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru