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

функция atoi - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 35, средняя оценка - 4.74
Captain_ru
0 / 0 / 0
Регистрация: 10.12.2011
Сообщений: 11
22.12.2011, 21:39     функция atoi #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
#include "stdafx.h"
#include<conio.h>
#include<iostream>
#include<stdio.h>
#include "stdlib.h"
 
using namespace std;
 
char str[256];
int a[256];
int f[256],i,n;
int main()
{ 
char *p=str;
int s;
cout<<"Enter :\n";
gets(str);
for(i=0;i<strlen(str);i++,p++)
{if(atoi(p)!=0)
a[i]=atoi(p);
}
  for(i=0;i<strlen(str);i++)
  {
 cout<<"\n"<<a[i];
  }
getch();
}
 Комментарий модератора 
Используйте теги форматирования кода!
Миниатюры
функция atoi  
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.12.2011, 21:39     функция atoi
Посмотрите здесь:

Функция atoi, без использования библиотеки string C++
Не работает функция atoi C++
C++ atof и atoi
atoi() C++
atoi C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
vasyapupkin89
0 / 0 / 0
Регистрация: 21.12.2011
Сообщений: 15
22.12.2011, 21:58     функция atoi #2
Во первых вы заполняете массив.
zss
Модератор
Эксперт С++
 Аватар для zss
5942 / 5547 / 1783
Регистрация: 18.12.2011
Сообщений: 14,155
Завершенные тесты: 1
22.12.2011, 22:26     функция atoi #3
int n=atoi(str); - строку в число
itoa(n,str,10) - число n в строку str в 10-ичтой системе счисления
vasyapupkin89
0 / 0 / 0
Регистрация: 21.12.2011
Сообщений: 15
22.12.2011, 22:27     функция atoi #4
Во как вариант, просто строка которую ты передаешь в atoi() должна содержать только цифры.
Только подправь библиотеки, а то я на билдере сделал.
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
#include <vcl.h>
#pragma hdrstop
 
 
 #include<conio.h>
 #include<iostream>
 #include<stdio.h>
 #include "stdlib.h"
 
 using namespace std;
 
 char str[256],b[256];
 
 int f,i,n;
int _tmain(int argc, _TCHAR* argv[])
 {
 
 int s;
 cout<<"Enter :\n";
 gets(str);
 
char shabl[]="1234567890";
 
for (unsigned i=0;i<strlen(str);i++){
        for (unsigned g=0;g<strlen(shabl);g++){
                if(shabl[g]==str[i]){b[n]=str[i]; n++;}
         }  }
 
 
  f=atoi(b);
 cout<<"\n"<<f;
 
 getch();
 }
Captain_ru
0 / 0 / 0
Регистрация: 10.12.2011
Сообщений: 11
22.12.2011, 23:01  [ТС]     функция atoi #5
мне нужно чтобы там содержались знаки - и +.

Добавлено через 6 минут
[QUOTE=zss2;2318346]int n=atoi(str); - строку в число
itoa(n,str,10) - число n в строку str в 10-ичтой системе счисления[/QUOTE

поясни что представляет собой число n
zss
Модератор
Эксперт С++
 Аватар для zss
5942 / 5547 / 1783
Регистрация: 18.12.2011
Сообщений: 14,155
Завершенные тесты: 1
23.12.2011, 20:00     функция atoi #6
[QUOTE=Captain_ru;2318475]
Цитата Сообщение от zss2 Посмотреть сообщение
int n=atoi(str); - строку в число
itoa(n,str,10) - число n в строку str в 10-ичтой системе счисления[/QUOTE

поясни что представляет собой число n
Я же написал
int n;
целое число.
Yandex
Объявления
23.12.2011, 20:00     функция atoi
Ответ Создать тему
Опции темы

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