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

Подскажите с Калькулятором... - C++

Восстановить пароль Регистрация
 
strannik_kz
0 / 0 / 0
Регистрация: 09.02.2010
Сообщений: 7
27.04.2011, 22:50     Подскажите с Калькулятором... #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
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
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
#include <cstdlib>
#include <iostream>
#include <math.h>
 
using namespace std;
int qwe ();
int asd ();
int main()
{
    int num = 0, num2 = 0;
    char choice;
 
    for (;;){
     do {
    cout<<"Dobro pojalovat' v calc\n";
    cout<<"vyberite opciu, kotoraya vam neobhodima. dlya vyhoda najmite 'q'\n";
    cout<<"1 - Slojenie\n";
    cout<<"2 - Vy4itanie\n";
    cout<<"3 - Delenie\n";
    cout<<"4 - Umnojenie\n";
 
    cin>>choice;
    } while ( choice < '1' || choice > '4' && choice != 'q');
    if (choice == 'q') break;
    switch (choice) {
           case '1':
                num = qwe();
                num2 = asd();
                cout<<num + num2;
                cout<<"\n";
                break;
           case '2':
                num = qwe();
                num2 = asd();
                cout<<num - num2;
                cout<<"\n";
                break;
           case '3':
                num = qwe();
                num2 = asd();
                cout<<num / num2;
                cout<<"\n";
                break;
           case '4':
                num = qwe();
                num2 = asd();
                cout<<num * num2;
                cout<<"\n";
                break;
 
                }
 
}
return 0;
}
 
int qwe ()
{
    int y=0, a=0,i,count=0,j,as,sa;
    char str[50];
    cout<<"vvodite 1\n";
    cin>>str;
    for (i=0; str[i]!='\0'; i++)
        {
        if (str[i]!=' ')
            {
            count++;
            }
        }
 
    int mas[count];
    char popo;
 
    for (i=0; i<count; i++)
     {
     popo=str[i];
     switch (popo)
       {
        case '0': {mas[i]=0;} break;
        case '1': {mas[i]=1;} break;
        case '2': {mas[i]=2;} break;
        case '3': {mas[i]=3;} break;
        case '4': {mas[i]=4;} break;
        case '5': {mas[i]=5;} break;
        case '6': {mas[i]=6;} break;
        case '7': {mas[i]=7;} break;
            }
     }
    for (i=0; i<count; i++)
      {
      sa=((count-i)-1);
      //as=mas[i];
      a=a+(mas[i]*(pow(8,sa)));
      }
return a;
}
 
int asd ()
{
    int y=0, b=0,i,count=0,j,as,sa;
     char str[50];
    cout<<"vvodite 2\n";
    cin>>str;
    for (i=0; str[i]!='\0'; i++)
        {
        if (str[i]!=' ')
            {
            count++;
            }
        }
 
    int mas[count];
    char popo;
 
    for (i=0; i<count; i++)
     {
     popo=str[i];
     switch (popo)
       {
        case '0': {mas[i]=0;} break;
        case '1': {mas[i]=1;} break;
        case '2': {mas[i]=2;} break;
        case '3': {mas[i]=3;} break;
        case '4': {mas[i]=4;} break;
        case '5': {mas[i]=5;} break;
        case '6': {mas[i]=6;} break;
        case '7': {mas[i]=7;} break;
 
       }
     }
    for (i=0; i<count; i++)
      {
      sa=((count-i)-1);
      as=mas[i];
      b=b+(mas[i]*(pow(8,sa)));
      }
return b;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.04.2011, 22:50     Подскажите с Калькулятором...
Посмотрите здесь:

Подскажите C++
Подскажите) C++
C++ подскажите
Подскажите C++
проблема с калькулятором матриц C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Aye Aye
 Аватар для Aye Aye
367 / 281 / 36
Регистрация: 17.12.2009
Сообщений: 567
28.04.2011, 04:50     Подскажите с Калькулятором... #2
не хорошо.
восьмеричное число можно легче считать:
C
1
2
3
4
5
6
7
8
9
10
int get_oct()
{
  int c = 0, ret = 0;
  while (c != '\n') {
    c = getc(stdin);
    ret |= c - '0';
    ret <<= 3;
  }
  return ret;
}
замени и все, наверное...
strannik_kz
0 / 0 / 0
Регистрация: 09.02.2010
Сообщений: 7
28.04.2011, 14:52  [ТС]     Подскажите с Калькулятором... #3
Хм.... не много не понял что именно заменить этой записью?
Aye Aye
 Аватар для Aye Aye
367 / 281 / 36
Регистрация: 17.12.2009
Сообщений: 567
29.04.2011, 02:46     Подскажите с Калькулятором... #4
я ошибся немного, вот верный код.
C
1
2
3
4
5
6
7
8
9
int get_oct()
{
  int c = 0, ret = 0;
  while ((c = getc(stdin)) != '\n') { // cin.get() для C++
    ret <<= 3;
    ret |= c - '0';
  }
  return ret;
}
это функция для считывания числа в восьмеричной записи, где нужно считывание туда и вставлять её вызов.
Yandex
Объявления
29.04.2011, 02:46     Подскажите с Калькулятором...
Ответ Создать тему
Опции темы

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