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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 31.03.2012, 14:31   #1
Hqw33
 
Регистрация: 25.03.2012
Сообщений: 5
По умолчанию Структуры, работа с дробями.

Пишу в Microsoft Visual Studio ->Win32 Console application ->C++.
Помогите пожалуйста "написать" структуру:
Создайте структуру, описывающую простую дробь. Добавьте в неё метод сокращения дроби, если ее числитель и знаменатель не являются взаимно простыми числами. Затем создайте структуру, состоящую из двух дробей и методов сложения, вычитания и произведения этих дробей.
Hqw33 вне форума Ответить с цитированием
Старый 31.03.2012, 15:00   #2
zvoronz
Пользователь
 
Регистрация: 03.01.2011
Сообщений: 49
По умолчанию

Так, а сам чего? Пиши давай. Мы потом поможем разобраться где лажа, а где покатит.
zvoronz вне форума Ответить с цитированием
Старый 01.04.2012, 06:38   #3
_Bers
Старожил
 
Регистрация: 16.12.2011
Сообщений: 2,329
По умолчанию

http://www.programmersforum.ru/showthread.php?t=34061
_Bers вне форума Ответить с цитированием
Старый 05.04.2012, 21:42   #4
rmv240899
Форумчанин
 
Регистрация: 18.02.2012
Сообщений: 155
По умолчанию

Добавлять в структуру метод!? Для таких целей используется класс, но никак не структура.
rmv240899 вне форума Ответить с цитированием
Старый 05.04.2012, 22:02   #5
_Bers
Старожил
 
Регистрация: 16.12.2011
Сообщений: 2,329
По умолчанию

Цитата:
Сообщение от rmv240899 Посмотреть сообщение
Добавлять в структуру метод!? Для таких целей используется класс, но никак не структура.
Что мешает добавить метод в структуру?
_Bers вне форума Ответить с цитированием
Старый 06.04.2012, 13:50   #6
Гром
Старожил
 
Аватар для Гром
 
Регистрация: 21.03.2009
Сообщений: 2,193
По умолчанию

rmv240899, в отличие от того же паскаля или его наследника Delphi, в C++ класс почти полностью аналогичен структуре (только в Си классов нет совсем).
Следующие две записи абсолютно эквивалентны:
Код:
struct X
{
//...
};

class Y
{
public:
//...
};
Простые и красивые программы - коды программ + учебник C++
Создание игры - взгляд изнутри - сайт проекта
Тема на форуме, посвященная ему же
Гром вне форума Ответить с цитированием
Старый 13.04.2012, 18:00   #7
Dregatar
Пользователь
 
Регистрация: 02.04.2012
Сообщений: 11
По умолчанию

