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

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

Восстановить пароль Регистрация
 
Gudsaf
103 / 14 / 3
Регистрация: 29.11.2010
Сообщений: 325
09.10.2012, 22:53     Передать string в функцию #1
Стоит задача - предать 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;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
castaway
Эксперт С++
4848 / 2987 / 368
Регистрация: 10.11.2010
Сообщений: 11,028
Записей в блоге: 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
1234 / 983 / 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
Эксперт С++
4848 / 2987 / 368
Регистрация: 10.11.2010
Сообщений: 11,028
Записей в блоге: 10
Завершенные тесты: 1
09.10.2012, 23:34     Передать string в функцию #6
Цитата Сообщение от Gudsaf Посмотреть сообщение
а что я тогда потом смотреть буду?
очевидно что number2_str.
C++
1
    string number2_str;//строка которая прибыла из главной функции
Ведь она у тебя из главной функции прибыла!?
Запутался сам, не путай других.
Yandex
Объявления
09.10.2012, 23:34     Передать string в функцию
Ответ Создать тему
Опции темы

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