Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Центр помощи > Помогите с прогой! (С++)


Автор: Serafim 1.6.2005, 19:41
Народ, срочно нужна ваша помощь! Задание для вас, я думаю будет минут на 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;


Буду очень признателен, если будут объяснения! smile

Автор: gepard 2.6.2005, 05:17
Ты думаешь с этим будут разбираться? Опиши программы и что они делают.

Автор: Serafim 2.6.2005, 19:05
gepard

То, что у меня есть - это таблица, выводящая имя человека, его пол и доход. В неё нужно вставить то, что ниже - это сохранение и зангрузка того списка, что мы составим в таблице. Так вот я незнаю, как вставить это дело, чтобы моя прога работала корректно. Плюс мне ещё нужно объяснить, как всё это работает. Помощь реальна? smile

Автор: En_t_end 2.6.2005, 20:23
ОФФТОП
Конечно smile
Я думаю прежде всего надо обьяснить преподу, что то что он задал - это называется самый старый и оффигительно глюковатый вид Базы Данных, точнее её название звучит так: "Файловая Система". Рассказать про то какие глюки бывают в работе таких систем, чем они плохи, короче в таком духе. Потом завести разговор про СУБД. И сказать, вынимая из "полы" проект, что даже на Аксесс->ODBC->С++ выглядит это гораздо элегантнее.
Скажи ему, что он распространитель старых глюкогенерирующих вещей, точнее способствует их распространению, скажи, что по нему плачет Кодд.
Только я не могу гарантировать, что ты доживешь до следующей сессии, зато красиво и эффектно уйдешь smile

Автор: Serafim 2.6.2005, 21:36
En_t_end

Спасибо тебе конечно, но всё же мне бы хотелось разобраться в Файловой системе, а не вылелететь из инста.
Лучше подсоби - ты ведь, как я вижу в этом деле неплохо разбираешься?! Всего - то вставить это дело в мою табличку и объяснить мне неразумному, как это работает! Плиззз! Ведь охота высшее образование получить... smile

Автор: Амортизатор 2.6.2005, 22:57
И чего некоторые так беспокоятся? У меня в понедельник защита диплома, а он у меня не написан и наполовину. По твоему, Serafim, мне следовало бы уже повесится?

Автор: Serafim 3.6.2005, 13:20
Амортизатор

По моему было бы гораздо лучше, если бы мне помогли с прогой!

P.S.: я из тех людей, кто считает, что стакан на половину полон! smile

Автор: Eugene82 3.6.2005, 17:02
Что-то мой билдер ругается на большое количество ошибок ...в используемых библиотеках.

Автор: Serafim 3.6.2005, 23:33
Eugene82

Возможно наш препод немного ошибся в записях или забыл что-то дописать... ПОМОГИТЕ! блин, мне нужно сдать эту прогу.... smile

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

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


Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)