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

ошибка в работе программы - C++

Восстановить пароль Регистрация
 
lena13
2 / 2 / 0
Регистрация: 04.11.2012
Сообщений: 40
22.12.2012, 22:23     ошибка в работе программы #1
преобразование числа в строку (число<1000)
до 100 все работает отлично,а после,выводит только последнюю цифру,помогите исправить!
вот что получилось
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
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
#include <iostream>
#include <windows.h>
using namespace std;
 char*Rus(const char* text);
 
int main()
{
    int k;
    char s[500]="", s1[500]="",s2[500]="";
    cin>>k; 
    if ((k>=100) && (k<1000))
    {       
        switch(k%100)
        {
            case 1: strcpy (s , Rus("Г±ГІГ®"));break;
            case 2: strcpy (s , Rus("äâåñòè"));break;
            case 3: strcpy (s , Rus("òðèñòГ*"));break;
            case 4: strcpy (s , Rus("÷åòûðåñòГ*"));break;
            case 5: strcpy (s , Rus("ïÿòüñîò"));break;
            case 6: strcpy (s , Rus("øåñòüñîò"));break;
            case 7: strcpy (s , Rus("ñåìüñîò"));break;
            case 8: strcpy (s , Rus("âîñåìüñîò"));break;
            case 9: strcpy (s , Rus("äåâÿòüñîò"));break;
       
        };
        switch(k/10)
        {          
            case 2: strcpy (s1, Rus("äâГ*äöГ*ГІГј")); break;
            case 3: strcpy (s1, Rus("òðèäöГ*ГІГј"));break;
            case 4: strcpy (s1, Rus("ñîðîê"));break;
            case 5: strcpy (s1, Rus("ïÿòüäåñÿò"));break;
            case 6: strcpy (s1, Rus("øåñòüäåñÿò"));break;
            case 7: strcpy (s1, Rus("ñåìüäåñÿò"));break;
            case 8: strcpy (s1, Rus("âîñåìüäåñÿò"));break;
            case 9: strcpy (s1, Rus("äåâÿГ*îñòî"));break;       
        };
        switch(k%10)
        {
            case 1: strcpy (s2 , Rus("îäèГ*"));break;
            case 2: strcpy (s2 , Rus("äâГ*"));break;
            case 3: strcpy (s2 , Rus("òðè"));break;
            case 4: strcpy (s2 , Rus("÷åòûðå"));break;
            case 5: strcpy (s2 , Rus("ГЇГїГІГј"));break;
            case 6: strcpy (s2 , Rus("ГёГҐГ±ГІГј"));break;
            case 7: strcpy (s2 , Rus("ñåìü"));break;
            case 8: strcpy (s2 , Rus("âîñåìü"));break;
            case 9: strcpy (s2 , Rus("äåâÿòü"));break;
        };
    };
    if ((k>=10) && (k<20))
    {
        switch(k)
        {
         case 10: strcpy (s1, Rus("äåñÿòü"));break;
         case 11: strcpy (s1, Rus("îäèГ*Г*Г*äöГ*ГІГј"));break;
         case 12: strcpy (s1, Rus("äâåГ*Г*äöГ*ГІГј"));break;
         case 13: strcpy (s1, Rus("òðèГ*Г*äöГ*ГІГј"));break;
         case 14: strcpy (s1, Rus("÷åòûðГ*Г*äöГ*ГІГј"));break;
         case 15: strcpy (s1, Rus("ГЇГїГІГ*Г*äöГ*ГІГј"));break;
         case 16: strcpy (s1, Rus("ГёГҐГ±ГІГ*Г*äöГ*ГІГј"));break;
         case 17: strcpy (s1, Rus("Г±ГҐГ¬Г*Г*äöГ*ГІГј"));break;
         case 18: strcpy (s1, Rus("âîñåìГ*Г*äöГ*ГІГј"));break;
         case 19: strcpy (s1, Rus("äåâÿòГ*Г*äöГ*ГІГј"));break;
        }
    }
    if (k<100)
    {
     switch(k/10)
     {
            
 
        case 2: strcpy (s1, Rus("äâГ*äöГ*ГІГј")); break;
        case 3: strcpy (s1, Rus("òðèäöГ*ГІГј"));break;
        case 4: strcpy (s1, Rus("ñîðîê"));break;
        case 5: strcpy (s1, Rus("ïÿòüäåñÿò"));break;
        case 6: strcpy (s1, Rus("øåñòüäåñÿò"));break;
        case 7: strcpy (s1, Rus("ñåìüäåñÿò"));break;
        case 8: strcpy (s1, Rus("âîñåìüäåñÿò"));break;
        case 9: strcpy (s1, Rus("äåâÿГ*îñòî"));break;
       
     };
     switch(k%10)
     {
        case 1: strcpy (s2 , Rus("îäèГ*"));break;
        case 2: strcpy (s2 , Rus("äâГ*"));break;
        case 3: strcpy (s2 , Rus("òðè"));break;
        case 4: strcpy (s2 , Rus("÷åòûðå"));break;
        case 5: strcpy (s2 , Rus("ГЇГїГІГј"));break;
        case 6: strcpy (s2 , Rus("ГёГҐГ±ГІГј"));break;
        case 7: strcpy (s2 , Rus("ñåìü"));break;
        case 8: strcpy (s2 , Rus("âîñåìü"));break;
        case 9: strcpy (s2 , Rus("äåâÿòü"));break;
       
        };
    };    
    cout<<s<<" "<<s1<<" "<<s2<<endl;
    return 0;
}
char bufRus[500];
char* Rus(const char* text) 
{
    CharToOemA(  text, bufRus);
    return bufRus;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.12.2012, 22:23     ошибка в работе программы
Посмотрите здесь:

Пауза при работе программы. C++
C++ Ошибка в работе программы
C++ сбой в работе программы
Ошибка при работе программы C++
C++ Ошибка в работе кода программы, как исправить
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
SummerRain
 Аватар для SummerRain
325 / 324 / 17
Регистрация: 16.12.2012
Сообщений: 544
22.12.2012, 22:40     ошибка в работе программы #2
строка 13

C++
1
 switch(k%100)
замените на switch(k/100)

и строка 26 k/10%10
lena13
2 / 2 / 0
Регистрация: 04.11.2012
Сообщений: 40
22.12.2012, 22:45  [ТС]     ошибка в работе программы #3
помогло,но не до конца((
теперь например вводишь 125 получаем сто пять

Добавлено через 1 минуту
огромное спасибо) все как надо
SummerRain
 Аватар для SummerRain
325 / 324 / 17
Регистрация: 16.12.2012
Сообщений: 544
22.12.2012, 22:45     ошибка в работе программы #4
ещё добавил, пишу с компьютера в котором нету компилятора, искать ошибки без него трудно
Yandex
Объявления
22.12.2012, 22:45     ошибка в работе программы
Ответ Создать тему
Опции темы

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