Модераторы: Poseidon
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Сохранение и загрузка, доработка программы 
:(
    Опции темы
Feanor
Дата 6.6.2005, 11:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 30
Регистрация: 23.4.2005

Репутация: нет
Всего: нет



Ещё раз здравствуйте! У меня есть программа, но её нужно доработать, а конкретнее сделать так, чтобы таблица сохранялось и загружалось, там есть алгоритм ввода и вывода, но чего то не пашет, добавьте пожалуйста то, чего не хватает smile
Огромная просьба: сделать нужно как можно быстрее, тем более, что это пустячок, а иначе скоро будет ещё одна жертва науки smile smile smile

Вот:



Код

#include<conio.h>
#include<iostream.h>
#include<stdlib.h>
#include<iomanip.h>
#include<fstream.h>
struct stud
{
char Name[20],Tel[10];
int Age;
int Sex;
};

char*fname() {char*s=new char[40];
cout<<"Enter FileName:"; cin>>s;return s;}

void save (fstream&x, stud y) { x<<y.Age<<' '<<y.Sex<<' ';}
void save (char fn[], stud 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, stud&y){x>>y.Age>>y.Sex>>y.Tel;}

void load (char fn[], stud x[], int&n)
{int i;fstream f;
f.open (fn, ios::in);
f>>n;
for (i=0; i<n;i++)
load(f,x[i]);
f.close();}

void input (stud&record)
{
cout<<"input Name:";cin>>record.Name;
cout<<"input Age:";cin>>record.Age;
cout<<"input Sex:";
cin>>record.Sex;

//record.Sex=(sex=='m'||sex=='M')?1:0;// это преподу не понравилось и он убрал
cout<<"input Tel:";cin>>record.Tel;
}

void output(stud& record)
{
cout<<record.Name<<'\t';
cout<<record.Age<<'\t';
cout<<record.Sex<<'\t';
cout<<record.Tel<<endl;
}

void output_all(stud records[], int cout)
{
for (int i=0;i<cout;i++)
output(records[i]);
}

void the_tel(stud records[], int count)
{
char new_tel[3];
cout<<"new_tel=";
cin>>new_tel;
int flag=0;
for (int i=0;i<count;i++)
{
flag=1;
for (int j=0;j<3;j++)
if (new_tel[j]!=records[i].Tel[j])
{
flag=0;
break;
}
if(flag)
 output(records[i]);
 }
}

void the_name(stud records[], int count)
{
 char new_bukva;
 cout<<"new_bukva=";
 cin>>new_bukva;

 for(int i=0;i<count; i++)
 {
if(new_bukva==records[i].Name[1])
output(records[i]);
}
}

char menu()
{
char b;
cout<<"1-new record"<<endl;
cout<<"2-show all record"<<endl;
cout<<"3-the_telefon"<<endl;
cout<<"4-the_name"<<endl;
cout<<"5-Exit"<<endl;
cout<<"6-Save"<<endl;
cout<<"7-Load"<<endl;

cout<<"input:";
cin>>b;
return b;
}

int main()
{
stud table[20];
int cur=0;
char key=0;
clrscr();
for(;;)
{
key=menu();
clrscr();
switch (key)
{
case'1':
if (cur<20)
{
input(table[cur]);
cur++;
}
else
cout<<"error:input max record"<<endl;
break;
case'2':
output_all(table, cur);
break;
case'3':
the_tel(table, cur);
break;
case'4':
the_name(table, cur);
break;
case'5':
return 0;
  }
 }
}


Это сообщение отредактировал(а) Feanor - 6.6.2005, 11:11
PM MAIL   Вверх
Feanor
Дата 6.6.2005, 21:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 30
Регистрация: 23.4.2005

Репутация: нет
Всего: нет



Ну же товарищи, помогите пожалуйста, горит, аж жжот smile smile smile
З.Ы. прога выполнена в C++
PM MAIL   Вверх
Feanor
Дата 8.6.2005, 20:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 30
Регистрация: 23.4.2005

Репутация: нет
Всего: нет



Ну же товарищи, помогите пожалуйста smile smile smile
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Центр помощи"

ВНИМАНИЕ! Прежде чем создавать темы, или писать сообщения в данный раздел, ознакомьтесь, пожалуйста, с Правилами форума и конкретно этого раздела.
Несоблюдение правил может повлечь за собой самые строгие меры от закрытия/удаления темы до бана пользователя!


  • Название темы должно отражать её суть! (Не следует добавлять туда слова "помогите", "срочно" и т.п.)
  • При создании темы, первым делом в квадратных скобках укажите область, из которой исходит вопрос (язык, дисциплина, диплом). Пример: [C++].
  • В названии темы не нужно указывать происхождение задачи (например "школьная задача", "задача из учебника" и т.п.), не нужно указывать ее сложность ("простая задача", "легкий вопрос" и т.п.). Все это можно писать в тексте самой задачи.
  • Если Вы ошиблись при вводе названия темы, отправьте письмо любому из модераторов раздела (через личные сообщения или report).
  • Для подсветки кода пользуйтесь тегами [code][/code] (выделяйте код и нажимаете на кнопку "Код"). Не забывайте выбирать при этом соответствующий язык.
  • Помните: один топик - один вопрос!
  • В данном разделе запрещено поднимать темы, т.е. при отсутствии ответов на Ваш вопрос добавлять новые ответы к теме, тем самым поднимая тему на верх списка.
  • Если вы хотите, чтобы вашу проблему решили при помощи определенного алгоритма, то не забудьте описать его!
  • Если вопрос решён, то воспользуйтесь ссылкой "Пометить как решённый", которая находится под кнопками создания темы или специальным флажком при ответе.

Более подробно с правилами данного раздела Вы можете ознакомится в этой теме.

Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Poseidon, Rodman

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Центр помощи | Следующая тема »


 




[ Время генерации скрипта: 0.0489 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.