#include <iostream>
#include <fstream>
#include <string.h>
#include <windows.h>
using namespace std;
char town[100];
class Database {
public:
database();
int delete_element(int ,char**) const;
int delete_0element(int ,char**) const;
void print_array(char** ) const;
private:
int N;char **token;
};
int Database::delete_element(int N,char **token) const
{
cout << "Введите индекс: ";
int pos;
cin >> pos;
for (int i = pos; i < N - 1; i++) //Двигаемся слева направо с заданной позиции
{
token[i] = token[i+1]; //Сдвигаем элементы
}
token[N-1] = 0; //Обнуляем последний элемент (часто в целях безопасности)
cout << "Массив после удаления элемента:" << endl;
for (int i = 0; i < N - 1; i++) //Уменьшаем размер массива на единицу
{
cout << token[i] << " "; //Выводим массив после удаления элемента
}
cout << endl;
return 0;
}
int Database:: delete_0element(int N,char **token) const
{
//cout << "Введите индекс: ";
int pos=0;
//cin >> pos;
for (int i = pos; i < N - 1; i++) //Двигаемся слева направо с заданной позиции
{
token[i] = token[i+1]; //Сдвигаем элементы
}
token[N-1] = 0; //Обнуляем последний элемент (часто в целях безопасности)
cout << "Массив после удаления элемента:" << endl;
for (int i = 0; i < N - 1; i++) //Уменьшаем размер массива на единицу
{
cout << token[i] << " "; //Выводим массив после удаления элемента
}
cout << endl;
return 0;
}
void Database:: print_array(char **token) const
{ ofstream fout("matrix1.bin");
int i;
for (i = 0; token[i]; i++){
if (i%6==0&&i!=0) {cout<<"\n";fout<<"\n";}
cout<< token[i]<<"\t";
fout<<token[i]<<"\t";
}
cout<<endl;
}
int main()
{
Database database;
SetConsoleCP(1251);// установка кодовой страницы win-cp 1251 в поток ввода
SetConsoleOutputCP(1251);
//Обьявление матрицы
int rows = 5; int cols = 50;
int n;
string s;
ifstream fin("matrix.bin");
ofstream fout("matrix1.bin");
if (!fout.is_open())
{
cout << "Ошибка открытия файла!" << endl;
}
else {
cout << "Файл открыт" << endl;}
// fin.open(path);
if (!fin.is_open())
{
cout << "Ошибка открытия файла!" << endl;
}
else {
cout << "Файл открыт" << endl;
//fin.seekg(12,ios_base::beg);
}
const int N = 100;
char *S=new char[1000]; //Строка для анализа
fin.getline (S,1000);
int i = 0;
//char *token[100];
//char* token = new char[100];
char **token = new char*[100];
string p="65";
token[i] = strtok(S,",.");
while (token[i])
token[++i] = strtok(NULL,",.");
token[i] = 0; /* чтобы не выводить все MAXWORDS */
// for (i = 0; token[i]; i++)
printf("\n", i, token[i]);
/*
printf("Число: ");
scanf("%d", &n);
printf("Позиция: ");
scanf("%d", &j);
for (i=4; i >= j-1; i--)
a[i+1] = a[i];
a[j-1] = n;
for (i=0; i<6; i++)
printf("%d ", a[i]);
printf("\n");
*/
///////////////////////////////
cout << "----------------------------------------- "<<endl;
cout<< "Id"<<"\t"<<"Фамилия"<<"\t"<<"Пол"<<"\t"<<"Возраст"<<"\t"<<"Город"<<"\t"<<"Диагноз"<<endl;
cout << "----------------------------------------- "<<endl;
fout << "----------------------------------------- "<<endl;
fout<< "Surname"<<"\t"<<"Sex"<<"\t"<<"Age"<<"\t"<<"Place"<<"\t"<<"Illness"<<endl;
fout << "----------------------------------------- "<<endl;
database.print_array(token);
cout<<endl;
cout<<endl;
cout<<endl;
/*
char *k;
cout<<"Введите число k\n";
cin>>k;
cout<<"Введите № элемента массива после которого нужно вставить число k\n";
cin>>n;*/
n=7;
for ( i = 100; i > n; i-- ) // сдвинули элементы вправо и освободили n- е место
token[i] = token[i-6];
token[i]="h"; token[i+1]="h";token[i+2]="h";token[i+3]="h";token[i+4]="h";token[i+5]="3";token[i+11]="4";// вставили
database.print_array(token);
//database.delete_element(N,token);
//database.delete_0element(N,token);
char str[2]; //исходное число в виде строки
cin>>str;
for (token[i]; token[i]-1; i--){
if(i%6==0&&strcmp(token[i],str))
{
token[i+1] = token[i];
}
}
database.print_array(token);
return 0;
}
/*
cout<<"\n\n\n Выбор режима 0:Иногородние 1:Пенсионеры \n "<<endl;
fout<<"\n\n\n Выбор режима 0:Иногородние 1:Пенсионеры \n "<<endl;
int q,w,e=0;
cin>>q;
cout<<"\n";fout<<"\n";
cout<<q;fout<<q;
if(q){
int k=2;
for(k=2;k<i-1;){
//cout<<token[k]<<"\t";
if (token[k]>=p)
{
cout<<token[k-2]<<"\t"<<token[k]<<"\t"<<token[k-1]<<"\t"<<token[k+1]<<"\t"<<token[k+2]<<endl;
fout<<token[k-2]<<"\t"<<token[k]<<"\t"<<token[k-1]<<"\t"<<token[k+1]<<"\t"<<token[k+2]<<endl;
}
k=k+5;}
}
else {
cout<<"Местоположение клиники?"<<endl;
cin>>town;
for(w=3;w<i-1;){
if (strcmp(token[w],town))
e=e+1;
w=w+5;
}
cout<<e;
fout<<e;
}
*/