Advertisement
Usow_Maxim

The_Исправления для Лизы v.1

Nov 1st, 2017
99
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.35 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <locale.h>
  4. #include <time.h>
  5. #include <conio.h>
  6. //#include <string.h> - нам вроде не говорили работать со строками C++
  7.  
  8. int main() {
  9.     setlocale(LC_ALL,"Rus");
  10.     int Menu;
  11.     char* str = new char[1];
  12.  
  13.     printf("\n");
  14.  
  15.     do
  16.     {
  17.     printf("****************МЕНЮ*******************\n");
  18.     printf("1. Заполнить вручную\n");
  19.     printf("2. Заполнить случайными символами\n");
  20.     printf("3. Вывод результата на экран\n");
  21.     printf("4. Обработка данных\n");
  22.     printf("5. Выход\n");
  23.     printf("**************************************\n\n");
  24.     scanf("%d", &Menu);
  25.  
  26.     switch (Menu){
  27.         case 1:
  28.         {
  29.             printf("Заполните строку символами \n" );
  30.             char* cloneStr = NULL;
  31.             int StrSize = 1;
  32.             while(true){
  33.                 char symbol = _getch();
  34.                 //printf("%d\n", symbol); - Мы ещё не убедились в том что нажатая нами клавиша является символом...
  35.  
  36.                 cloneStr = new char[StrSize + 1];
  37.                 //printf("StrClone=%s\n", cloneStr);
  38.                 //printf("Str=%s\n", str); - Debug? :3
  39.                 for (int i = 0; i < StrSize; i++){
  40.                     if (str[i] != '\0'){
  41.                         //printf("he\n"); - это вообще что?
  42.                         cloneStr[i] = str[i];
  43.                         //str = new char[StrSize + 1]; - Перенос на 46-ю строку
  44.                     }
  45.                 }
  46.                 str = new char[StrSize + 1];
  47.                 for (int i = 0; i < StrSize; i++){
  48.                     str[i] = cloneStr[i];
  49.                 }
  50.                 delete[] cloneStr; //Добавил очистку памяти
  51.                 if ((symbol >= 97 && symbol <= 122) || (symbol == 32)){
  52.                     printf("%c", symbol); //printf("StrSize=%d\tsymbol=%c\tstrlen=%d\n", StrSize, symbol, strlen(str)); - зачем ты вообще пыталась выводить размер строки?
  53.                     str[StrSize] = symbol; //str[StrSize+1] = symbol;
  54.                     ++StrSize;
  55.                 }
  56.                 if (symbol == 13)
  57.                     break;
  58.                 //else - бесполезна так как строчка 59 была удалена
  59.                     //++StrSize; - перешла в 54 строку
  60.             }
  61.             /*for (int i = 0; i < StrSize; ++i){
  62.                 printf("%c", str[i]); - Не имеет смысла, так как мы уже видим строку которую вводим...
  63.             }*/
  64.             break;
  65.         }
  66. //Эмм конец кода...
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement