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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 27.12.2015, 23:03   #1
DaffyDuck
 
Аватар для DaffyDuck
 
Регистрация: 20.12.2015
Сообщений: 7
По умолчанию Структуры.

Как исправить вывод дат?
Нужно чтобы строка: "дата рождения:", не выводила как на рисунке, а в одну графу (для каждого свою)
Например,
дата рождения: 15 08 1991
Код:
#include <conio.h>
#include <locale>
#include <stdio.h>
#include <string>
#include<iostream>

using namespace std;

int main(int a)
{
	int i, j, n, b, d, flag; char isk[10]; char dan[10];
	setlocale(LC_ALL, "Russian");
	n = 8;
	struct ZNAK
	{//определение структурного типа ZNAK
		char f[10];//Фамилия
		char name[8];//Имя
		char znak[9];//Знак
		int x[3];//День, Месяц, Год

	} array[6];
	flag = 0;
	for (i = 0; i<n; i++)
	{
		cout << "Введите фамилию: ";
		cin >> array[i].f;
		cout << "Введите имя: ";
		cin >> array[i].name;
		cout << "Введите знак зодиака: ";
		cin >> array[i].znak;
		cout << "Введите дату рождения в цифровом формате: ";

		for (j = 0; j<3; j++)
			cin >> (array[i].x[j]);
		cout << "\n";
	}
	for (d = 0; d<n - 1; d++)
		for (i = 0; i<n - 1 - d; i++) {
			if (array[i].x[2] > array[i + 1].x[2])
			{
				array[5] = array[i];
				array[i] = array[i + 1];
				array[i + 1] = array[5];
			}
			if (array[i].x[2] == array[i + 1].x[2]) {
				if (array[i].x[1] > array[i + 1].x[1]) {
					array[5] = array[i];
					array[i] = array[i + 1];
					array[i + 1] = array[5];
				}
				if (array[i].x[1] == array[i + 1].x[1])
					if (array[i].x[0] > array[i + 1].x[0]) {
						array[5] = array[i];
						array[i] = array[i + 1];
						array[i + 1] = array[5];
					}

			}
		}
	for (i = 0; i<n; i++) {
		cout << "\n Фамилия: " << array[i].f;
		cout << "\n Имя: " << array[i].name;
		cout << "\n Знак зодиака: " << array[i].znak;
		for (j = 0; j<3; j++)
			cout << "Дата рождения: " << array[i].x[j] << "\t"<<endl;

	
	}
	cout << "Введите фамилию искомого человека: "<<endl;
	cin >> isk;
	cout << "\n\nИмеющаяся информация:"<<endl;

	for (i = 0; i<n; i++)
	{
		if (strcmp(array[i].f, isk) == 0) {
			cout << "\nФамилия: " << array[i].f<<endl;
			cout << "\nИмя: " << array[i].name<<endl;
			cout << "\nЗнак зодиака: " << array[i].znak<<endl;
			flag = 1;
			for (j = 0; j<3; j++)
				cout << "Дата рождения: " << array[i].x[j] << "\t"<<endl;
			
		}
	}
	if (flag == 0) cout << "Искомый человек не найден";
	system("pause");
	return 0;
}
Изображения
Тип файла: jpg sadsa.jpg (39.2 Кб, 141 просмотров)
DaffyDuck вне форума Ответить с цитированием
Старый 28.12.2015, 09:50   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Код:
cout << "Дата рождения: "
 <<array[i].x[0] << "."
 <<array[i].x[1] << "."
 <<array[i].x[2]
<<endl;
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Передача структуры из программы на c# в dll на c++ и получение структуры из dll iukash Общие вопросы .NET 0 07.05.2013 16:03
Динамические структуры данных, списковые структуры (надо разобраться что делает программа) _4Alex4_ Помощь студентам 1 14.11.2012 07:39
Написание программ (древовидные структуры, структуры неспециального вида и т.д.) Green Gin Фриланс 2 27.04.2012 15:26
Управляющие структуры. Программирование алгоритмов разветвляющейся структуры. Лёнка Компоненты Delphi 1 23.04.2012 15:03
Структуры в Си (=Hello=) Общие вопросы C/C++ 0 13.11.2011 13:24