adam27
07-05-2016, 12:38
ребят,помогите исправить ошибки пожалуйста,подпрограмма обработки вообще не запускается,не понимаю почему,и можно ли так сравнивать слова(если нет,подскажите как).Пожалуйста
#include <iostream>
#include <windows.h>
#include <cmath>
#include <math.h>
#include <stdio.h>
#include <string.h>
#include <cstdlib>
#include <fstream>
#include <cstdlib>
#include <conio.h>
using namespace std;
int a, i, k ,v;
char f[100];
void sozdanie()//start
{
char x[100],e[100];
cout << "\nВведите имя файла ";
cin >> x;
ofstream start(x);
cout<<"\n Введите текст , между словами запятая";
cin>>x;
start<<x;
start.close();
}
void prosmotr()//look
{
char x[100], e[500];
cout << "\nВведите имя файла ";
cin >> x;
ifstream look(x);
look.getline (e, 50);
cout << e;
look.close();
}
void obrabotka()//play
{
int m,s,k,z,fl,p;
char x[100], l[50], n[500] , e[500] , a[100][100];
cout << "\nВведите имя файла ";
cin >> x;
ifstream play(x);
play.getline(e, 80);
play.getline(n, 80);
m = atoi(n);
play.close();
ifstream look(x);
for (i = 0; i < m; i++) look >> l[i];
look.close();
for(i=0;i<strlen(l);i++)//деление на массив слов
{ if (isalpha (l[i]))
{
int z=0;
for(i;isalpha(l[i]);i++)
{
a[k][z]=l[i];
z++;
}
a[k][z]='\0';
k++;
}
} //конец деления
for(i=0;i<k;i++) //слово
{
p=0;
for(s=i+1;s<k;s++)
{
strcmp(a[i],a[s])==0;
p++;
}
cout<<"\nСлово"<<a[i]<<"встречается"<<p<<"раз";
}
}
int main()
{
int t=1;
setlocale(LC_CTYPE, "Russian");
while(t==1)
{
cout << "\nВыберите один из приведенных вариантов. Для этого введите его номер\n";
cout << "1:создание файла исходных данных\n2:просмотр файла\n3:обработка\n4:конец\n";
cin >> a;
switch (a)
{
case 1:
{
sozdanie();
break;
}
case 2:
{
prosmotr();
break;
}
case 3:
{
obrabotka();
break;
}
case 4:
{ t=0;
break;
}
default:
{
cout << "\nНеправильный ввод\n";
return 0;
}
}
}
return 0;
}
#include <iostream>
#include <windows.h>
#include <cmath>
#include <math.h>
#include <stdio.h>
#include <string.h>
#include <cstdlib>
#include <fstream>
#include <cstdlib>
#include <conio.h>
using namespace std;
int a, i, k ,v;
char f[100];
void sozdanie()//start
{
char x[100],e[100];
cout << "\nВведите имя файла ";
cin >> x;
ofstream start(x);
cout<<"\n Введите текст , между словами запятая";
cin>>x;
start<<x;
start.close();
}
void prosmotr()//look
{
char x[100], e[500];
cout << "\nВведите имя файла ";
cin >> x;
ifstream look(x);
look.getline (e, 50);
cout << e;
look.close();
}
void obrabotka()//play
{
int m,s,k,z,fl,p;
char x[100], l[50], n[500] , e[500] , a[100][100];
cout << "\nВведите имя файла ";
cin >> x;
ifstream play(x);
play.getline(e, 80);
play.getline(n, 80);
m = atoi(n);
play.close();
ifstream look(x);
for (i = 0; i < m; i++) look >> l[i];
look.close();
for(i=0;i<strlen(l);i++)//деление на массив слов
{ if (isalpha (l[i]))
{
int z=0;
for(i;isalpha(l[i]);i++)
{
a[k][z]=l[i];
z++;
}
a[k][z]='\0';
k++;
}
} //конец деления
for(i=0;i<k;i++) //слово
{
p=0;
for(s=i+1;s<k;s++)
{
strcmp(a[i],a[s])==0;
p++;
}
cout<<"\nСлово"<<a[i]<<"встречается"<<p<<"раз";
}
}
int main()
{
int t=1;
setlocale(LC_CTYPE, "Russian");
while(t==1)
{
cout << "\nВыберите один из приведенных вариантов. Для этого введите его номер\n";
cout << "1:создание файла исходных данных\n2:просмотр файла\n3:обработка\n4:конец\n";
cin >> a;
switch (a)
{
case 1:
{
sozdanie();
break;
}
case 2:
{
prosmotr();
break;
}
case 3:
{
obrabotka();
break;
}
case 4:
{ t=0;
break;
}
default:
{
cout << "\nНеправильный ввод\n";
return 0;
}
}
}
return 0;
}