Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
0
Добавлен:
31.05.2025
Размер:
1.97 Кб
Скачать
#include <iostream>
#include <cstdio>//для gets
#include <cstring> //для функции strlen
#include <windows.h>
using namespace std;

class String
{
   char str[80];
   int metr;
 public:
   	
   String(char* strIn);
   void look();
   int analiz_s();
   void analiz_A();
   int analiz_word();
};
void String::look()
{
	printf("Ваша введенная строка:\n");
	puts(str);
}
String::String(char* strIn)
{
   int k=0;
   metr=strlen(strIn)+1;
   for (int i =0; i<metr; i++)  //убирает лишние пробелы,заменяя их на 1
{
   	if ((strIn[i]!=' ')&&(strIn[i+1]!=' ')||((strIn[i]!=' ')&&(strIn[i+1]=' ')))
   	{
	 str[k]=strIn[i];
	 k=k+1;	
   }
   else
   {
   	if ((strIn[i-1]!=' ')&&(i!=0))
   	{
   	  str[k]=strIn[i];
   	  k=k+1;
    }
   }
}
   metr=strlen(str);    
}

int String::analiz_s()
{
	int k =0;
    for(int i = 0;i<metr;i++)
    {
    if(((str[i]>=0)&&(str[i]<=31))||((str[i]>=33)&&(str[i]<=64))||((str[i]>=91)&&(str[i]<=96))||((str[i]>=123)&&(str[i]<=127)))
    {
     k=k+1;		
	}	         
    }
    printf("Проверка:%d\n",k);
	return k; 
}
void String::analiz_A()
{
  int i=0;
  if ((str[i]==65)||(str[i]==97))
  {
  	printf("Строка начинается с буквы А\n");
  }
  else
  {
  	printf("Строка не начинается с буквы А\n");
  }
} 
int String::analiz_word()
{
  int k;
  int num=0;
  for(int i=0;i<metr;i++)
  {
  	if(str[i]==32)
  	{
  	  k=i;
	  for(int j=0;j<i;j++)
	  {
	  	if(((str[j]>=65)&&(str[j]<=90))||((str[j]>=97)&&(str[j]<=122)))
	  	{
	     num=num+1;
		}
	  }	
	}
  }
  return num;
}

int main()
{
   SetConsoleCP(1251);
   SetConsoleOutputCP(1251);
   char sen[666];
   printf("Введите вашу строку:\n");
   gets(sen);
   printf("Введенная не измененная строка\n");
   puts(sen);
   String fa(sen);
   fa.look();
   printf("\n%s\n",((fa.analiz_s())==0)?"Присуствуют только буквы":"Имеются символы");
   fa.analiz_A();
   fa.analiz_word();
   
}
  

Соседние файлы в папке 4 практика