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

Работа с дробями - C++

Восстановить пароль Регистрация
 
Илья Панов
2 / 2 / 0
Регистрация: 22.09.2012
Сообщений: 189
07.10.2012, 13:01     Работа с дробями #1
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
#include <stdio.h>
#include <conio.h>
#include <locale>
void main()
{
    setlocale(LC_ALL, "RUSSIAN");
    char a;
    char fn[100];
    int n;
    int x1,x2;
    double d1, d2;
    
    printf("Введите символ: ");
    scanf("%c", &a);
    printf("<%c> <%d> \n", a, a);
 
    printf("Введите фамилию и имя: ");
    fflush(stdin);
    gets(fn);
    n = strlen(fn);
    printf("<%s> <%d> \n", fn, n);
 
    printf("Введите 2 целых положительных и отрицательных числа: ");
    scanf("%d %d", &x1, &x2);
    printf("<%d> <%x> <%d> <%x> \n", x1, x1, x1, x2);
 
    printf("Введите 2 числа с плавающей точкой положительное и отрицательное: ");
    scanf("%lf %lf", &d1, &d2);
    printf("<%lf> <%le> <%lf> <%le> \n", d1, d2, d1, d2);
 
    printf("Введите целое беззнаковое число: ");
    scanf("%u", &n);
    printf("<%u> <%o> <%x> \n", n, n, n);
 
    getch();
}
в общем лаборотка =) проблема в 2х последних абзацах предположительно:
1. после вывода 2х дробных чисел в 10 и 16 сист. счисл. (опять таки правильно чтоли считает не? так препод сказал... но он сам не помнил ) выводится "Введите целое беззнаковое число: " и дальше уже что то ненужное...
2. после вывода чего то ненужного все закрывается

Добавлено через 10 минут
вот, если что, задания методички... может поможет
Кликните здесь для просмотра всего текста
-ввод символа и его вывод в символьном виде и в виде кода (формат %с);
-ввод строки символов (длина не менее 15 символов, строка должна состоять минимально из 2-х слов), определение ee длины и вывод строки символов с указанием ее длины (формат %s);
-ввод двух целых десятичных чисел (положительного и отрицательного) и их вывод в десятичном (формат %d) и шестнадцатеричном (формат %x) виде с использованием специального коэффициента длины выводимого числа и без коэффициента (вывод с левой позиции поля заданной ширины , вывод с заданной минимальной шириной поля, вывод со смещением числа вправо);
-ввод двух чисел с плавающей точкой (положительного и отрицательного) и их вывод в десятичной (формат %f) и экспоненциальной (формат %e) формах с заданной точностью (не менее трех знаков после десятичной точки);
-ввод целого беззнакового числа и его вывод в виде десятичного целого без знака (формат %u), восьмеричного целого без знака (формат %o), шестнадцатеричного целого без знака (формат %x).


Добавлено через 15 часов 27 минут
за сутки никто не ответил ппц

Добавлено через 1 час 30 минут
ПОЧЕМУ МОЮ ТЕМУ ИГНОРЯТ???
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.10.2012, 13:01     Работа с дробями
Посмотрите здесь:

C++ калькулятор.работа с обыкновенными дробями
Работа с дробями C++
Модули работа с дробями. C++
C++ Структуры, работа с дробями.
C++ Операции с дробями
C++ Работа с десятичными дробями
C++ Работа с дробями
C++ Задачка с дробями

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Andrew_Lvov
Эксперт C++
 Аватар для Andrew_Lvov
259 / 189 / 5
Регистрация: 19.08.2010
Сообщений: 758
Записей в блоге: 1
07.10.2012, 13:29     Работа с дробями #2
В зависимости от конфигурации операционки, scanf будет воспринимать точку '.' как разделитель целой и дробной части, либо как "левый" символ.
В итоге, когда ты вводишь точку, скорее всего распознаётся 4 числа вместо двух, из которых третее запихивается в переменную n во время выполнения последнего scanf.

Если коротко: попробуй вводить запятую, а не точку. Либо наоборот.
Илья Панов
2 / 2 / 0
Регистрация: 22.09.2012
Сообщений: 189
07.10.2012, 13:53  [ТС]     Работа с дробями #3
Цитата Сообщение от Andrew_Lvov Посмотреть сообщение
В зависимости от конфигурации операционки, scanf будет воспринимать точку '.' как разделитель целой и дробной части, либо как "левый" символ.
В итоге, когда ты вводишь точку, скорее всего распознаётся 4 числа вместо двух, из которых третее запихивается в переменную n во время выполнения последнего scanf.

Если коротко: попробуй вводить запятую, а не точку. Либо наоборот.
алилуя, хоть кто то ответил спс чувак помогло
Yandex
Объявления
07.10.2012, 13:53     Работа с дробями
Ответ Создать тему
Опции темы

Текущее время: 20:28. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru