Задача на преобразование 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));
}

Объяснение кода листинга программы

  1. Устанавливаются необходимые библиотеки для работы с консолью и вводом/выводом данных
  2. Определяется функция stonum(char *str), которая преобразует строку в число
  3. В функции main() устанавливается кодировка консоли, выделяется память под строку и выводится приглашение для ввода строки цифр
  4. Вводится строка цифр
  5. Вызывается функция stonum(str), которая преобразует строку в число и выводит результат
  6. Программа завершается

Оцени полезность:

7   голосов , оценка 4.143 из 5