IPB
ЛогинПароль:

> Внимание!

1. Пользуйтесь тегами кода. - [code] ... [/code]
2. Точно указывайте язык, название и версию компилятора (интерпретатора).
3. Название темы должно быть информативным. В описании темы указываем язык!!!

 
 Ответить  Открыть новую тему 
> Файлы, С++
Desktop 3
сообщение 26.10.2006 13:02
Сообщение #1


Desktop
*

Группа: Пользователи
Сообщений: 23
Пол: Мужской

Репутация: -  0  +


Создать файл. Записать в него поля:
Фамилия, знак зодиака, дата рождения.


#include<fstream.h>
#include<conio.h>
#include<stdlib.h>
#include<string.h>
#include<stdio.h>   
#define FNAME "c:\\zn.txt\0"

  void main()
   {
   char fname[20]=FNAME;
   char fam[15];
   char zna[15];
   char dat[15];
   int i;
   FILE *out;

   clrscr();
   if ((out = fopen(fname,"wt"))==NULL)
   cout<<"ERROR";

  cout<<"Vvesti dani pro cheloveka"<<endl;

  for(i=0;i<3;i++)
  {
  cout<<"Familiya"<<endl;
  cin>>fam;
  cout<<"Znak zodiaka"<<endl;
  cin>>zna;
  cout<<"Data rozhdeniya"<<endl;
  cin>>dat;

  cout<<fam<<endl;
  cout<<zna<<endl;
  cout<<dat<<endl;
  }
  fclose(out);

  cout<<"Danie zapisani v file "<<fname<<endl;
  getch();
  }




Файл создается, но ифнормация в него не записывается. Почему ?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
klem4
сообщение 26.10.2006 15:24
Сообщение #2


Perl. Just code it!
******

Группа: Модераторы
Сообщений: 4 100
Пол: Мужской
Реальное имя: Андрей

Репутация: -  44  +


cin >> fam;
fputs(fam, out);


Какая-то мутная у тебя программа, тебе надо на Си или на Си++ ?


--------------------
perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Desktop 3
сообщение 26.10.2006 15:27
Сообщение #3


Desktop
*

Группа: Пользователи
Сообщений: 23
Пол: Мужской

Репутация: -  0  +


...

Сообщение отредактировано: Desktop 3 - 26.10.2006 18:13
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
volvo
сообщение 26.10.2006 19:28
Сообщение #4


Гость






Нужен С++, так пиши на C++, а не на смеси непонятно чего...

#include <stdlib.h>

#include <iostream.h>
#include <fstream.h>

struct T {
  friend ostream& operator << (ostream&, const T&);

  char family[15];
  char zodiak[15];
  char birth[15];
};

ostream& operator << (ostream &os, const T &data) {
  os << data.family << endl << data.zodiak << endl << data.birth << endl;
  return os;
}

int main() {

  const char fname[20] = "zn.txt";

  ofstream out(fname, ios::out);
  if(!out) {
    cerr << "cannot open file " << fname << endl;
    exit(-1);
  }

  cout << "Vvesti dani pro cheloveka" << endl;
  for(int i = 0; i < 3; i++) {

    T data;
    cout << "Familiya: "; cin >> data.family;
    cout << "Znak zodiaka: "; cin >> data.zodiak;
    cout << "Data rozhdeniya: "; cin >> data.birth;

    cout << data;

    out << data;
  }
  out.close();

  cout << "Danie zapisani v file " << fname << endl;
  return 0;
}
 К началу страницы 
+ Ответить 
Desktop 3
сообщение 26.10.2006 22:20
Сообщение #5


Desktop
*

Группа: Пользователи
Сообщений: 23
Пол: Мужской

Репутация: -  0  +


Большое спасибо за программу!
А можно её по проще как небуть сделать, без структуры ?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
volvo
сообщение 26.10.2006 23:36
Сообщение #6


Гость






Попроще у тебя уже было... Как оно работало, ты сам видел...
 К началу страницы 
+ Ответить 
Michael_Rybak
сообщение 27.10.2006 10:19
Сообщение #7


Michael_Rybak
*****

Группа: Модераторы
Сообщений: 1 046
Пол: Мужской
Реальное имя: Michael_Rybak

Репутация: -  32  +


Цитата(Desktop 3 @ 26.10.2006 22:20) *

А можно её по проще как небуть сделать, без структуры ?



#include <conio.h>
#define FNAME "c:\\zn.txt\0"
#include <fstream>
#include <iostream>

using namespace std;

  int main()
   {
     {
     ofstream fout(FNAME);
     char fam[15];
     char zna[15];
     char dat[15];
     int i;

     cout<<"Vvesti dani pro cheloveka"<<endl;

     for(i=0;i<3;i++)
     {
     cout<<"Familiya"<<endl;
     cin>>fam;
     cout<<"Znak zodiaka"<<endl;
     cin>>zna;
     cout<<"Data rozhdeniya"<<endl;
     cin>>dat;
 
     fout<<fam<<endl;
     fout<<zna<<endl;
     fout<<dat<<endl;
     }
     }
 
   cout<<"Danie zapisani v file "<<FNAME<<endl;
   getch();
  }
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Desktop 3
сообщение 27.10.2006 10:30
Сообщение #8


Desktop
*

Группа: Пользователи
Сообщений: 23
Пол: Мужской

Репутация: -  0  +


Michael_Rybak, спасибо.
а что такое fout ?

Сообщение отредактировано: Desktop 3 - 27.10.2006 16:32
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Michael_Rybak
сообщение 27.10.2006 11:25
Сообщение #9


Michael_Rybak
*****

Группа: Модераторы
Сообщений: 1 046
Пол: Мужской
Реальное имя: Michael_Rybak

Репутация: -  32  +


fout - это я объявил такую переменную типа ofstream, которой сразу поставил в соответствие файл FNAME (вместо fout можно было назвать как угодно):

[cpp]ofstream fout(FNAME);[/cpp]

И теперь с ней можно работать точно также, как с cout, а писать она будет в файл. Таких переменных можно создать много, и работать с множеством файлов одновременно.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
volvo
сообщение 27.10.2006 12:00
Сообщение #10


Гость






И вот ЭТО люди называют С++ ??? wacko.gif
 К началу страницы 
+ Ответить 
Desktop 3
сообщение 27.10.2006 12:16
Сообщение #11


Desktop
*

Группа: Пользователи
Сообщений: 23
Пол: Мужской

Репутация: -  0  +


...

Сообщение отредактировано: Desktop 3 - 27.10.2006 12:54
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Michael_Rybak
сообщение 27.10.2006 13:21
Сообщение #12


Michael_Rybak
*****

Группа: Модераторы
Сообщений: 1 046
Пол: Мужской
Реальное имя: Michael_Rybak

Репутация: -  32  +


Цитата(volvo @ 27.10.2006 12:00) *

И вот ЭТО люди называют С++ ??? wacko.gif


А ЧТО, собственно, люди, по-твоему, должны называть С++? Вообще не понимаю, о чем ты. О перегрузке оператора << ?

Сообщение отредактировано: Michael_Rybak - 27.10.2006 13:21
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

- Текстовая версия 28.07.2025 20:55
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"