Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- #include <locale.h>
- #include <time.h>
- #include <conio.h>
- //#include <string.h> - нам вроде не говорили работать со строками C++
- int main() {
- setlocale(LC_ALL,"Rus");
- int Menu;
- char* str = new char[1];
- printf("\n");
- do
- {
- printf("****************МЕНЮ*******************\n");
- printf("1. Заполнить вручную\n");
- printf("2. Заполнить случайными символами\n");
- printf("3. Вывод результата на экран\n");
- printf("4. Обработка данных\n");
- printf("5. Выход\n");
- printf("**************************************\n\n");
- scanf("%d", &Menu);
- switch (Menu){
- case 1:
- {
- printf("Заполните строку символами \n" );
- char* cloneStr = NULL;
- int StrSize = 1;
- while(true){
- char symbol = _getch();
- //printf("%d\n", symbol); - Мы ещё не убедились в том что нажатая нами клавиша является символом...
- cloneStr = new char[StrSize + 1];
- //printf("StrClone=%s\n", cloneStr);
- //printf("Str=%s\n", str); - Debug? :3
- for (int i = 0; i < StrSize; i++){
- if (str[i] != '\0'){
- //printf("he\n"); - это вообще что?
- cloneStr[i] = str[i];
- //str = new char[StrSize + 1]; - Перенос на 46-ю строку
- }
- }
- str = new char[StrSize + 1];
- for (int i = 0; i < StrSize; i++){
- str[i] = cloneStr[i];
- }
- delete[] cloneStr; //Добавил очистку памяти
- if ((symbol >= 97 && symbol <= 122) || (symbol == 32)){
- printf("%c", symbol); //printf("StrSize=%d\tsymbol=%c\tstrlen=%d\n", StrSize, symbol, strlen(str)); - зачем ты вообще пыталась выводить размер строки?
- str[StrSize] = symbol; //str[StrSize+1] = symbol;
- ++StrSize;
- }
- if (symbol == 13)
- break;
- //else - бесполезна так как строчка 59 была удалена
- //++StrSize; - перешла в 54 строку
- }
- /*for (int i = 0; i < StrSize; ++i){
- printf("%c", str[i]); - Не имеет смысла, так как мы уже видим строку которую вводим...
- }*/
- break;
- }
- //Эмм конец кода...
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement