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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Gudsaf
103 / 14 / 3
Регистрация: 29.11.2010
Сообщений: 325
#1

Передать string в функцию - C++

09.10.2012, 22:53. Просмотров 842. Ответов 5
Метки нет (Все метки)

Стоит задача - предать string abc в функцию int func_1(...)
Как передавать?
У меня int func_1(string) - не передаёт

п.с. вот код:
Кликните здесь для просмотра всего текста
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
/*Программа, которая в массиве (заполненным рандомно на интервале от 0 до 155) 
с заданным кол-вом элементов, находит числа у которых при делении на 7 в остатке 
остаётся 1, 2 или 5 */
 
#include <iostream>
#include <string>
#include <cstdlib>
#include <ctime>
#include <conio.h>
using namespace std;
/*Проверяем остатки после деления*/
int f_ostatok (int a)
{   
    if (a%7==1 || a%7==2 || a%7==5)
        return 1;
    else
        return 0;
}
/*Переводим из строки в число строку number_str, с проверкой на мусор*/
int f_check (string)
{
    string number2_str;//строка которая прибыла из главной функции
    int number2;//сюда записываем (если нет мусора) число, которое получили после преобразования pseudo_number_str
    for(int i = 0; i < number2_str.length(); i++) 
    {
        char ch = number2_str.c_str()[i]; // считываем очередной символ из принятой строки
        if (ch >= '0' && ch <= '9');
        else
        {
            cerr << " ERROR: you entered a letter!" << endl;
            getch();
            cout << "do another!" << endl;
        }       
    }
    return number2 = atoi(number2_str.c_str()); //показываем что нам нужно вернуть итоговое число
}
 
int main ()
{   
    string number_str;   //строка в которой могут быть и цифры и буквы, её потом будем проверять
    int number;          //то что будет потом из типа чар (number_str) переведено в цифры
    int summ = 0;
    l:  cout << "Vvedite kol-vo ycheek massiva : ";
    cin >> number_str;
    number = f_check(number_str);
    if (number == 0) goto l;
    
//for(int i = 0; i < number_str.length(); i++) 
    //{
        //char ch = number_str.c_str()[i];   //считываем очередной символ из принятой строки
        //if (ch >= '0' && ch <= '9');
        //else
        //{
            //cerr << " ERROR: you entered a letter!" << endl;
            //getch();
            //cout << "do another!" << endl;
            //goto l;
        //}     
    //}
    //number = atoi(number_str.c_str());     //конвертируем строку в число 
    int *mass = new int[number];           //создали динамический массив
    srand(time(NULL));                     //заполняем массив рандомными значениями
    for (int i = 0; i < number; i++) 
    {
        mass[i]=(rand()%155);       
        cout << "Znachenie elementa " << i <<" = "<< mass[i] << endl;
    }
    for (int i = 0; i < number; i++)        //находим числа, что делятся на 7 и дают в остатке 1, 2 или 5
        summ = summ + f_ostatok(mass[i]);
    cout << "\nKol-vo elementov pri delenii kotoryh na 7 ostatok = 1 // 2 // 5: " << summ;   
    delete[] mass;
    getch();
    return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.10.2012, 22:53     Передать string в функцию
Посмотрите здесь:

C++ Передать параметры в функцию.
Передать файл в функцию C++
string обьявленый в классе передать в параметры конструктора C++
Передать массив в функцию C++
Передать класс в функцию C++
Как передать функцию в функцию? C++
Передать указатель в функцию C++
C++ Передать параметр в функцию
Не могу передать функцию в функцию C++
Как передать символ в функцию (const char *string) C++
C++ Передать в функцию время
В функцию с переменным числом параметроы передать указатели на функцию C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
castaway
Эксперт С++
4870 / 3009 / 370
Регистрация: 10.11.2010
Сообщений: 11,059
Записей в блоге: 10
Завершенные тесты: 1
09.10.2012, 23:01     Передать string в функцию #2
C++
1
int f_check (string number2_str )
22-я строка не нужна.
Gudsaf
103 / 14 / 3
Регистрация: 29.11.2010
Сообщений: 325
09.10.2012, 23:08  [ТС]     Передать string в функцию #3
Цитата Сообщение от lazybiz Посмотреть сообщение
C++
1
int f_check (string number2_str )
22-я строка не нужна.
ты чего, как не нужна! а что я тогда потом смотреть буду?
OhMyGodSoLong
~ Эврика! ~
 Аватар для OhMyGodSoLong
1242 / 991 / 42
Регистрация: 24.07.2012
Сообщений: 2,002
09.10.2012, 23:11     Передать string в функцию #4
Это... вы б в скобках указывали не только тип параметра, а и его имя. Если не указывать, то параметр передаётся, но добраться к нему не сможете (так как имени нет).
Gudsaf
103 / 14 / 3
Регистрация: 29.11.2010
Сообщений: 325
09.10.2012, 23:16  [ТС]     Передать string в функцию #5
Цитата Сообщение от ~OhMyGodSoLong~ Посмотреть сообщение
Это... вы б в скобках указывали не только тип параметра, а и его имя. Если не указывать, то параметр передаётся, но добраться к нему не сможете (так как имени нет).
да это уже мозги забиты)
castaway
Эксперт С++
4870 / 3009 / 370
Регистрация: 10.11.2010
Сообщений: 11,059
Записей в блоге: 10
Завершенные тесты: 1
09.10.2012, 23:34     Передать string в функцию #6
Цитата Сообщение от Gudsaf Посмотреть сообщение
а что я тогда потом смотреть буду?
очевидно что number2_str.
C++
1
    string number2_str;//строка которая прибыла из главной функции
Ведь она у тебя из главной функции прибыла!?
Запутался сам, не путай других.
Yandex
Объявления
09.10.2012, 23:34     Передать string в функцию
Ответ Создать тему
Опции темы

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