Форум программистов, компьютерный форум CyberForum.ru

Составить программу, в которой будут вводиться 7 - 10 строк таблицы по структуре данных - C++

Восстановить пароль Регистрация
 
alexcherep
0 / 0 / 0
Регистрация: 05.12.2011
Сообщений: 24
27.02.2012, 11:38     Составить программу, в которой будут вводиться 7 - 10 строк таблицы по структуре данных #1
Составить программу, в которой будут вводиться 7 - 10 строк таблицы по структуре данных

Буддийские монастыри Японии периода Нара ( Название,Школа,Количество монахов,Площадь земель(га) )

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
#include <stdio.h>
#include <string.h>
#include <iostream>
 
/* Описание структуры, которая представляет монастырь */
struct mon {
  char name[15]; /* название */
  char sc;       /* школа */
  int cnt;       /* количество монахов */
  float sq;      /* площадь */
  } mm[3]; /* определение массива монастирей */
 
int main(void) {
    setlocale(LC_ALL,"Russian");
 struct mmm; /* рабочая переменная */
 int n;    /* количество элементов в массиве */
 int i, j; /* текущие индексы в массиве */
 int m;    /* индекс минимального элемента */
 float sqx;/* рабочая переменная */
 
  /* Ввод данных */
  for (n=0; n<3; n++){
    printf("%d. Введите: название, школу, количество, площадь >",  n+1);
    scanf("%s",&mm[n].name);
    if (!strcmp(mm[n].name,"***")) break;
    scanf("%s",&mm[n].sc);
    scanf("%d",&mm[n].cnt);
    /* Внимание! Мы обходим ошибку в системе программирования */
    scanf("%f",&sqx); mm[n].sq=sqx;
    }
 
  /* Вывод таблицы */
  printf("---------------------------------------------\n");
  printf("|Буддийське монастыри Японии периода Нара    |\n");
  printf("|--------------------------------------------|\n");
  printf("| Название  | Школа |Количество|   Площадь   |\n");
  printf("|           |       |  монахов | земель(га)  |\n");
  printf("|-----------|-------|----------|-------------|\n");
  /* вывод строк фактических данных */
  for (i=0; i<n; i++)
    printf("| %9s |   %c   |       %3d | %-5.1f       |\n",
      mm[i].name,mm[i].sc,mm[i].cnt,mm[i].sq);
  printf("---------------------------------------------\n");
  /* сортировка массива */
  for (i=0; i<n-1; i++) {
    m=i; /* минимальный элемент - первый */
    for (j=i+1; j<n; j++)
      /* если текущий элемент > минимального, 
         он становится минимальным */
      if (strcmp(mm[m].name,mm[j].name)>0) m=j;
    if (m>i) {
      /* перестановка первого и минимального элементов */
      strcpy(mm[n].name,mm[i].name); mm[n].sc=mm[i].sc;
      mm[n].cnt=mm[i].cnt; mm[i].sq=mm[i].sq;
      strcpy(mm[i].name,mm[m].name); mm[i].sc=mm[m].sc;
      mm[i].cnt=mm[m].cnt; mm[i].sq=mm[m].sq;
      strcpy(mm[m].name,mm[i].name); mm[m].sc=mm[i].sc;
      mm[m].cnt=mm[i].cnt; mm[m].sq=mm[i].sq;
      }
    }
  /* Вывод таблицы */
  printf("---------------------------------------------\n");
  printf("|Буддийське монастыри Японии                 |\n");
  printf("|--------------------------------------------|\n");
  printf("| Название  | Школа |Количество|   Площадь   |\n");
  printf("|           |       |  монахов | земель(га)  |\n");
  printf("|-----------|-------|----------|-------------|\n");
   for (i=0; i<n; i++)
    printf("| %9s |   %c   |       %3d | %-5.1f       |\n",
      mm[i].name,mm[i].sc,mm[i].cnt,mm[i].sq);
  printf("---------------------------------------------\n");
  system("pause");
  }
вот мой код но, почему то вот такакя таблица получается в по тем данным что я ввел в чем проблема ?
[IMG]http://s59.***********/i164/1202/4e/fe544b4ab133.jpg[/IMG]
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.02.2012, 11:38     Составить программу, в которой будут вводиться 7 - 10 строк таблицы по структуре данных
Посмотрите здесь:

C++ Составить программу, в которой определяется строка, сумма элементов которой наибольшая
C++ C++ Составить программу, в которой описывается структура из полей
Написать программу, в которой будут объявлены структуры Points и Line C++
C++ Составить программу для вычисления значений функции F(x) на отрезке [A,B] с шагом Н.Результат представить ввиде таблицы, первый столбец которой—з
Как создать матрицу,в которую будут вводиться буквы? C++
C++ Составить программу, в которой найти и вывести число полных сантиметров
C++ Написать программу в которой элементы і-го і j-го строк меняются местами
Составить программу , в которой создается одномерний динамический массив C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

Текущее время: 13:28. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru