Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 24.06.2009, 21:59   #1
solomon123456789
 
Регистрация: 24.06.2009
Сообщений: 6
По умолчанию Не получается ввести данные...

Не получается ввести данные в структуру в формате 31/12/2002. Структура состоит из 3 полей: день, месяц, год.
solomon123456789 вне форума Ответить с цитированием
Старый 24.06.2009, 22:02   #2
vvviperrr
Тупой студент
Форумчанин
 
Аватар для vvviperrr
 
Регистрация: 12.05.2007
Сообщений: 614
По умолчанию

показывай, как вводишь
vvviperrr вне форума Ответить с цитированием
Старый 24.06.2009, 22:07   #3
solomon123456789
 
Регистрация: 24.06.2009
Сообщений: 6
По умолчанию

Это другой код, но приблизительно так:
#include <vcl.h>
#pragma hdrstop
#include <iostream.h>
#include <conio.h>
#pragma argsused

///////////////////////////////////////////////////////
struct employee
{ int nomer_sotrudnika;
float posobie;
};
/////////////////////////////////////////////////////////
int main()
{ employee s1,s2,s3;
cout<<"vedite danie o sotrudnikah i posobii:\n";
cin>>s1.nomer_sotrudnika>>s1.posobi e>>s2.nomer_sotrudnika>>s2.posobie> >s3.nomer_sotrudnika>>s3.posobie;
cout<<"sotrudnik 1: "<<s1.nomer_sotrudnika<<" "<<s1.posobie;
cout<<"sotrudnik 2: "<<s2.nomer_sotrudnika<<" "<<s2.posobie;
cout<<"sotrudnik 3: "<<s3.nomer_sotrudnika<<" "<<s3.posobie;
getch(); return 0;
}
solomon123456789 вне форума Ответить с цитированием
Старый 24.06.2009, 22:07   #4
StudentPolitech
Форумчанин
 
Аватар для StudentPolitech
 
Регистрация: 21.11.2008
Сообщений: 400
По умолчанию

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

struct proga//это структура, типа "студент"
{
int nomer;
int ocenka;
char familia[10];
};

const int N=10;

int main()
{
proga a,b;
fstream f;
f.open("a.bar",ios::binary|ios::out);
int kol=0;//файл, который "дан" создаем и заполняем тут.
for(int i=0; i<N; i++)
{
 kol++;
 cout<<kol<<" "<<"student"<<endl;
 a.nomer=kol;
 cout<<"Vvedite familiy"<<endl;
 cin>>a.familia;
 cout<<"Vvedite ocenky"<<endl;
 cin>>a.ocenka;
 
 f.seekp(i*sizeof(struct proga),ios::beg);
 f.write((char*)&a, sizeof(struct proga));
 }
f.close();

f.open("a.bar",ios::binary|ios::in);//выводим его

cout<<"\n------------------------------\n\n";
for(int i=0;i<N;i++)
{
f.seekg(i*sizeof(struct proga),ios::beg);
f.read((char*)&a, sizeof(struct proga));
cout<<a.nomer<<"\t"<<a.familia<<"\t"<<a.ocenka<<endl;
}
f.close();

getch();
cout<<"\n=====================\n\n";

cout<<endl;
//начинаем сортировку по убыванию

f.open("a.bar", ios::in | ios::out| ios::binary);

int k;
int tmp;
proga c;
for(int i=0; i<N-1; i++)
	{
 f.seekg(i*sizeof(struct proga),ios::beg);
 f.read((char*)&a, sizeof(struct proga)); 
	k = i;
 c = a;
 for(int j=i+1;j<N; j++)
		{  
		 f.seekg(j*sizeof(struct proga),ios::beg);
		 f.read((char*)&b,sizeof(struct proga));
   if(b.ocenka>c.ocenka) 
   {
    k = j;
    c = b;
   }
  }
		if(k!=i)
		 {
    f.seekp(i*sizeof(struct proga),ios::beg);
    f.write((char*)&c,sizeof(struct proga));
    f.seekp(k*sizeof(struct proga),ios::beg);
    f.write((char*)&a,sizeof(struct proga));
   }	
  
	}
f.close();


cout<<"sortirovka okonchena"<<endl;

getch();


f.open("a.bar",ios::binary|ios::in);
for(int i=0;i<N;i++)
{
 f.seekg(i*sizeof(struct proga),ios::beg);
 f.read((char*)&a, sizeof(struct proga));

//cout<<"Nomer "<<a.nomer<<endl;
//cout<<"Familia "<<a.familia<<endl;
//cout<<"Ocenka "<<a.ocenka<<endl;
 cout<<a.nomer<<"\t"<<a.familia<<"\t"<<a.ocenka<<endl;
 }
f.close();

getch();

return 0;
}
Вот что то наподобие, 3 поля но про студентов а потом сортировка по убыванию, рабочая это точно потому что сдавал
Винда, KIS 2010, книжка по С/С++, остальное неважно........
StudentPolitech вне форума Ответить с цитированием
Старый 24.06.2009, 22:14   #5
StudentPolitech
Форумчанин
 
