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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 12.12.2017, 22:43   #1
Lucky_Vadim
Пользователь
 
Регистрация: 12.12.2017
Сообщений: 22
Восклицание Как сделать, чтобы таблица была красивой?(Связанное с %s)

Код:
#include "stdafx.h" 
#include <stdio.h> 
#include <stdlib.h> 
#include <conio.h> 
#include <locale.h> 
#include <string.h> 
#include <Windows.h> 

#define MAX_COUNTRY_ITEMS_CNT	3 
#define MAX_YEAR_ITEM_CNT		2

typedef struct
{
	int year;
	int doctors_cnt;
	int beds_cnt;
}
year_item_t;

typedef struct
{
	char name[16];
	year_item_t year_items[MAX_YEAR_ITEM_CNT];
}
country_item_t;

int main()
{
	setlocale(LC_ALL, "rus");
	SetConsoleCP(1251);
	SetConsoleOutputCP(1251);

	int countries_cnt = 0;
	int years_cnt = 0;
	country_item_t data[MAX_COUNTRY_ITEMS_CNT] = { 0 };

	do
	{
		printf("Введите количество республик:");
		scanf("%d", &countries_cnt);
		if (countries_cnt <= 0 || countries_cnt > MAX_COUNTRY_ITEMS_CNT)
			printf("Ошибка ввода\n");

	} while (countries_cnt <= 0 || countries_cnt > MAX_COUNTRY_ITEMS_CNT);

	do
	{
		printf("Введите количество данных по годам:");
		scanf("%d", &years_cnt);
		if (years_cnt <= 0 || years_cnt > MAX_YEAR_ITEM_CNT)
			printf("Ошибка ввода\n");

	} while (years_cnt <= 0 || years_cnt > MAX_YEAR_ITEM_CNT);

	for (int country_i = 0; country_i < countries_cnt; country_i++)
	{
		fflush(stdin);
		printf("Введите республику:");
		scanf("%s", &data[country_i].name);

		for (int year_i = 0; year_i < years_cnt; year_i++)
		{
			printf("Год:");
			scanf("%d", &data[country_i].year_items[year_i].year);
			printf("Число врачей:");
			scanf("%d", &data[country_i].year_items[year_i].doctors_cnt);
			printf("Число коек:");
			scanf("%d", &data[country_i].year_items[year_i].beds_cnt);
		}
	}

	puts(
		"Исходная таблица данных\n" \
		"+------------+-------------------------+-------------------------+\n" \
		"|            |           1940          |           1960          |\n" \
		"| Республика +------------+------------+------------+------------+\n" \
		"|            |Число врачей| Число коек |Число врачей| Число коек |\n" \
		"+------------+------------+------------+------------+------------+"   \
	);
	for (int country_i = 0; country_i < countries_cnt; country_i++)
	{
		printf("|%s       | %10.2f | %10.2f | %10.2f | %10.2f |\n", 
			 data[country_i].name
			,(float) data[country_i].year_items[0].doctors_cnt / 1000
			,(float) data[country_i].year_items[0].beds_cnt / 1000
			,(float) data[country_i].year_items[1].doctors_cnt / 1000
			,(float) data[country_i].year_items[1].beds_cnt / 1000
		);
		puts("+------------+------------+------------+------------+------------+");
	}
 _getch();
return 0;
}


________
Код нужно оформлять по правилам:
тегом [CODE]..[/СODE]
(это кнопочка на панели форматирования с решёточкой #)
Не забывайте об этом!

Модератор.
Изображения
Тип файла: jpg Таблица.jpg (65.1 Кб, 144 просмотров)

Последний раз редактировалось Serge_Bliznykov; 12.12.2017 в 22:58.
Lucky_Vadim вне форума Ответить с цитированием
Старый 13.12.2017, 00:27   #2
Lucky_Vadim
Пользователь
 
Регистрация: 12.12.2017
Сообщений: 22
По умолчанию

Ну шо ,хлопцы,я нашёл ответ!
printf("|%12.7s| %10.2f | %10.2f | %10.2f | %10.2f |\n", ......
Lucky_Vadim вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как сделать так чтобы матрица была пустая? schoolboy99 Помощь студентам 6 19.03.2016 21:06
Как сделать, чтобы в dbgrid всегда была прокрутка? leklerk Общие вопросы Delphi 7 23.04.2012 06:11
Как сделать чтобы после IntToStr-DayOfTheMonth дата была с 0 вида 01.01.01 ? delphicoding Общие вопросы Delphi 8 29.03.2012 11:36
Как сделать, чтобы надпись была наверху? Яр|/||< (^_^) HTML и CSS 0 23.01.2011 17:05
Как сделать чтобы форма была над трэем Bigtyoma Общие вопросы Delphi 2 24.09.2008 17:40