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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 23.09.2012, 19:50   #1
UneUnefleur
Новичок
Джуниор
 
Регистрация: 23.09.2012
Сообщений: 1
По умолчанию Структуры C++

Помогите пожалуста, все работает, только проблема с одной функцией (является ли билет «счастливым» - void chastliv(bilet F).)

ЗАДАЧА:
Объект – билет

Данные – вид транспорта, стоимость, номер

Действия – Вывод информации о билете,
сравнение с другим билетом, нахождение ответа на вопрос,
является ли билет «счастливым».
Код:

// labaOOP1.cpp: определяет точку входа для консольного приложения.
//

#include "stdafx.h"
#include <stdio.h>
#include <math.h>
#include <string.h>
#include <iostream>
#include <clocale>
using namespace std;

struct bilet // структура , описывающая билет

{	char vid[20] ; // вид траспорта
	float stoimost; // стоимость
	char nomer[6]; // номер

} ;

/*так как функция не инкапсулированная, для вывода информации о фрукте (также как и для любых других действий с ним), 
в нее надо передать соответствующий объект или указатель на него*/

void printfBilet( bilet F )
{ 
	printf ("\n Билет: номер: %s, вид транспорта: %s, стоимость: %.0f ",F. nomer, F.vid,F.stoimost ) 
;}

/*функция сравнивает пару фруктов, принцип сравнения объектов своего варианта выбирайте самостоятельно*/

void compare(bilet F1, bilet F2)
{
float razn = fabs(F1.stoimost-F2.stoimost) ; // разница в стоимосте 
printf ("\n <<< Сравнение двух билетов >>> \n") ;
//сравним стоимость билета
if ( razn ==0 ) printf ("\n Билет имеют одинаковый стоимость\n") ;
else if ( razn < 0.1 ) printf ("\n Билеты имеют незначительную разницу в стоимости\n") ;
else printf ("\n Билеты имеют различную стоимость\n") ;
//сравним вид транспорта
if ( strcmpi ( F1. vid , F2. vid )!=0 )
printf ("\n Билеты принадлежат к разному виду транспорта\n") ;
else printf ("\n Билеты принадлежат к одному виду транспорта\n") ;
}

/*функция */

void  chastliv(bilet F)

{
	
	char nomer[6];
	int s1=0, s2=0;
	for(int i=0;i<6;i++)
	{
		if (i<3) s1+=nomer[i]; 
		else s2-=nomer[i];
		
	}
	printf("\n билет %s \n", F. nomer );
	if (s1==s2) 
		 printf ("\n Билет счастливый \n") ;
	else printf ("\n Билет несчастливый \n") ;
}

int main(int argc, char* argv[])

{ 
	setlocale(LC_CTYPE, "rus");
	bilet f1, f2 ;
	sprintf (f1.nomer, "123456" );
	sprintf(f1.vid," автобус ") ;
	f1.stoimost = 13  ;
	sprintf(f2.nomer, "990639 ");
	sprintf(f2.vid," трамвай ") ;
	f2.stoimost= 11  ;

	printfBilet(f1) ;
	chastliv (f1);
	printfBilet(f2) ;
	
	
	chastliv (f2);
	compare(f1,f2) ;
	return 0;



}

Последний раз редактировалось Stilet; 23.09.2012 в 22:15.
UneUnefleur вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Написание программ (древовидные структуры, структуры неспециального вида и т.д.) Green Gin Фриланс 2 27.04.2012 15:26
Управляющие структуры. Программирование алгоритмов разветвляющейся структуры. Лёнка Компоненты Delphi 1 23.04.2012 15:03
Структуры jUvkeE Помощь студентам 1 16.02.2011 01:19
Структуры Lexoid Общие вопросы C/C++ 4 31.01.2011 01:31
Структуры в СИ ManInBlack Помощь студентам 3 04.04.2009 19:08