Аватар для StudentPolitech
 
Регистрация: 21.11.2008
Сообщений: 400
По умолчанию

Цитата:
cin>>s1.nomer_sotrudnika>>s1.posobi e>>s2.nomer_sotrudnika>>s2.posobie > >s3.nomer_sotrudnika>>s3.posobie;
Не пробовал отдельно
Винда, KIS 2010, книжка по С/С++, остальное неважно........
StudentPolitech вне форума Ответить с цитированием
Старый 24.06.2009, 22:21   #6
solomon123456789
 
Регистрация: 24.06.2009
Сообщений: 6
По умолчанию

Водит данные в структуру я умею. Структура состоит из 3 полей: день, месяц, год. Меня интересует как вести данные в структуру в формате 31/12/2002.
solomon123456789 вне форума Ответить с цитированием
Старый 24.06.2009, 22:21   #7
ISergeyN
Maniac
Форумчанин
 
Аватар для ISergeyN
 
Регистрация: 03.01.2009
Сообщений: 450
По умолчанию

Цитата:
Код:
cin>>s1.nomer_sotrudnika>>s1.posobi e>>s2.nomer_sotrudnika>>s2.posobie > >s3.nomer_sotrudnika>>s3.posobie;
Пробелы лишние.
Стандартные библиотеки разработаны с учетом многолетнего опыта лучших программистов и они не больны "детскими болезнями крутизны в программизме"....
ISergeyN вне форума Ответить с цитированием
Старый 24.06.2009, 22:29   #8
solomon123456789
 
Регистрация: 24.06.2009
Сообщений: 6
По умолчанию

Что уже читать разучились? Меня интересует как вести данные в структуру в формате 31/12/2002.
solomon123456789 вне форума Ответить с цитированием
Старый 24.06.2009, 23:33   #9
pu4koff
Старожил
 
Аватар для pu4koff
 
Регистрация: 22.05.2007
Сообщений: 9,065
По умолчанию

Считываем строку с клавы, функцией strtok "режем" на куски с разделителем "/", эти куски преобразуем из строки в число посредством функции atoi и "сливаем" эти числа в соответствующие поля структуры.
pu4koff вне форума Ответить с цитированием
Старый 24.06.2009, 23:41   #10
ISergeyN
Maniac
Форумчанин
 
Аватар для ISergeyN
 
Регистрация: 03.01.2009
Сообщений: 450
По умолчанию

Код:
#include <iostream>
#include "boost/date_time/gregorian/gregorian.hpp"
//#pragma comment(lib, "libboost_date_time-vc80-mt-1_38.lib")
int main () {

	std::string str;
	std::cin >> str;

	boost::gregorian::date d(boost::gregorian::from_string(str));

	std::cout << d << '\n'
		<< "month: " << d.month() << '\n'
		<< "year : " << d.year()  << '\n'
		<< "day  : " << d.day()   << '\n';

	return 0;
}
Результат
Цитата:
2009/6/24
2009-Jun-24
month: Jun
year : 2009
day : 24
Press any key to continue . .
.
Стандартные библиотеки разработаны с учетом многолетнего опыта лучших программистов и они не больны "детскими болезнями крутизны в программизме"....
ISergeyN вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Диалог ввести пароль san72 Общие вопросы Delphi 4 06.06.2009 22:36
ввести и вывести текст limiry Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 2 12.05.2009 13:27
Как ввести в Edit интервал? Котакот Общие вопросы Delphi 5 19.04.2009 17:39
Помогите ввести число! abdumanon Microsoft Office Excel 10 04.04.2009 10:04
Можно ли ввести данные в таблицу StringGrid не в процессе выполнения программы а заранее Arassir Помощь студентам 5 02.11.2008 17:34