
Добавил:
BlackCat
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:2 семестр ФИБС / Информатика / 4 практика / P4_Default
.cpp#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 практика