Задача на преобразование str в int - C (СИ)
Формулировка задачи:
Задание подробно описано внутри алгоритма задачи..
Помогите найти ошибку чего то я где-то напутал..(
#include <stdio.h>
#include <stdlib.h>
#include <windows.h>
/**
1.2. Написать функцию int stonum( char *str ), преобразующую строку цифр str
(возможен ведущий знак ‘+’ или ‘-‘) в число типа int.
**/
int stonum(char *str);
int main()
{
SetConsoleCP(1251);
SetConsoleOutputCP(1251);
char *str=(char*)malloc(10*sizeof(char));
printf("Введите строку цифр: ");
gets(str);
printf("Число полученное в результате обработки: ");
printf("%d ",stonum(str));
return 0;
}
int stonum(char *str)
{
int n=0;
while (*str)
{
n=n+(*str);
n=n*10;
}
if (n==0)
return NULL;
else
return n;
}Решение задачи: «Задача на преобразование str в int»
textual
Листинг программы
#include <stdio.h>
#include <stdlib.h>
#include <windows.h>
int stonum(char *str);
int main()
{
SetConsoleCP(1251);
SetConsoleOutputCP(1251);
char *str=(char*)malloc(10*sizeof(char));
printf("Введите строку цифр: ");
gets(str);
printf("Число полученное в результате обработки: ");
stonum(str);
return 0;
}
int stonum(char *str)
{
printf("%d",atoi(str));
}
Объяснение кода листинга программы
- Устанавливаются необходимые библиотеки для работы с консолью и вводом/выводом данных
- Определяется функция stonum(char *str), которая преобразует строку в число
- В функции main() устанавливается кодировка консоли, выделяется память под строку и выводится приглашение для ввода строки цифр
- Вводится строка цифр
- Вызывается функция stonum(str), которая преобразует строку в число и выводит результат
- Программа завершается