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

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

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 18.04.2010, 18:44   #1
klykovka
Пользователь
 
Регистрация: 14.04.2010
Сообщений: 33
По умолчанию массив структур

Создать массив структур Дана информация о пяти комнатах в общежитии. Структура имеет вид: фамилии, номер комнаты, факультет, площадь. Вывести данные о комнатах по заданному факультету, а также количество комнат на этом факультете.
Код:
#include<stdio.h>
#include<conio.h>
#include<string.h>
#define n 5
main()
{
int i,kol,sumr;
struct std{char famil[15]; int room; char fak[5]; float Spl;} sd;
struct std mag[n];
char fakul[5];
clrscr();
printf("\n enter info studen\n");
for (i=0; i<n; i++)
{printf("\n famil,ьroom, fak, S:");
scanf("%s%d%s%f",sd.famil,&sd.room,sd.fak,&sd.Spl);
mag[i]=sd;}
printf("\n enter fak:");
scanf("%s", fakul);
for(i=0, sumr=0, kol=0; i<n; i++)
if (strcmp(mag[i].fak,fakul)==0)
{
sumr+=sumr+mag[i].room;
kol++;
}
printf("na fake %s %d room",fakul, sumr);
getch();
}
Программа работает неправильно. после заполнения второй строки с информацией третья вылетает одновременно с четвертой.
не дает ввести факультет для поиска а выдает сразу на факе ... 0 комнат. Подскажите что не так?
klykovka вне форума Ответить с цитированием
Старый 19.04.2010, 00:46   #2
eoln
Старожил
 
Аватар для eoln
 
Регистрация: 26.04.2008
Сообщений: 2,645
По умолчанию

Цитата:
Сообщение от klykovka Посмотреть сообщение
Программа работает неправильно. после заполнения второй строки с информацией третья вылетает одновременно с четвертой.
не дает ввести факультет для поиска а выдает сразу на факе ... 0 комнат. Подскажите что не так?
Не вижу ничего сверхестественного кроме лишнего sumra+
Код:
sumr+=sumr+mag[i].room;
А третья строчка будет вылетать только при условии если вводить факультет или фамилию состоящую из 2 и более слов, т.е вводить при запросе более 4 параметров (в вашем случае вводятся по-видимому 6 параметров).
eoln вне форума Ответить с цитированием
Старый 19.04.2010, 15:16   #3
klykovka
Пользователь
 
Регистрация: 14.04.2010
Сообщений: 33
По умолчанию

Код:
#include<stdio.h>
#include<conio.h>
#include<string.h>
#define n 5
main()
{
int i,kol,sumr;
struct std{char famil[15]; int room; char fak[5]; float Spl;} sd;
struct std mag[n];
char fakul[5];
clrscr();
printf("\n enter info studen\n");
for (i=0; i<n; i++)
{printf("\n famil,ьroom, fak, S:\n");
scanf("%s%d%s%f",&sd.famil,&sd.room,&sd.fak,&sd.Spl);
mag[i]=sd;}
printf("\n enter fakul:\n");
scanf("%s", fakul);
for(i=0, sumr=0, kol=0; i<n; i++)
if (strcmp(mag[i].fak,fakul)==0)
{
sumr+=mag[i].room;
kol++;
}
printf("na fake %s %d room",fakul, sumr);
getch();
}
Сейчас все работает. только одну ошибку осталось устранить:по заданию нужно вывести данные по факультету и колличество комнат на факультете. В моем варианте суммируются номера комнат. Например я ввел: 5 фамилий студентов. трое из которых учатся на одном факультете и живут в разных комнатах под номерами 2, 3, 4. По такому варианту ответ 9 а должен быть три. как это исправить в моем коде
klykovka вне форума Ответить с цитированием
Старый 19.04.2010, 15:20   #4
Гром
Старожил
 
Аватар для Гром
 
Регистрация: 21.03.2009
Сообщений: 2,193
По умолчанию

Код:
sumr+=mag[i].room;
->
Код:
sumr++;
Можно было догадаться.
Простые и красивые программы - коды программ + учебник C++
Создание игры - взгляд изнутри - сайт проекта
Тема на форуме, посвященная ему же
Гром вне форума Ответить с цитированием
Старый 19.04.2010, 16:17   #5
klykovka
Пользователь
 
Регистрация: 14.04.2010
Сообщений: 33
По умолчанию

Код:
sumr+=mag[i].room;
kol++;
}
printf("na fake %s %d room",fakul, sumr);
getch();
}
Вот где собака зарыта проглядел, а нужно было kol
klykovka вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Массив структур+файл Роман_какой-то Общие вопросы C/C++ 4 22.03.2010 20:28
массив структур Help_me_please Помощь студентам 3 16.01.2010 02:19
Массив структур MLV Общие вопросы C/C++ 6 08.12.2009 20:44
Массив структур velvetdust Общие вопросы C/C++ 0 21.03.2009 13:18