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

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

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

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

09.10.2012, 22:53. Просмотров 932. Ответов 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;
}
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.10.2012, 22:53
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Передать string в функцию (C++):

Как передать символ в функцию (const char *string) - C++
Мне нужно передать в функцию atof символы F, F, S, S, но когда я пытаюсь так сделать ошибка invalid conversion from 'char' to 'const...

Не могу разобраться как передать корректно передать массив из функции в функцию - C++
//--------------------------------------------------------------------------- #pragma hdrstop ...

Написать функцию, которая могла бы передать значение в другую функцию - C++
как сделать функцию которая бы могла передать значеие в другую функцию ну к примеру a=4*b; где b=sin(fi);

В функцию с переменным числом параметроы передать указатели на функцию - C++
Добрый вечер. По заданию нужно в функцию с переменным числом параметров передать имя функций, которые нужно вызвать. Долго думала,как имея...

Как передать указатель на функцию в функцию - C++
И как с ней работать?

string обьявленый в классе передать в параметры конструктора - C++
class String{ char str; string str2; public: String(char string){ strcpy(str,string); } String(string newStr){...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
castaway
Эксперт С++
4884 / 3020 / 370
Регистрация: 10.11.2010
Сообщений: 11,078
Записей в блоге: 10
Завершенные тесты: 1
09.10.2012, 23:01 #2
C++
1
int f_check (string number2_str )
22-я строка не нужна.
0
Gudsaf
103 / 14 / 3
Регистрация: 29.11.2010
Сообщений: 327
09.10.2012, 23:08  [ТС] #3
Цитата Сообщение от lazybiz Посмотреть сообщение
C++
1
int f_check (string number2_str )
22-я строка не нужна.
ты чего, как не нужна! а что я тогда потом смотреть буду?
0
OhMyGodSoLong
~ Эврика! ~
1243 / 992 / 42
Регистрация: 24.07.2012
Сообщений: 2,002
09.10.2012, 23:11 #4
Это... вы б в скобках указывали не только тип параметра, а и его имя. Если не указывать, то параметр передаётся, но добраться к нему не сможете (так как имени нет).
1
Gudsaf
103 / 14 / 3
Регистрация: 29.11.2010
Сообщений: 327
09.10.2012, 23:16  [ТС] #5
Цитата Сообщение от ~OhMyGodSoLong~ Посмотреть сообщение
Это... вы б в скобках указывали не только тип параметра, а и его имя. Если не указывать, то параметр передаётся, но добраться к нему не сможете (так как имени нет).
да это уже мозги забиты)
0
castaway
Эксперт С++
4884 / 3020 / 370
Регистрация: 10.11.2010
Сообщений: 11,078
Записей в блоге: 10
Завершенные тесты: 1
09.10.2012, 23:34 #6
Цитата Сообщение от Gudsaf Посмотреть сообщение
а что я тогда потом смотреть буду?
очевидно что number2_str.
C++
1
    string number2_str;//строка которая прибыла из главной функции
Ведь она у тебя из главной функции прибыла!?
Запутался сам, не путай других.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.10.2012, 23:34
Привет! Вот еще темы с ответами:

Не могу передать функцию в функцию - C++
в строке 39 пишет, необъявленный индетификатор (number), почему, что я сделал не так? смысл рекурсивной функции, сначала она выполняет...

Как передать функцию в функцию? - C++
void MainWindow::_createTextEdit(QWidget *tab, QString text, void (*saveSlot)()) { ... connect(save, SIGNAL(clicked()), this,...

Передать класс в функцию - C++
Всем привет. Есть следующие файлы с соответствующим содержимым: Airport.h class Runway; class Airport { public: ...

Передать структуру в функцию - C++
что не так в моей передаче структуры и массива в функцию? void Sort_date (struct ptoject&amp; proj, int &amp;mas, int num) -функция ...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
09.10.2012, 23:34
Ответ Создать тему
Опции темы

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