• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

    На последнюю неделю приходится экзамен, где нужно будет показать свои навыки, взломав ряд уязвимых учебных сайтов, и добыть флаги. Успешно сдавшие экзамен получат сертификат.

    Запись на курс до 25 апреля. Получить промодоступ ...

ПОМОГИТЕ! (С++)

  • Автор темы Serafim
  • Дата начала
Статус
Закрыто для дальнейших ответов.
S

Serafim

Народ, срочно нужна ваша помощь! Задание для вас, я думаю будет минут на 5-10... так что не откажите...

Вот сама прога (таблица типа имя, пол, доход, доход в долларах):

Код:
#include <conio.h>
 #include <iostream.h> 
 #include <stdlib.h> 

 struct rab {char name [45], pol; 
   int doxod;}; 


 rab  tabl [5];    //
 double  kursUE = 1; //

 


 void enter (rab & x) { 
 int j; cout << "Name:"; 
 cin >> x.name; 
 cout << "Pol:"; 
 cin >> x.pol; 
 {cout << "Doxod" << ":"; 
 cin >> x.doxod;} 
 } 

   void enterUEkurs (double & x)
 { 
  cout << "KursDollara:"; //
  cin >> x; 
 } 



 #include <iomanip.h> 

 void print (rab x) 

 { 
  cout << setw (20) << x.name << setw (10) << x.pol 
  << setw (3)<<' '<< x.doxod << ' ' << (x.doxod / kursUE);
    } 

 void enter (rab y [], int & n) 

 { 

 cout << "size:"; cin >> n; int i; 
 for (i = 0; i < n; i ++) enter (y [i]);} 

 void print (rab y [], int n) 

 { 

 int i; for (i = 0; i < n; i++) 

 { 

 print (y [i]); cout << endl; 

 } 
   } 

 void main () 

 { 



 rab tabl [5]; int n; 
 do {textcolor (4);
 clrscr (); 
 cout << "1 - Enter, 2 - Vivod, Esc - Quit\n"; 
 switch (getch ()) 

 { 

 case '1': enter (tabl, n); break; 
 case '2':  enterUEkurs(kursUE);
 case '3': print (tabl, n); break;
 case 27 : exit (0); 

 } 
 getch (); 
 } 
 while (1); 
 }


А теперь собственно задание - нужно в эту таблицу встваить вот этот вид базы данных - "Файловая система" (то что дал мне препод):


Код:
#include <fstream.h>
char *frame () {char *S = new char [40]
cout <<"Enter File name:"; cin >> S; return S;} 

 void save (fstream & x, rab y) 
 { 
 f << y.name << ' ' << y.pol << ' ' << y.doxod; 
 } 
 void save (char fn [], rab x [], int n) 
 { 
 int i; 
 fstream f; f.open (fn, ios::out); 
 f << n << ' '; for (i = 0; i < n; i++) 
 save (f, x [i]); 
 f.close ();} 

 void load (fstream & x, rab y) { 
 f >> y.name >> y.pol >> y.doxod} 

 void load (char fn [], rab x [], int & n) 
 {int i; 
 fstream f; f.open (fn, ios::in); 
 f >> n; for (i = 0; i < n; i ++) 
 load (x [i]) 
 } 
case '5': save (fname (), my, k); cout << "SaveOk"; break;
case '6': load (fname (), my, k); print (my, k); break;

Я просто серьёзно не понимаю куда вставлять всё это... и уж тем более не понимаю как оно всё работает (нам не объясняли), так что если ещё и поясните, как всё это работает, то буду ОЧЕНЬ признателен!

Люди, срочно помощь нужна! Просто горю... :(

P.S.: и ещё вопрос (по первой части - таблице) - как можно изменить условия (по курсу долларов) так, чтобы они были применены для частного и передавались потом каждому последующему частному по цепочке??? :blink:
 
?

????

Для: Serafim
Что-то типа
Код:
#include <conio.h>
#include <iostream.h>
#include <stdlib.h>
#include <iomanip.h>
#include <fstream.h>

struct rab
{
char name [45], pol;
int doxod;
};

rab  tabl [5];
double  kursUE = 1;

void enter (rab & x)
{
cout << "Name:";
cin >> x.name;
cout << "Pol:";
cin >> x.pol;
cout << "Doxod" << ":";
cin >> x.doxod;
}

void enterUEkurs (double & x)
{
cout << "KursDollara:";
cin >> x;
}

void print (rab x)
{
cout << setw (20) << x.name << setw (10) << x.pol
 << setw (3)<<' '<< x.doxod << ' ' << (x.doxod / kursUE);
}

void enter (rab y [], int & n)
{
cout << "size:"; cin >> n;
for (int i = 0; i < n; i ++) enter (y [i]);
}

void print (rab y [], int n)
{
 for (int i = 0; i < n; i++)
 {
 print (y [i]); cout << endl;
}
}

char *fname ()
{
char *S = new char [40];
cout << "Enter File name:"; 
cin >> S; 

return S;
}

void save (fstream & f, rab y)
{
f << y.name << ' ' << y.pol << ' ' << y.doxod;
}

void save (char fn [], rab x [], int n)
{
fstream f;

f.open (fn, ios::out);
f << n << ' ';

for (int i = 0; i < n; i++)
save (f, x [i]);

f.close ();
}

void load (fstream & f, rab y)
{
f >> y.name >> y.pol >> y.doxod;
}

void load (char fn [], rab x [], int & n)
{
fstream f;

f.open (fn, ios::in);
f >> n;

for (int i = 0; i < n; i ++)
load (f, x [i]);
}

void main ()
{
rab tabl [5]; int n;
do
{
textcolor (4);
clrscr ();
cout << "1 - Enter, 2 - Kurs, 3 - Vivod, 5 - Save, 6 - Load, Esc - Quit" << endl;

switch (getch ())
{
case '1': enter (tabl, n); break;
case '2': enterUEkurs(kursUE); break;
case '3': print (tabl, n); break;
case '5': save (fname (), tabl, n); cout << "SaveOk"; break;
case '6': load (fname (), tabl, n); print (tabl, n); break;
case 27 : exit (0);
}

getch ();
 }

 while (1);
}
 
G

Guest

Для: ????


Спасибо тебе огромное! :blink:
 
S

Serafim

:blink: А можно как-то изменить прогу, чтобы условия (курс доллара), данные для общего, принадлежали одному частному и по цепочке передавались каждому последующему частному!

Т.е. если на яблоках объяснять, то - у нас есть 3 (ну любое число) яблока с одинаковыми свойствами. Их свойства описаны для всех трёх. Нужно сделать так, чтобы условия были даны первому яблоку, а для остальных яблок эти условия передавались по цепочке. :(
 
Статус
Закрыто для дальнейших ответов.
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!