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

5 м/с и 5 км/ч. Что больше? - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ В чем ошибка? http://www.cyberforum.ru/cpp-beginners/thread237101.html
Здраствуйте читаю книгу Джесса Либерти С++ за 21 день, там вот такая функция: функция которая принимает два целочисленных параметра и возвращает целочисленное значение. #include <iostream> using namespace std; int Add (int x, int y) { cout <<"In Add(),received "<<x << "and "<< y <<"\n"; } int main() {
C++ Почему массив не переполняется? Вот в одной книге есть задание создать вектор и скопировать элементы в массив. Почему массив не переполняется в следующем коде, какая-то загадка для меня. Вроде бы после введения 2-3 элементов он не должен больше принимать, а он принимает, и только после введения 6 элементов программа завершается с ошибкой, а 5 спокойно запоминает, ладно бы вектор, а тут массив, вроде бы с определенным размером:... http://www.cyberforum.ru/cpp-beginners/thread237087.html
C++ Чётные слова в строке
Ввести строку. На экран вывести все чётные слова. #include "StdAfx.h" #include<conio.h> #include <ctime> #include <iostream> #include <math.h> #include <string> using namespace std;
C++ Программа перевода систем счисления
Не могу написать программу по переводу числа из 10-ой в 2-ую. Смотрел другие темы не понял да и программы там не понятные были. Если поможете, то не могли бы написать комментарии чтобы мне было понятно (я только учусь)
C++ Обработка массива строк http://www.cyberforum.ru/cpp-beginners/thread237021.html
Вот мой массив строк: #include <iostream.h> #include <conio.h> #include <stdio.h> #include <string.h> #include <stdlib.h> struct pupil { char name; int age; float rating;
C++ Слова входного потока Вывести самые длинные слова входного потока! если во вх потоке самое длинное слово одно,то программа должна вывести одно слово,а если несколько,то прога должна их показать!прога на С/ . подробнее

Показать сообщение отдельно
Nameless One
Эксперт С++
5769 / 3418 / 255
Регистрация: 08.02.2010
Сообщений: 7,446
02.02.2011, 18:59     5 м/с и 5 км/ч. Что больше?
Вводишь два значения скорости - каждое либо в виде m/s (метры в секунду), либо в виде k/h (километры в час). Программа показывает, какое значение из двух наибольшее:
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
96
97
98
99
100
101
102
103
104
#include <stdio.h>
#include <stdlib.h>
 
enum units
{
    mps,
    kmph,
    all
};
 
double units_r[all][all] =
{
    {1.0   , 3.6},
    {1./3.6, 1.0}
};
 
double convert(double value, enum units from, enum units to)
{
    if(from == all || to == all)
    {
    fputs("Illegal unit\n", stderr);
    exit(1);
    }
 
    return value * units_r[from][to];
}
 
struct quantity
{
    double value;
    enum units u;
};
 
struct quantity* getQ(struct quantity* q)
{
    char n, d;
    scanf("%lf %c/%c", &(q->value), &n, &d);
    if(n == 'm' && d == 's')
    q->u = mps;
    else if(n == 'k' && d == 'h')
    q->u = kmph;
    else
    return NULL;
    return q;
}
 
void putQ(struct quantity q)
{
    printf("%.2f %s", q.value, (q.u == mps  ? "m/s"  :
                q.u == kmph ? "k/h"  :
                "ERR"));
}
 
int compareQ(struct quantity q1, struct quantity q2)
{
    double val1 = q1.value;
    double val2 = convert(q2.value, q2.u, q1.u);
    if(val1 < val2)
    return -1;
    if(val2 < val1)
    return 1;
    return 0;
}
 
int main()
{
    struct quantity q1, q2;
    int result;
    
    printf("Input speed in the following format:\n"
       "NUM UNIT,\n"
       "where NUM is a number and UNIT has one of the two valid values:\n"
       "\tm/s (which stands for metres per second)\n"
       "\tk/h (which stands for kilometres per hour)\n"
       "e.g., the 3.5 m/s is a correct speed\n");
    
    puts("Input the first speed");
    if(getQ(&q1) == NULL)
    {
    fputs("Illegal unit\n", stderr);
    exit(1);
    }
    puts("Input the second speed");
    if(getQ(&q2) == NULL)
    {
    fputs("Illegal unit\n", stderr);
    exit(1);
    }
    fputs("Let's find out, which speed is the greatest: ", stdout);
    putQ(q1);
    fputs(" or ", stdout);
    putQ(q2);
    fputs("?\n", stdout);
    result = compareQ(q1, q2);
    if(result < 0)
    putQ(q2);
    else if(result > 0)
    putQ(q1);
    else
    fputs("They're equal", stdout);
    putchar('\n');
    
    exit(0);
}

Не по теме:

Цитата Сообщение от zarenta Посмотреть сообщение
5 м/с и 5 км/ч. что больше? Нужно составить программу на языке С++.
Незачем повторять задание по три раза. Одного вполне достаточно

 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru