#include <string.h>
#include <windows.h>
#include <iostream.h>
char* rus(const char *ps)
{char* bf=new char [strlen(ps)];
CharToOem(ps,bf);
return bf;}
class raduga
{
public:
raduga(char *,char *,char *,int );
void output_rad();
protected:
char spektr[64];
char vid[64];
char name[64];
int nogl;
};
raduga::raduga(char *spektr,char *vid,char *name,int nogl)
{
strcpy(raduga::name,name);
strcpy(raduga::spektr,spektr);
strcpy(raduga::vid,vid);
raduga::nogl=nogl;
}
void raduga::output_rad()
{ cout<< rus("Имя : ") <<rus(name)<<"\n";
cout<< rus("Спектр : ") <<rus(spektr)<<"\n";
cout<< rus("Вид : ") <<rus(vid)<<"\n";
cout<< rus("Поглащение : ") <<nogl<<"%"<<"\n";
}
////////////////////////щаблон блэк/////////////////////////////////////////////
template <class A> class black: protected raduga
{
public:
black(char*,char*,char*,int,char*,A,A);
void output_black() ;
protected:
char HEX[64];
A dlina;
A chastota;
};
/*//////////////конструктор блэк/////////////////*/
template <class A>black<A>::black(char* spektr,char *vid,char *name,int nogl,char *HEX,A dlina,A chastota):raduga(spektr,vid,name,nogl)
{
strcpy(black::HEX,HEX);
black::dlina=dlina;
black::chastota=chastota;
}
/*//////////////вывод блэк///////////////////////*/
template <class A>void black<A>::output_black()
{
output_rad() ;
cout<<"HEX : "<<HEX<<"\n";
cout<<rus("Длина волны : ")<<dlina<<" nm"<<"\n";
cout<<rus("Частота : ")<<chastota<<" hz"<<"\n";
}
//////////////////////шаблон вайт////////////////////////////////////////////////
template <class B>class white: protected raduga
{
public:
white(char*,char *,char *,int,B*,int,int);
void output_white() ;
protected:
int dlina;
int chastota;
B RGB[64];
};
/*///////////конструктор вайт////////////////////*/
template <class B>white<B>::white(char* spektr,char *vid,char *name,int nogl,B *RGB,int dlina,int chastota):raduga(spektr,vid,name,nogl)
{ strcpy(white::RGB,RGB);
white::dlina=dlina;
white::chastota=chastota;
}
/*///////////вывод///////////////////////////////*/
template <class B>void white<B>::output_white()
{
output_rad() ;
cout<<rus("RGB : ")<<RGB<<"\n";
cout<<rus("Длина волны : ")<<dlina<<" nm"<<"\n";
cout<<rus("Частота : ")<<chastota<<" hz"<<"\n";
}
Исключительные ситуации(С++)
Код:
Код:
#include <conio.h>
#include <stdio.h>
#include "file.h"
void main()
{
char name[10];
char adr[]="C:\\";
char txt[]=".txt";
cout<<rus("Введите имя файла ");
cin>>name;
FILE *A; A=fopen(strcat(strcat(adr,name),txt),"w");
if(!A)
cout<<rus("Ошыбка при создании файла");
clrscr();
cout<<rus("Файл успешно создан");
getch();
clrscr();
cout<<rus("Введите данные: ")<<"\n\n";
cout<<rus("Черный цвет: ")<<"\n";
char s1[64],s2[64],s3[64]; //спетр, вид, имя
int s4,s5,s6; // поглащение,длинаб частота
char s7[64]; //HEX
cout<<rus("Имя : "); cin>>s3; fprintf(A,"%s\n",s3);
cout<<rus("Спектр : "); cin>>s1; fprintf(A,"%s\n",s1);
cout<<rus("Вид : "); cin>>s2; fprintf(A,"%s\n",s2);
cout<<rus("Поглащение : "); cin>>s4; fprintf(A,"%i\n",s4);
cout<<rus("HEX : "); cin>>s7; fprintf(A,"#%s\n",s7);
cout<<rus("Длина волны : "); cin>>s5; fprintf(A,"%i\n",s5);
cout<<rus("Частота : "); cin>>s6; fprintf(A,"%i\n",s6);
fscanf(A,"%s\n%s\n%s\n%s\n%s\n%i\n%s",&s3,&s1,&s2,&s4,&s7,&s5,&s6);
black<int>b(s3,s1,s2,s4,s7,s5,s6);
clrscr();
cout<<rus("Вы ввели:")<<"\n";
b.output_black();
getch();
clrscr();
char q1[64],q2[64],q3[64]; //спетр, вид, имя
int q4,q5,q6; // поглащение,длинаб частота
char q7[64]; //RGB
cout<<rus("Белый цвет: ")<<"\n";
cout<<rus("Имя : "); cin>>q3; fprintf(A,"%s\n",q3);
cout<<rus("Спектр : "); cin>>q1; fprintf(A,"%s\n",q1);
cout<<rus("Вид : "); cin>>q2; fprintf(A,"%s\n",q2);
cout<<rus("Поглащение : "); cin>>q4; fprintf(A,"%i %\n",q4);
cout<<rus("RGB : "); cin>>q7; fprintf(A,"#%s\n",q7);
cout<<rus("Длина волны : "); cin>>q5; fprintf(A,"%i\n",q5);
cout<<rus("Частота : "); cin>>q6; fprintf(A,"%i\n",q6);
fscanf(A,"%s\n%s\n%s\n%s\n%s\n%i\n%s",&q3,&q1,&q2,&q4,&q7,&q5,&q6);
white<char>w(q3,q1,q2,q4,q7,q5,q6);
clrscr();
cout<<rus("Вы ввели:")<<"\n";
w.output_white();
getch();
clrscr();
fclose(A);
getch();
}
#include <stdio.h>
#include "file.h"
void main()
{
char name[10];
char adr[]="C:\\";
char txt[]=".txt";
cout<<rus("Введите имя файла ");
cin>>name;
FILE *A; A=fopen(strcat(strcat(adr,name),txt),"w");
if(!A)
cout<<rus("Ошыбка при создании файла");
clrscr();
cout<<rus("Файл успешно создан");
getch();
clrscr();
cout<<rus("Введите данные: ")<<"\n\n";
cout<<rus("Черный цвет: ")<<"\n";
char s1[64],s2[64],s3[64]; //спетр, вид, имя
int s4,s5,s6; // поглащение,длинаб частота
char s7[64]; //HEX
cout<<rus("Имя : "); cin>>s3; fprintf(A,"%s\n",s3);
cout<<rus("Спектр : "); cin>>s1; fprintf(A,"%s\n",s1);
cout<<rus("Вид : "); cin>>s2; fprintf(A,"%s\n",s2);
cout<<rus("Поглащение : "); cin>>s4; fprintf(A,"%i\n",s4);
cout<<rus("HEX : "); cin>>s7; fprintf(A,"#%s\n",s7);
cout<<rus("Длина волны : "); cin>>s5; fprintf(A,"%i\n",s5);
cout<<rus("Частота : "); cin>>s6; fprintf(A,"%i\n",s6);
fscanf(A,"%s\n%s\n%s\n%s\n%s\n%i\n%s",&s3,&s1,&s2,&s4,&s7,&s5,&s6);
black<int>b(s3,s1,s2,s4,s7,s5,s6);
clrscr();
cout<<rus("Вы ввели:")<<"\n";
b.output_black();
getch();
clrscr();
char q1[64],q2[64],q3[64]; //спетр, вид, имя
int q4,q5,q6; // поглащение,длинаб частота
char q7[64]; //RGB
cout<<rus("Белый цвет: ")<<"\n";
cout<<rus("Имя : "); cin>>q3; fprintf(A,"%s\n",q3);
cout<<rus("Спектр : "); cin>>q1; fprintf(A,"%s\n",q1);
cout<<rus("Вид : "); cin>>q2; fprintf(A,"%s\n",q2);
cout<<rus("Поглащение : "); cin>>q4; fprintf(A,"%i %\n",q4);
cout<<rus("RGB : "); cin>>q7; fprintf(A,"#%s\n",q7);
cout<<rus("Длина волны : "); cin>>q5; fprintf(A,"%i\n",q5);
cout<<rus("Частота : "); cin>>q6; fprintf(A,"%i\n",q6);
fscanf(A,"%s\n%s\n%s\n%s\n%s\n%i\n%s",&q3,&q1,&q2,&q4,&q7,&q5,&q6);
white<char>w(q3,q1,q2,q4,q7,q5,q6);
clrscr();
cout<<rus("Вы ввели:")<<"\n";
w.output_white();
getch();
clrscr();
fclose(A);
getch();
}