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

Программа на С, которая вводит число типа int с клавиатуры, преобразует ее в строку (str), выводит на дисплей число и строку. - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 4.78
hell120692
Сообщений: n/a
21.06.2011, 07:54     Программа на С, которая вводит число типа int с клавиатуры, преобразует ее в строку (str), выводит на дисплей число и строку. #1
Задача направленная на усвоение следующих понятий: прототип функции; заголовок функции; тело функции; параметры, принимаемые функцией (аргументы); параметр, возвращаемый функцией. При решении задач в программе кроме функции main должна содержаться функция, выполняющая работу, определенную условием, и не должна содержать конструкции ввода-вывода. Будем считать, что вводимая с клавиатуры строка содержит не более 80 символов.

А вот и сама задача:
Написать программу, которая вводит число типа int с клавиатуры, преобразует ее в строку (str), выводит на дисплей число и строку.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.06.2011, 07:54     Программа на С, которая вводит число типа int с клавиатуры, преобразует ее в строку (str), выводит на дисплей число и строку.
Посмотрите здесь:

Программа, которая вводит число из пяти цифр, разделяет число на отдельные цифры C++
C++ Написать программу, которая читает с клавиатуры строку символов, преобразует ее и выводит результат на дисплей
C++ Написать программу, которая вводит с клавиатуры строку не более 100 символов, еще одну строку не более 50 символов и выводит на экран позиции вхождени
C++ Написать и протестировать функцию, которая преобразует строку шестнадцатеричных цифр в эквивалентное ей целое десятичное число
C++ Программа считывает строку текста, выводит число слов и количество вхождений каждой буквы
C++ Как получить число типа int, если имеется указатель на строку с этим числом?
Написать и протестировать функцию , которая преобразует строку двоичных цифр в эквивалентное ей целое число C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
micro-chipset
7 / 7 / 1
Регистрация: 29.01.2011
Сообщений: 110
21.06.2011, 08:19     Программа на С, которая вводит число типа int с клавиатуры, преобразует ее в строку (str), выводит на дисплей число и строку. #2
Показал бы хотябы набросок что сам писал, а так думаю ответа ты врятли увидишь.
hell120692
Сообщений: n/a
21.06.2011, 11:33     Программа на С, которая вводит число типа int с клавиатуры, преобразует ее в строку (str), выводит на дисплей число и строку. #3
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
#include "stdafx.h"
#include <stdio.h>
#include <locale.h>
#define DIM 81
char conv(int,char *);
 
void main(void)
{
    setlocale (LC_ALL, "rus");
    char str[DIM];
    int n;
    printf("Введите целое число: \n");
    scanf("%lu",&n);    
    str[DIM]=conv(n,str);
    printf("\nЧисло %d преобразовано в строку:\n%s\n",n,str);   
}
 
char conv(int n,char *str)
{
    int msr[DIM],mso[DIM];
    int a=0,i,j;
    char save;
    for(i=0;i<DIM;i++)
    {
        if(i==0)
        {
            msr[i]=n/10; //деление числа на основание СС, в которую переводим
            mso[i]=n%10; //остаток от деления
            a++; //счетчик элементов массивов
        }
        else
        {
            msr[i]=msr[i-1]/10; //деление числа на основание СС, в которую переводим
            mso[i]=msr[i-1]%10; //остаток от деления
            a++; //счетчик элементов массивов
        }       
        if(msr[i]==0)
            break;
    }   
    /*
    for(i=0;i<a;i++)
    {
        printf("mso[%d]=%d msr[%d]=%d\n",i,mso[i],i,msr[i]); //для самопроверки
    }
    */
    for(i=0;i<a;i++)//цикл для преобразования масива типа int в строку char 
    {
        switch (mso[i])
        {
        case 0: str[i] = '0'; break;
        case 1: str[i] = '1'; break;
        case 2: str[i] = '2'; break;
        case 3: str[i] = '3'; break;
        case 4: str[i] = '4'; break;
        case 5: str[i] = '5'; break;
        case 6: str[i] = '6'; break;
        case 7: str[i] = '7'; break;
        case 8: str[i] = '8'; break;
        case 9: str[i] = '9'; break;
        case 10: str[i] = 'A'; break;
        case 11: str[i] = 'B'; break;
        case 12: str[i] = 'C'; break;
        case 13: str[i] = 'D'; break;
        case 14: str[i] = 'E'; break;
        case 15: str[i] = 'F'; break;
        }               
    }
    str[a]='\0';//задаем конец строки       
    save=0;
    for(i=0,j=a-1;i<j;i++,j--)//переписываем строку от конца к началу
    {
        save = str[i];
        str[i] = str[j];
        str[j] = save;
    }   
    //printf("Итоговая строка:\n%s",str); // для самопроверки
    return str[DIM];
}
это не я писал, но в общем там косяк, не переводит отрицательные числа в строку) да и я не уверен что она правильна написана..
Yandex
Объявления
21.06.2011, 11:33     Программа на С, которая вводит число типа int с клавиатуры, преобразует ее в строку (str), выводит на дисплей число и строку.
Ответ Создать тему
Опции темы

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