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

Структуры - C++

Восстановить пароль Регистрация
 
FlagmanS
1 / 1 / 0
Регистрация: 22.12.2010
Сообщений: 13
03.01.2011, 16:37     Структуры #1
Была структура
1)Название Танка
2)Год выпуска
3)Калибр
4)Скорость
Вывести на экран с годом выпуска 1940-1950, с калибром больше 50

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
#include <iostream.h>
#include <conio.h>
#include <string.h>
 
const n=3;
void main()
{
clrscr();
struct tank
{
char name[100];
int gd, kl, sk;
};
 
tank x[n];
 
for (int i=1; i<=n; i++)
{
cout<<"=========="<<i<<"==========="<<endl;
cout<<"Nazvanie "<<i<<" Tanka: ";
cin>>x[i].name;
cout<<"God "<<i<<" Vipuska: ";
cin>>x[i].gd;
cout<<"Kalibr: ";
cin>>x[i].kl;
cout<<"Speed:";
cin>>x[i].sk;
 
}
cout<<endl;
for (i=1; i<=n; i++)
if ((x[i].gd<=1950 && x[i].gd>=1940 )&& (x[i].kl>=50))
{
cout<<x[i].name<<" Tanki c 1940-1950 : "<<x[i].gd<<" Kalibr 
 
bolshe 50 mm.: "<<x[i].kl<<endl;
}
getch();
}
На ее примере чуть переделал
Даны три поля
1)Название фигуры
2)На сколько клеток двигается
3)0-пешка, 1-фигура
Вывести все фигуры которые ходят до 4-ех клеток

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
#include <iostream.h>
#include <conio.h>
#include <string.h>
 
const n=3;
void main()
{
clrscr();
struct shax
{
char name[100];
int gd, kl;
};
 
shax x[n];
 
for (int i=1; i<=n; i++)
{
cout<<"=========="<<i<<"==========="<<endl;
cout<<"Nazvanie "<<i<<" Figury: ";
cin>>x[i].name;
cout<<"Kol-vo "<<i<<" xodov: ";
cin>>x[i].gd;
cout<<"peshka 0, ili Figura 1: ";
cin>>x[i].kl;
 
}
cout<<endl;
for (i=1; i<=n; i++)
if ((x[i].gd<=4 && x[i].gd>=1 )&& (x[i].kl>=4))
{
cout<<x[i].name<<" Figury : "<<x[i].gd<<" s kol-vom xodov do 4-ex.: 
 
"<<x[i].kl<<endl;
}
getch();
}
Чтото пропустил/не учел во второй, что после ввода троих пунктов нифига не выдает.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.01.2011, 16:37     Структуры
Посмотрите здесь:

Структуры. Работа с файлами, содержащими структуры C++
Исследование структуры FILE или: что вообще можно выудить из этой структуры, указатель на которую мы получаем при открытии файла? C++
Структуры. Вызов данных структуры по указателю. с++ C++
Отличаи класса С++ от структуры на С и структуры на С++ C++
C++ Понятие структуры данных. Элементарные структуры данных. Простые структуры данных
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
panicwassano
590 / 558 / 20
Регистрация: 07.11.2010
Сообщений: 2,004
03.01.2011, 16:42     Структуры #2
вы вообще читаете что компилятор вам выдает?
C++
1
for (i=1; i<=n; i++)
переменная i не объявлена и индекс массива начинается с 0
FlagmanS
1 / 1 / 0
Регистрация: 22.12.2010
Сообщений: 13
03.01.2011, 17:04  [ТС]     Структуры #3
Цитата Сообщение от panicwassano Посмотреть сообщение
вы вообще читаете что компилятор вам выдает?
C++
1
for (i=1; i<=n; i++)
переменная i не объявлена и индекс массива начинается с 0
В том то и дело что компиляция проходит, программа запускается все нормально вводится, но в конце она нничего не выводит
Минич
 Аватар для Минич
66 / 66 / 3
Регистрация: 26.11.2010
Сообщений: 123
03.01.2011, 17:28     Структуры #4
Цитата Сообщение от FlagmanS Посмотреть сообщение
(x[i].kl>=4)
вот это вам мешает на 30 строчке, потому что вы вводите 0 или 1. Но все равно вывод будет не желанным, пересмотрите свои индексы везде, массивы индексируются с 0

Добавлено через 5 минут
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
#include <iostream>
#include <conio.h>
#include <string>
 
using namespace std;
 
const int n = 3;
 
void main()
{
    struct shax {
        char name[100];
        int gd, kl;
    } x[n];
    
    for (int i = 0; i < n; i++) {
        cout << "==========" << i+1 << "===========" << endl;
        cout << "Nazvanie " << i+1 << " Figury: ";
        cin >> x[i].name;
        cout << "Kol-vo " << i+1 << " xodov: ";
        cin >> x[i].gd;
        cout << "peshka 0, ili Figura 1: ";
        cin >> x[i].kl;
    }
    cout << endl;
    for (int i = 0; i < n; i++)
        if (x[i].gd <= 4) {
            cout << x[i].name << " Figury : " << x[i].gd
                 << " s kol-vom xodov do 4-ex.: " << x[i].kl <<endl;
        }
    getch();
}
panicwassano
590 / 558 / 20
Регистрация: 07.11.2010
Сообщений: 2,004
03.01.2011, 17:30     Структуры #5
C++
1
if ((x[i].gd<=4 && x[i].gd>=1 )&& (x[i].kl>=4))
30ую строчку внимательно прочтите и подумайте почему не выводит
такое условие никогда не выполнится, поэтому программа не печатает
Yandex
Объявления
03.01.2011, 17:30     Структуры
Ответ Создать тему
Опции темы

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