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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
okzy
Сообщений: n/a
#1

Карамба, проблема с написанием - C++

27.12.2011, 21:17. Просмотров 223. Ответов 0
Метки нет (Все метки)

Здравствуйте. До четверга мне необходимо написать программу, которая будет удалять комментарии из данных, которые прописываются в файле. К сожалению на c++ я почти не работал, поэтому прошу у знающих людей, т.е. вас, помощи. Далее будет представлен сырой код, который, естественно требует долгих(для меня) и серьезных доработок, но, благо, с которыми смогу справиться самостоятельно. Вас я прошу помочь
преобразовать вид кода из case '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
void main()
{
 
    setlocale (LC_ALL,".1251");
 
    HANDLE Q = GetStdHandle(STD_OUTPUT_HANDLE);
 
    char mn='0', mas[5000], i='0';
    int z=0, q=0, w=0, y=0, u=0;
    while (mn!='3')
     {
       switch (mn=menu ())
          {
              case '1' : 
                 { // способ ввода данных №1 (из файла)
                  
 
                    system("cls");
 
                    ifstream infile ("in_file.txt");
                    ofstream outfile ("out_file.txt");
 
                    if (!infile)
                       {
                          cout << "Входной файл отсутствует!" << endl;
                       }
                    else while(infile)
                       {
                          i++;
                          z++;
                          infile.get(mas[i]);
                          cout << mas[i]; 
                       }
    
                    if (z==0)
                       { 
                          cout<<"Данные отсутствуют"<<endl<<endl;   
                          outfile<<"Данные отсутствуют"<<endl<<endl;
                       }      
 
                    cout<<endl<<endl<<"________________________________________________________________________________";   
                    cout<<endl<<"Для продолжения нажмите любую клавишу (Press any key)";
 
                    getch();
 
                 } break;
    
              case '2' :
                 {  
                 
                    system("cls");
                   
                    while (mas)
                    if (mas[q]=='/' && mas[q+1]=='/')
                       {
                         for(int w=q; mas[q]!='\n'; w++)
                            w=y;
                         for(int y=q; y<=w; y++)
                            mas[y]='\0';
                       }
                    else if (mas[q]=='/' && mas[q+1]=='*')
                       {
                        for(int w=q; mas[q]!='/', mas[q+1]!='*'; w++)
                            w=y;
                         for(int y=q; y<=w; y++)
                            mas[y]='\0';
                       }
 
                
                          
                       for ( u=0; u<=i; u++)
                      {
                          cout<< mas[u];
                      }
                         
                    cout<<endl<<endl<<"________________________________________________________________________________";   
                    cout<<endl<<"Для продолжения нажмите любую клавишу (Press any key)";
 
                 } break;
              case '3' : 
                 {
                    system("cls"); // очистка экрана
 
                    cout<<"Работа программы будет автоматически завершена через несколько секунд.\nДо свидания.";
 
                    Sleep (5000); // задержка 5000 милисекунд
                 } break;  
          }     
     }
}
int menu()// Меню программы
   {
      HANDLE Q = GetStdHandle(STD_OUTPUT_HANDLE);
      SetConsoleTextAttribute(Q, 10);
      setlocale(LC_ALL, "Russian");
      system ("cls");
      cout<<"     Выберите действие \n"<<endl;
      cout<<"1. Вsвести данные из файла на экран"<<endl;
      cout<<"2. Выполнить преобразование данных"<<endl;
      cout<<"3. Завершить программу"<<endl;
      cout<<"     Выбирите необходимую операцию и нажмите 'Enter' \n"<<endl;
      char mn='0';
      while (mn!='1' && mn!='2' && mn!='3') mn=getch();
      return (mn);
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.12.2011, 21:17     Карамба, проблема с написанием
Посмотрите здесь:

C++ написанием функции 100системы оценивания
C++ Сложности с написанием программы сопровождения базы данных
Не могу разобраться с написанием ActiveX в ATL C++
C++ Помогите с написанием программы по обработке фотографий с использованием графических фильтров.
Помогите с написанием программы по курсовой работе C++
C++ Сложности с написанием кода программы
C++ Промежуток между написанием строчек
C++ Помогите с написанием блок-схемы к программе
Проблемы с написанием N дерева C++
C++ Вылезает ошибка с написанием меню (WinAPI)
Помощь с написанием класса List C++

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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru