Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/4: Рейтинг темы: голосов - 4, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 08.11.2010
Сообщений: 17
1

Вывести на консоль информацию, хранящуюся в массиве структур, заданным образом

09.04.2011, 20:25. Показов 760. Ответов 6
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Дана информация о пяти студентах. Запись имеет вид: фамилия, год рождения, факультет. Вывести данные о студентах по факультетам.
Описание структуры вроде осилила, но мне нужен цикл, для вывода данных, помогите, пожалуйста))
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
#include <vcl.h>
#include <stdio.h>
#include <conio.h>
#include <string.h>
#define n 5
#pragma hdrstop
 
//---------------------------------------------------------------------------
 
#pragma argsused
int main(int argc, char* argv[])
{int i, k;
    {  struct student {
    char *name[20];
    char *fakultet[15];
    char *data[9];} t;
    struct student m[n];  //объявление массива структур m[n]
    char a[5]; //Факультет
  clrscr();
    printf("\n Vvedite informasiy o studentah \n");
        for (i=0;i<n;i++)
  {   printf("\n  familiya , god, facultet :  ");
      scanf("%s %s %s",t.name,t.fakultet,t.data); //Заполнение информацией структуры t
      m[i]=t; //Присвоение i-му элементу массива структуры t целиком
  }
 
   printf("\n Vvedite facultet :  ");
  scanf("%s",a);
  for(i=0; i<n; i++)
  //тело цикла не получается((
 
   getch();}
    return 0;}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
09.04.2011, 20:25
Ответы с готовыми решениями:

Вывести на консоль информацию, хранящуюся в массиве структур, заданным образом
#include &lt;iostream&gt; using namespace std; int i,j,result=0; struct Student { char...

Вывести на консоль имена сотрудников, возраст которых превышает заданный (поиск в массиве структур)
Ввести в компьютер информацию о сотрудниках отдела: фамилия, имя, возраст. Напечатать имена...

Отформатировать информацию из /etc/passwd, /etc/shadow, /etc/group заданным образом
Пропарсить файлы /etc/passwd, /etc/shadow, /etc/group так, чтоб в конечном файле можно было увидеть...

Консоль. Запросить информацию у пользователя и вывести информацию с возрастным периодом
На консоле вывод: Введите ваше имя .... Ведите ваш Возрачть .... Введите ваш пол ....

6
Каратель
Эксперт С++
6609 / 4028 / 401
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
09.04.2011, 20:29 2
C
1
2
3
4
for(i=0; i<n; i++)  
{
    printf("%s\t%s\t%s\n", m[i].name, m[i].data m[i].fakultet)
}
1
0 / 0 / 0
Регистрация: 08.11.2010
Сообщений: 17
09.04.2011, 20:38  [ТС] 3
Он выдает все данные, а не одного факультета( Вот скриншот:
http://imglink.ru/show-image.p... 7cc5bfe85d
0
Каратель
Эксперт С++
6609 / 4028 / 401
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
09.04.2011, 20:42 4
Цитата Сообщение от Линка Посмотреть сообщение
но мне нужен цикл, для вывода данных, помогите, пожалуйста))
то что вы просили то и написал

тогда так:
C
1
2
3
4
5
6
7
8
9
#include <string.h>
//
printf("\n Vvedite facultet :  ");
  scanf("%s",a);
for(i=0; i<n; i++)  
{
     if(strcmp(a, m[i].fakultet) == 0)
        printf("%s\t%s\t%s\n", m[i].name, m[i].data m[i].fakultet)
}
1
101 / 101 / 15
Регистрация: 04.02.2010
Сообщений: 162
09.04.2011, 20:43 5
чуток опоздал)
C
1
2
3
4
5
for(i=0; i<n; i++)  
{
    if(!strcmp(m[i].fakultet, a))
        printf("%s\t%s\t%s\n", m[i].name, m[i].data m[i].fakultet);
}
1
0 / 0 / 0
Регистрация: 08.11.2010
Сообщений: 17
09.04.2011, 21:18  [ТС] 6
Всем спасибо))

Добавлено через 17 минут
Черт! Компилятор на строку с условием ошибку выдает(( cannot convert char** to const char
0
101 / 101 / 15
Регистрация: 04.02.2010
Сообщений: 162
09.04.2011, 21:54 7
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
#include <stdio.h>
#include <conio.h>
#include <string.h>
 
#define n 5
#pragma hdrstop
 
struct student {
    char name[20];
    char fakultet[15];
    char data[9];
} t;
//---------------------------------------------------------------------------
 
#pragma argsused
int main(int argc, char* argv[])
{
    int i;
    struct student m[n];  //объявление массива структур m[n]
    char a[15]; //Факультет
    clrscr();
    printf("\n Vvedite informasiy o studentah \n");
    for (i=0;i<n;i++)
    {
        printf("\n  familiya , god, facultet :  ");
        scanf("%s %s %s",t.name,t.fakultet,t.data); //Заполнение информацией структуры t
        m[i]=t; //Присвоение i-му элементу массива структуры t целиком
    }
 
    printf("\n Vvedite facultet :  ");
    scanf("%s",a);
    for(i=0; i<n; i++)
    {
        if(!strcmp(m[i].fakultet, a))
           printf("%s\t%s\t%s\n", m[i].name, m[i].data, m[i].fakultet);
    }
 
    getch();
 
    return 0;
}
0
09.04.2011, 21:54
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
09.04.2011, 21:54
Помогаю со студенческими работами здесь

Каким образом обращаться к конкретному элементу в массиве структур?
Предположим, есть структура: struct product { char name double urojay; }; И есть...

Циклически сдвинуть строки в двумерном массиве заданным образом
Создать программу, которая циклически сдвигает строки в двумерном массиве следующим образом: первая...

Вывести числа заданным образом
Здравствуйте! Мне задали написать программу на паскале, с помощью циклов, которая выводит на экран...

Реализовать поиск по заданному полю в массиве структур и вывод этих данных на консоль
Здравствуйте, пишу код чтобы я вводил какой-либо товар, отмечал какого года он был продан и сколько...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru