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

Работа с аргументами - C++

Восстановить пароль Регистрация
 
 
Ronnie_
 Аватар для Ronnie_
4 / 4 / 0
Регистрация: 10.10.2013
Сообщений: 91
17.12.2013, 19:41     Работа с аргументами #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
37
38
39
#include <iostream>
#include <string>
 
using namespace std;
 
// прототипы
void func(string, string);
void func(string);
 
int main()
{
    setlocale(LC_ALL,"Russian");
    string first, second;
 
    cout << "Введите первую строку: ";
    getline(cin, first);
    cout << "Введите вторую строку: ";
    getline(cin, second);
 
    func(first, second);
    func(first);
    func(second);
 
    system("pause");
    return 0;
}
 
// функция сравнивает строки
void func(string first, string second)
{
    if (first == second)
    {
        cout << "Строки одинаковы" << endl;
    }
    else
    {
        cout << "Строки различны" << endl;
    }
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Progers
New to C++
 Аватар для Progers
83 / 44 / 5
Регистрация: 14.01.2013
Сообщений: 258
17.12.2013, 21:54     Работа с аргументами #21
Ronnie_, Вот, исправил вашу программу:
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
#include <iostream>
#include <string>
#include <windows.h>
using namespace std;
 
// прототипы
void func(string first, string second);
void func1(string second, string first);
 
int main()
{
    setlocale(LC_ALL,"Russian");
    string first, second;
 
    cout << "Введите первую строку: ";
    getline(cin, first);
    cout << "Введите вторую строку: ";
    getline(cin, second);
 
    func(first, second);
    func1(first,second);
 
    system("pause");
    return 0;
}
 
// функция сравнивает строки
void func(string first, string second)
{
    if (first == second)
    {
        cout << "Строки одинаковы" << endl;
    }
    else
    {
        cout << "Строки различны" << endl;
    }
}
 
void func1(string first, string second)
    {if(second == "")
{
    cout << "Длина строки одного аргумента: " << first.size() << endl;
}
    else
    {
    cout << "Аргумент не один: ";
}
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.12.2013, 06:41     Работа с аргументами
Еще ссылки по теме:

C++ Конструкторы с тремя аргументами
C++ Непонятки с аргументами функции
C++ Макросы с аргументами

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

Или воспользуйтесь поиском по форуму:
outoftime
║XLR8║
 Аватар для outoftime
505 / 427 / 33
Регистрация: 25.07.2009
Сообщений: 2,297
18.12.2013, 06:41     Работа с аргументами #22
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream>
#include <cstring>
 
int func(const char *s1, const char *s2 = NULL) {
    return s2 ? strcmp(s1, s2) : strlen(s1);
}
 
int main()
{
    const int n = 500;
    char s1[n] = {0}, s2[n] = {0};
    std::cin >> s1 >> s2;
    std::cout << func(s1, s2) << " " << func(s1);
   
    return EXIT_SUCCESS;
}
Ronnie_, Зачем делать лишние телодвижения?
Yandex
Объявления
18.12.2013, 06:41     Работа с аргументами
Ответ Создать тему
Опции темы

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