Надеюсь в ту тему пишу, если что извините...
Вопрос в том: как вывести из вложеной структуры елемент масива, (вроде что-то выводитно бред полный)...
Подкореутируйте плиз или подскажите правельный оперетор, програма недописана
Код:
# include <iostream.h>
# include <stdlib.h>
# include <conio.h>
using namespace std;
struct struktura
{
	struct personalne{
		char prizv[20];
		char batko[20];
		char imya[20];
		struct datanarodj {
			int rik;
			int mis;
			int den;
		}datanarodj;
		char nacion[20];
	}personalne;
	struct contacty {
		struct adresa {
			char oblast[20];
			char misto[20];
			char vulycia[20];
			int bud;
			int kvart;
		}adresa;
		struct telefon{
		     long int mobilnyi;
             long int domashniy;
		}telefon;
	}contacty;
	struct navchalne {
		int grupa;
		char status[20];
		double serbal;
		char formanavch[20];
		struct proguly{
			int bezprych;
			int zprychynamy;
		}proguly;
		int kilborg;
	}navchalne;
};
int i=1;
void Vvod()
{
	    struktura dani[i];
		cout << "\t *** Zapus v bazu dannyh # " << i << " ***\t\n";
		cout << "1. Vvedit imya studenta: \n";
		cin.get();
		cin.getline(dani[i].personalne.imya,20);
		cout << "2. VVedit prizvyshce: \n";
		cin.get();
		cin.getline(dani[i].personalne.prizv,20);
		cout << "3. Vvedit po-batkovi studenta : \n";
		cin.get();
		cin.getline(dani[i].personalne.batko,20);
		cout << "4. Vvedit datu narodjennia: \n";
		cout << "4.1 Den: ";
		cin.get();
		cin >> dani[i].personalne.datanarodj.den;
		cout << "\n4.2 Misyac: ";
		cin.get();
		cin >> dani[i].personalne.datanarodj.mis;
		cout << "\n4.3 Rik:";
		cin.get();
		cin >> dani[i].personalne.datanarodj.rik;
		cout << "\n5. Vvedit nacionalnist: ";
		cin.get();
		cin.getline(dani[i].personalne.nacion,20);
		cout << "\n6. Vvedit oblast: ";
		cin.get();
		cin.getline(dani[i].contacty.adresa.oblast,20);
		cout << "\n7. Vvedit misto: ";
		cin.get();
		cin.getline(dani[i].contacty.adresa.misto,20);
		cout << "\n8. Vvedit vulyciu: ";
		cin.get();
		cin.getline(dani[i].contacty.adresa.vulycia,20);
		cout << "\n9. Vvedit budynok: ";
		cin.get();
		cin >> dani[i].contacty.adresa.bud;
		cout << "\n10. Vvedit nomer kvartyry: ";
		cin.get();
		cin >> dani[i].contacty.adresa.kvart;
		cout << "\n11. Vvedit nomer mobilnogo: ";
		cin.get();
		cin >> dani[i].contacty.telefon.mobilnyi;
		cout << "\nVvedit nomer domashniy: ";
		cin.get();
		cin >> dani[i].contacty.telefon.domashniy;
		cout << "\n12. Vvedit nomer grupy: ";
		cin.get();
		cin >>dani[i].navchalne.grupa;
		cout << "\n13. Vvedit status v grupi grupy: ";
		cin.get();
		cin.getline(dani[i].navchalne.status,20);
		cout << "\n14. Vvedit seredniy bal: ";
		cin.get();							
		cin >> dani[i].navchalne.serbal;
		cout << "\n15. Vvedit formu navchannya: ";
		cin.get();
		cin.getline(dani[i].navchalne.formanavch,20);
		cout << "\n16.1 Vvedit proguly: ";
		cout << "\n16.2 Bez prychyny: ";
		cin.get();
		cin >> dani[i].navchalne.proguly.bezprych;
		cout << "\nZ 16.3 prychynou: ";
		cin.get();
		cin >> dani[i].navchalne.proguly.zprychynamy;
		cout << "\n17 Vvedit kilkist borgiv: ";
		cin.get();
		cin >> dani[i].navchalne.kilborg;
}
int main()
{
	int ans1,nom,ans3,b=1,j,k;
	char ans2,ans;
	char pb[20];
	char pr[20];
	char im[20];
	struktura dani[i];
	MENU:
	do
	{
		cout << " Menu: \t| 1.Stvorennya novoi bazy\n";
		cout << "\t| 2.Robota z gotovou bazou\n";
		cout << "\t| 3.Vyhid\n";
		cout << "Vidpovid: ";
		cin >> ans1;
		system("cls");
	}
	while (ans1!=1&&ans1!=2&&ans1!=3);
	if (ans1==1) 
	{
		Vvod();
		do 
		{
		cout << "\nZapovnyty sche odnu anketu?";
		cin >> ans;
		}

		while (ans!='y'&&ans!='n');
		if (ans=='y')
		{
			i++;
			Vvod();
			goto L;
		}
		if (ans=='n')
		{
			cout << "Menu 'robota z bazamu' : ";
			cout << "Vvedit nomer zapysu:  ";
		cin >> nom;
	cout<<dani[nom].personalne.imya;

	}
	 }
	 L:cout<<"\nMenu 2:\t| 1.Vudalennya zapusu pro studenta\n\t| 2.Doodanya do bazu \n\t| 3.redaguvanya \n\t| 4.vuvid bazu\n";
	 cout<<"\t| 5.zberejenya bazu \n\t| 6.zavdanya mogo variantu\n";
	 cin>>ans3;
	 if(ans3==1)
	 {
 	cout<<"Vvedit` imya : "; 
 	cin>>im;
	cout<<"studenta prizvushe : "; 
	cin>>pr;
	cout<<"po bat`kovi : ";
	cin>>pb;
	for(b;b<=i;b++){
		 if (im!=dani[b].personalne.imya&&pr!=dani[b].personalne.prizv&&pb!=dani[b].personalne.batko)
	 	{
	 	for(int k=1;k<=20;k++)	
    dani[i].personalne.imya[b]= ' ';
    dani[i].personalne.prizv[b]=' ';
    dani[i].personalne.batko[b]=' ';
    
   	cout<<dani[i].contacty.telefon.domashniy;
   	cout<<dani[i].personalne.imya;
   	cout<<dani[i].personalne.batko;
	cout<<dani[i].contacty.adresa.misto;
  	
    goto L;
	 	}
 	 }
 	}
 	if(ans3==2){
 		i++;
	 	Vvod();
	 	goto L;
	 }
	 if(ans3==3){
	cout<<"Vvedit` imya :"; 
 	cin>>im;
	cout<<"studenta prizvushe : "; 
	cin>>pr;
	i++;
	Vvod();
	goto L;
 	}
	cin.get();
	return 0;
}
Dregatar вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Олимпиада - арифметические операции с простыми дробями .. Goian Помощь студентам 1 30.10.2011 20:37
Олимпиада - арифметические операции с простыми дробями ... Goian Помощь студентам 10 26.10.2011 15:38
Задача с дробями С++ Kerragin Помощь студентам 4 31.05.2011 20:41
Действия с простыми дробями Oda33 Помощь студентам 1 11.04.2011 19:03
выполнения арифметических действий над обыкновенными дробями jenja Общие вопросы C/C++ 1 24.10.2008 10:35