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

Нужны блок-схемы для 2 задач!!! - C++

Восстановить пароль Регистрация
 
apple.vfkn2h
2 / 2 / 0
Регистрация: 25.04.2012
Сообщений: 9
14.05.2012, 18:12     Нужны блок-схемы для 2 задач!!! #1
Задание №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
#include <cstdlib>
#include <iostream>
 
#include <stdio.h>
#include <conio.h>
 
using namespace std;
 
typedef float atype;
 
atype summ(atype &a, atype &b)
{
  return a + b;
}
 
atype diff(atype &a, atype &b)
{
 return a - b;     
}
 
atype mult(atype &a, atype &b)
{
 return a*b;     
} 
 
atype div(atype &a, atype &b)
{
 if (b==0) throw 1;
 return a / b;
}
 
int main(int argc, char *argv[])
{
    atype a,b,c;
    
    int op = 0;
    
    printf("Enter 1st operand: ");
    scanf("%f", &a);
    printf("Enter 2nd operand: ");
    scanf("%f", &b);
    
    while (op == 0)
    {
     printf("Select operation:\n1.Addition (+)\n2.Subtraction (-)\n3.Multiplication (*)\n4.Division (/)\n");  
     op = getch() - 48;
     try
     {   
         switch (op)
         {
           case 1:
             c = summ(a,b);
           break;
           case 2:
             c = diff(a,b);
           break;
           case 3:
             c = mult(a,b);
           break;
           case 4:
             c = div(a,b);
           break;
           
           default:
             throw 0;      
         }
      printf("Result = %.4f\r\n", c);
     }
     catch (int code)
     {
       if (code == 0)
         op = 0;
       else
         printf("Wrong arguments!\r\n");     
     }
    }    
    system("PAUSE");
    return EXIT_SUCCESS;
}
Задание №2
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
#include <cstdlib>
#include <iostream>
#include <string>
#include <stdio.h>
 
 
using namespace std;
 
unsigned short win_cp1251[128]=
{ 0x0402, 0x0403, 0x201A, 0x0453, 0x201E, 0x2026, 0x2020, 0x2021,
0x20AC, 0x2030, 0x0409, 0x2039, 0x040A, 0x040C, 0x040B, 0x040F,
0x0452, 0x2018, 0x2019, 0x201C, 0x201D, 0x2022, 0x2013, 0x2014,
0xFFFD, 0x2122, 0x0459, 0x203A, 0x045A, 0x045C, 0x045B, 0x045F,
0x00A0, 0x040E, 0x045E, 0x0408, 0x00A4, 0x0490, 0x00A6, 0x00A7,
0x0401, 0x00A9, 0x0404, 0x00AB, 0x00AC, 0x00AD, 0x00AE, 0x0407,
0x00B0, 0x00B1, 0x0406, 0x0456, 0x0491, 0x00B5, 0x00B6, 0x00B7,
0x0451, 0x2116, 0x0454, 0x00BB, 0x0458, 0x0405, 0x0455, 0x0457,
0x0410, 0x0411, 0x0412, 0x0413, 0x0414, 0x0415, 0x0416, 0x0417,
0x0418, 0x0419, 0x041A, 0x041B, 0x041C, 0x041D, 0x041E, 0x041F,
0x0420, 0x0421, 0x0422, 0x0423, 0x0424, 0x0425, 0x0426, 0x0427,
0x0428, 0x0429, 0x042A, 0x042B, 0x042C, 0x042D, 0x042E, 0x042F,
0x0430, 0x0431, 0x0432, 0x0433, 0x0434, 0x0435, 0x0436, 0x0437,
0x0438, 0x0439, 0x043A, 0x043B, 0x043C, 0x043D, 0x043E, 0x043F,
0x0440, 0x0441, 0x0442, 0x0443, 0x0444, 0x0445, 0x0446, 0x0447,
0x0448, 0x0449, 0x044A, 0x044B, 0x044C, 0x044D, 0x044E, 0x044F};
 
int unichar_to_utf8( unsigned int c, char *outbuf )
{
    unsigned int len ;
    int first;
    int i;
 
    if (c < 0x80)    {first = 0; len = 1;}
    else if (c < 0x800)  {first = 0xc0;len = 2;}
    else if (c < 0x10000)    {first = 0xe0;len = 3;}
    else if (c < 0x200000) {first = 0xf0;len = 4;}
    else if (c < 0x4000000) {first = 0xf8;len = 5;}
    else {first = 0xfc;len = 6;}
 
    for (i = len - 1; i > 0; --i)
    {
    outbuf[i] = (c & 0x3f) | 0x80;
    c >>= 6;
    }
    outbuf[0] = c | first;
 
    return len;
}
 
string convertToUtf8(const char* chars, int len)
{
    if (len <= 0 || chars == NULL)  return string();
    const unsigned char * c = (const unsigned char *)chars;
 
    char *uc = new char[len*4+1],*p=uc;
 
    for (int i = 0; i < len; i++) {
 
    unsigned short unicode=c[i]<127?c[i]:win_cp1251[c[i]-128];
    p+=unichar_to_utf8(unicode,p);
    }
 
    *p=0;
    string r=uc;
    delete [] uc;
    return r;
}
 
string char2hex(char dec)
{
    char dig1 = (dec&0xF0)>>4;
    char dig2 = (dec&0x0F);
 
    if ( 0<= dig1 && dig1<= 9) dig1+=48;    //0,48inascii
    if (10<= dig1 && dig1<=15) dig1+=97-10; //a,97inascii
    if ( 0<= dig2 && dig2<= 9) dig2+=48;
    if (10<= dig2 && dig2<=15) dig2+=97-10;
 
    string r;
    r.append( &dig1, 1);
    r.append( &dig2, 1);
    return r;
}
 
string code(const string &s)
{
    string res="";
    int max = s.length();
 
    for(int i=0; i<max; i++)
    {
        if ((48 <= s[i] && s[i] <= 57) || (65 <= s[i] && s[i] <= 90)
            || (97 <= s[i] && s[i] <= 122)
            || (s[i]=='~' || s[i]=='!' || s[i]=='*' || s[i]=='(' || s[i]==')' || s[i]=='\''))
            res.append(&s[i], 1);
        else
        {
            res.append("%");
            res.append(char2hex(s[i]));
        }
    }
    return res;
}
int main(int argc, char *argv[])
{
    //setlocale (LC_ALL,".1251");
    string str;
 
    printf("Enter string: ");
    getline(cin,str);
    str = convertToUtf8(str.c_str(),str.length());
 
    puts(code(str).c_str());
 
    system("PAUSE");
    return EXIT_SUCCESS;
}
Вложения
Тип файла: rar task2.rar (110.4 Кб, 6 просмотров)
Тип файла: rar task3.rar (114.7 Кб, 11 просмотров)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.05.2012, 18:12     Нужны блок-схемы для 2 задач!!!
Посмотрите здесь:

блок-схемы для ООП C++
C++ Нужны блок схемы
C++ Создание блок-схемы для программы
C++ Блок-схемы для программ на разветвляющийся алгоритм
Блок схемы для программы C++
C++ Блок-схемы для программ (массивы, строки)
Блок схемы для программ С++ C++
Составить блок-схемы и программы для вычисления Y и Z по заданным формулам C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

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