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

Вывод трёх переменных - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Является ли число степенью другого числа http://www.cyberforum.ru/cpp-beginners/thread196908.html
Нужна функция которая проверяет, является ли число степенью какого либо другого числа. Ломаю голову, но пока не смог придумать как это сделать.
C++ Проверка простоты чисел Ребят,вот прожка...проверка простоты чисел на основе малой теоремы ферма... #include "stdafx.h" #include <iostream> #include <math.h> #include <stdlib.h> #include <time.h> using namespace std; http://www.cyberforum.ru/cpp-beginners/thread196891.html
Вычислить s=cos(1+cos(2+....+cos(39+cos40) C++
Вычислить s=cos(1+cos(2+....+cos(39+cos40) помогите
C++ Массивы классы и функции
Здравствуйте мне дали задание на оценку но я не совсем понимаю его. Не могли бы вы объяснить какие примерно нужно использовать функции и библиотеки для решения этой задачи. Я попробую её сделать сам и если возникнут проблемы или ошибки компеляции я задал бы дополнительные вопросы. Вот задание Создать класс, генерирующий систему логичеcких функций с заданными параметрами n –число входных...
C++ Структурные типы данных http://www.cyberforum.ru/cpp-beginners/thread196869.html
Ввести данные в табл. 2. Расположить в исходной таблице ФИО по алфавиту. Выполнить кодирование информации, применив метод Гронсвельда, основанный на использовании цифрового ключа и модификации обычной системы Юлия Цезаря. Так, например, ключ 3021 дает шифрограмму слова "программа" следующим образом: ключ 3 0 2 1 3 0 2 1 3 текст П Р О Г Р А М М А шифр Т Р Р Д У А О Н Г Для шифрования...
C++ найти ошибку в программе #include "stdafx.h" #include <conio.h> #include <iostream> #include <stdio.h> using namespace std; void _tmain() { char ch; puts("\n\n\tWrite 1,2,3,4,5,6, or 7 for choosing day of week"); подробнее

Показать сообщение отдельно
LightAgrail
Сообщений: n/a

Вывод трёх переменных - C++

24.11.2010, 19:15. Просмотров 1303. Ответов 3
Метки (Все метки)

Самое простое задание, которое можно себе представить, не получается решить. Подозреваю неправильную постановку задачи, но, всё-таки, может руки кривые совсем у меня.

Текст задания:
Введите три переменные r (тип const float), simbol (тип char), и flag (тип bool). Их значение определите с помощью оператора scanf. Выведите на экран значение переменных в строку, используя оператор printf, определив размер поля для каждой переменной 10, для типа double после запятой должно выводиться три числа.

Сразу, что бросается в глаза:
1) Переменной типа double просят вывести три числа после запятой, хотя в начале программы не объявляются переменные данного типа.
2) Переменной типа const float необходимо задавать значение через scanf. Насколько мне известно, константы нужно инициализировать сразу.
3) Переменной типа bool тоже значение необходимо задать при объявлении flag.

Программу необходимо компилировать через lcc. Текст программы получился такой, если напрямую следовать заданию, заменив double на float:

C++
1
2
3
4
5
6
7
8
9
10
11
12
#include <stdio.h>
#include <conio.h>
#include <stdbool.h>
void main () {
    const float r;
    char simbol;
    bool flag;
    printf("Enter r, simbol, flag \n");
    scanf("%f %c %d",&r,&simbol,&flag);
    printf("%10.3f %10c %10d",r,simbol,flag);
    getch();
}
В результате ввода получаю вещественное число r с тремя знаками после запятой, а потом начинаются интересные и непонятные метаморфозы. Если ввести числовое значение переменной flag - не будет отображаться текстовая переменная, если ввести текстовое значение flag - отобразиться символ. Также, переменная flag принимает значение 1 при вводе 1, и значение 0 при любом другом (что вполне логично). Если написать символ двумя знаками, то отобразиться первый из них при любом значении flag.

Страшно в общем смотреть на это. Если следовать следующим предположениям:
1) Значение переменной r должно задаваться при объявлении, потому что const.
2) Значение переменной flag должно задаваться при объявлении, потому что bool.
то получаем:

C++
1
2
3
4
5
6
7
8
9
10
11
12
#include <stdio.h>
#include <conio.h>
#include <stdbool.h>
void main () {
    const float r=3.5134;
    char simbol;
    bool flag=false;
    printf("Enter simbol \n");
    scanf("%c",&simbol);
    printf("%10.3f %10c %10d",r,simbol,flag);
    getch();
}
В таком виде программа прекрасно работает. Собственно, суть темы - правильны ли предположения о том, что инициализация const и bool производиться во время объявления переменных? Можно ли исходный код заставить работать корректно?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru