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

case значение - C++

Восстановить пароль Регистрация
 
Aleks fratriecz
3 / 3 / 0
Регистрация: 06.09.2012
Сообщений: 130
18.04.2013, 09:34     case значение #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
#include <iostream>
#include <conio.h>
#include <stdio.h>
#include <Windows.h>
#include <string.h>
using namespace std;
const int NotUsed = system( "color 0C" );
struct  zapis
{string name;
        string surname;
        string nomber; };
        
zapis A[20];
int K=0;
 
void addrec()
{
     cout<<"Заполните поля добавляемой учетной записи:\n";
     cout<<"Ник: "; cin>>A[K].surname;
     cout<<"Имя: "; cin>>A[K].name;
     cout<<"Пароль: "; cin>>A[K].nomber;
   
     K++;
     system("cls");}
 
void delrec()
{
     int i=0,j=1,n,Ch,k1;
     
  cout<<"база содержит "<<K<<" записей.\n";
  cout<<"Введите номер удаляемой записи  ";
  cin>>n;
  n--;
  
      cout<<"Запись №"<<n;
      cout<<"Ник: "<<A[n].surname<<endl;
      cout<<"Имя: "<<A[n].name<<endl;
  
      cout<<"Пароль: "<<A[n].nomber<<endl;
      cout<<"Удалить? (y/n) ";  
      Ch=getch();
      if (Ch==121)  
      {
           j=n;
           for (i=n;i<K;i++)
           {
           A[i]=A[j];
           j++;}
           K--;}
       system("cls");}
 
void showrec()
{
     int I=0;
     for (I;I<K;I++)
     {
      cout<<"Запись №"<<(I+1)<<endl;
      cout<<"Ник: "<<A[I].surname<<endl;
      cout<<"Имя: "<<A[I].name<<endl;
   
      cout<<"Пароль: "<<A[I].nomber<<endl;
      cout<<endl; }
     system("pause");
     system("cls");}
 
void search()
{
     int I=0;
     string n;
     cout<<"Введите Ник:\n";
     cin>>n;
     
     system("cls");
     
     for (I;I<K;I++)
     {
     if (A[I].surname==n) 
     {
      cout<<"Запись №"<<(I+1)<<endl;
      cout<<"Ник: "<<A[I].surname<<endl;
      cout<<"Имя: "<<A[I].name<<endl;
    
      cout<<"Пароль: "<<A[I].nomber<<endl;
                }}
     system("pause");
     system("cls");  }
 
int main(int argc, char* argv[])
{
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
    int n;
    
    do
    {
    cout<<"Выберите действие:\n";
    cout<<"1-добавить запись\n";
    cout<<"2-удалить запись\n";
    cout<<"3-просмотреть записи\n";
    cout<<"4-поиск записей\n";
    cout<<"5-выход\n";
    n=getch();
    
    switch (n)
    {
    case 49: 
           {
             system("cls");         
             addrec(); 
             break; }
    case 50: 
           {
             system("cls");      
             delrec();
             break; }
    case 51: 
           {
             system("cls");      
             showrec();
             break; }
    case 52: 
           {
             system("cls");      
             search();
             break;
           } }}
    while (n!=53);}
подскажите что означают строки после switch (n) и для чего они нужны???
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
anmartex
...
 Аватар для anmartex
1700 / 1193 / 494
Регистрация: 12.02.2013
Сообщений: 1,978
18.04.2013, 11:32     case значение #2
Для начала узнаём, что же такое switch-case в C/C++. Теперь о цифрах: какой-то оригинал решил, что понятнее и правильнее вписать ASCII-шный номер символа вместо самого символа и мы получаем вместо:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
   switch (n)
   {
      case '1':
         // ...
         break;
 
      case '2':
         // ..
         break;
 
      case '3':
         // ...
         break;
 
      case '4':
         // ...
         break;
   }
Вот это:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
   switch (n)
   {
      case 49:
         // ...
         break;
 
      case 50:
         // ..
         break;
 
      case 51:
         // ...
         break;
 
      case 52:
         // ...
         break;
   }
Tulosba
18.04.2013, 11:46
  #3

Не по теме:

case 49: более круто, чем case '1': т.к. менее понятно

Kastaneda
18.04.2013, 12:42     case значение
  #4

Не по теме:

Цитата Сообщение от Tulosba Посмотреть сообщение
case 49: более круто
если ты работаешь обфускатором

Yandex
Объявления
18.04.2013, 12:42     case значение
Ответ Создать тему
Опции темы

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