Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
5 / 5 / 2
Регистрация: 04.10.2013
Сообщений: 142
1

Программа работает корректно, но не до конца

13.06.2016, 15:28. Показов 1011. Ответов 6
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
пользователь вводит шестизначное число. Разбить его на два трехзначных числа. и записать их в разные переменные.

Вот мой код. Проблема в том что когда я ввожу число 555555 и 777777 то у меня второе число получается 554, а второе 776. а все стальные числа например 222222, 333333, 444444 и т.д Они выводятся корректно. тоесть: а = 222, b = 222

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
#include <stdio.h>
#include <windows.h>
int number(float);
char* Rus(const char* text);
 
void main(void)
{
    float chislo;
    printf(Rus("Ведите число: "));
    scanf("%f", &chislo);
    number(chislo);
}
 
int number(float a)
{
    float b = a / 1000;
    int c = int(b);
    float e = b - c;
    float d = e * 1000;
    int f = (int)d;
    printf(Rus("Первое число %d\nВторое число %d\n"),c ,f);
    return 0;
}
 
char bufRus[256];
char* Rus(const char* text)
{
    CharToOemA(text, bufRus);
    return bufRus;
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
13.06.2016, 15:28
Ответы с готовыми решениями:

Программа работает не корректно
Условие задачи: В файле переставить местами четные и нечетные строки. У меня переставляет местами...

программа работает не корректно
Здрасте люди) просил что бы написали элементарную программу для геодезического прибора... с горем...

Не корректно работает программа
Суть данной программы построение графика функции y=arccos(x) по интервалу a,b с шагом h.нУЖНО...

Не корректно работает программа.
Такая беда, есть программа, для работы с БД (субд paradox, технология BDE) она содержит таблицу, и...

6
29 / 29 / 18
Регистрация: 20.12.2010
Сообщений: 119
13.06.2016, 15:48 2
это так вещественные числа делятся во многих языках. 555555/1000 = 555.554
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
#include <stdio.h>
#include <windows.h>
int number(char*);
char* Rus(const char* text);
 
int main(void) {
    char chislo[20];
    printf(Rus("Ведите число: "));
    scanf("%s", chislo);
    number(chislo);
    return 0;
}
 
int number(char* a) {
    int c, f;
    sscanf(a, "%3d%3d", &c, &f);
    printf(Rus("Первое число %d\nВторое число %d\n"), c, f);
    return 0;
}
 
char bufRus[256];
char* Rus(const char* text) {
    CharToOemA(text, bufRus);
    return bufRus;
}
0
5 / 5 / 2
Регистрация: 04.10.2013
Сообщений: 142
13.06.2016, 16:08  [ТС] 3
строки нельзя использовать для решения.. я якобы еще не знаю тему строки. так что надо типовыми методами как то это решить. У кого еще есть предложения?
0
505 / 317 / 236
Регистрация: 18.02.2013
Сообщений: 754
13.06.2016, 16:23 4
C++
1
2
3
4
5
6
7
int number(int a)
{
    int c = a / 1000;
    int f = a%1000;
    printf(Rus("Первое число %d\nВторое число %d\n"),c ,f);
    return 0;
}
0
5 / 5 / 2
Регистрация: 04.10.2013
Сообщений: 142
14.06.2016, 09:09  [ТС] 5
То что вы написали выдает вообще не то что нужно. ввожу число 555555... вот что выдает

Введите 6-ти значное число: 555555
Первое число 5091
Второе число 56

вот код с вашим вариантом...

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <stdio.h>
#include <windows.h>
char* Rus(const char* text);
 
 
int main(void)
{
    int chislo;
    printf(Rus("Введите 6-ти значное число: "));
    scanf("%d", chislo);
    int c = chislo / 1000;
    int f = chislo % 1000;
    printf(Rus("Первое число %d\nВторое число %d\n"), c, f);
    return 0;
}
 
 
char bufRus[256];
char* Rus(const char* text)
{
    CharToOemA(text, bufRus);
    return bufRus;
}
0
4 / 4 / 2
Регистрация: 26.10.2015
Сообщений: 21
14.06.2016, 13:09 6
Идея верная, только с реализацией проблемы.
Этот код рабочий:
C++ (Qt)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include "stdafx.h"
#include <iostream>
 
using namespace std;
 
int main()
{
     int chislo; 
    cin >> chislo;
    int c = chislo / 1000;
    int f = chislo % 1000;
    cout << c << endl;
    cout << f << endl;
    system("pause");
    return 0;
}
0
5 / 5 / 2
Регистрация: 04.10.2013
Сообщений: 142
14.06.2016, 14:34  [ТС] 7
Спасибо! Разобрался)
0
14.06.2016, 14:34
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
14.06.2016, 14:34
Помогаю со студенческими работами здесь

Программа работает не корректно
Здравствуйте, помогите мне пожалуйста разобраться с программой. Вот само задание: Дано...

Не корректно работает программа в C++
Составьте алгоритм программы, которая принимает от пользователя значение x и в зависимости от его...

Не корректно работает программа на Си
Здравствуйте. Изучаю книгу братьев Дейтел. Задача, на первый взгляд, простая. &quot;Написать программу...

Программа не работает до конца
program ProjectPK4; {$APPTYPE CONSOLE} uses SysUtils; function func(x:real; t:real):real;...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru