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

Реализовать функцию распознающею первое целое число в строке - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Совмещаем два байта http://www.cyberforum.ru/cpp-beginners/thread899344.html
Привет всем. У меня вопрос. Пишу CRC16(Modbus) для МК AVR, у которых однобайтовые регистры приема информации(т.е. передать я не могу 2 байта сразу). В Code::Blocks решил просимулировать ситуацию, вроде всё верно, а результат не тот получаю... У меня имеет 2х байтовая переменная int16_t d и две однобайтовые переменные b и с, должен получить результат 1500, а получаю -36, когда меняю...
C++ Ошибка при использовании Tooltip из примера с MSDN Добрый день. Мне нужно сделать всплывающую подсказку для textBox. С++VS2008 WinForms. нашел это http://msdn.microsoft.com/ru-ru/library/system.windows.forms.tooltip.aspx Использовал пример // Create the ToolTip and associate with the Form container. ToolTip^ toolTip1 = gcnew ToolTip; // Set up the delays for the ToolTip. toolTip1->AutoPopDelay = 5000; ... http://www.cyberforum.ru/cpp-beginners/thread899337.html
C++ Вызов перегруженной функции не могу понять в чем дело?
#include <iostream> #include <time.h> #include <stdio.h> using namespace std; //Прототипы функций bool LeapYear(int Year); //Определения высокосного года int restart(char answer); //Перезапуск программы bool check(int Year,int Month, int Day); // Проверка на правильность и коректность вводимых данных int find(int Year,int Month, int Day); //Поиск дня недели
C++ рекурсия
здравствуйте! я начал изучать с++... дошел до функций (а именно рекурсии)... я понял, что рекурсия-это функция, которая сама себя вызывает.. так вот.. я решил написать примитивную программу для вычисления факториала... #include <iostream> using namespace std; int fac(int a) { if (a==0){return 1;}else{return a*fac(a-1);} } int main() {
C++ Составить программу вычисления корней по итерационной формуле http://www.cyberforum.ru/cpp-beginners/thread899311.html
C++ Составить программу нахождения корней нелинейного уравнения Составить программу нахождения корней нелинейного уравнения методом простой итерации с точностью вычисления E. подробнее

Показать сообщение отдельно
vukih
Сообщений: n/a
12.06.2013, 12:15     Реализовать функцию распознающею первое целое число в строке
код
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
// lab8.cpp: определяет точку входа для консольного приложения.
//int findInteger( const char str[81], char **end);
 
//Входные данные:
//str - исходная строка
//Выходные данные:
//end – указатель на символ, следующий за целым числом; если целое число не обнаружено, то возвращается NULL
//возвращаемое значение - распознанное целое число
 
#include "stdafx.h"
#include "stdio.h"
#include "conio.h"
#include "string.h"
#include "tchar.h"
#include "ctype.h"
#include "stdlib.h"
//#include "testing.h"
 
int findInteger(const char str[81], char **end)
{
    int i, razdel, j, c;
    char chislo[81], *endc;
 
    if ((isdigit(str[0]))||((isspace(str[0]))||(ispunct(str[0])))) //задаем начальное значение флага разделителя
        {
            razdel=1;
        }
        else
        {
                razdel=0;
        }
 
    for(i=0; i<81; i++)
    {
        
        if ((razdel)&&(isdigit(str[i]))) // если после разделителя стоит цифра
            {
                
                for (j=i; j<81; j++) // проверяем последующие символы
                {
                    if (isalpha(str[j])) // если буква заканчиваем цикл
                    {
                        j=81;
                        endc=0;
                    }
                    else
                    {
                        if (((!(isalnum(str[j]))))||((j==(80))&&(isdigit(str[j])))) // если разделитель или строка закончилась числом 
                        {
                            
                            for (i; i<j; i++) //цикл выписывания числа от начального до конечного разделителя
                            {
                                chislo[i]=str[i];
                                endc=*str[j];
                                j=81;
                            }
 
                            if ((j==(80))&&(isdigit(str[j]))) // если строка закончилась числом
                            {
                                chislo[j]=str[j];
                                endc=0;
                                j=81;
                            }
                        }
            
                    }
                }
        }
 
    }
    c=atoi(chislo); // преобразуем полученную строку в число
    return (c);         // выводим
}
 
 
int _tmain(int argc, _TCHAR* argv[])
{
    return(0);
}
 
Текущее время: 13:17. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru