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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 25.04.2016, 10:14   #1
devials
Новичок
Джуниор
 
Регистрация: 25.04.2016
Сообщений: 2
По умолчанию c++. Дан массив данных о студентах некоторой группы: фамилия, имя, отчество и дата рождения (день, месяц, год). Вывести фамилии...

Добрый день всем, нуждаюсь в вашей помощи)
Задание:
Дан массив данных о студентах некоторой группы: фамилия, имя, отчество и дата рождения (день, месяц, год). Вывести на экран фамилию и имя тех студентов, у кого сегодня день рождения (сегодняшнюю дату вводить с клавиатуры).
Я сделал эту задачу, но моему учителю нужно ( а может и мне) чтобы я сделал это через массив ( чтобы учеников я вводил сам) и я даже не знаю как это должно быть, вот мой код:
Код:
using namespace std; 
#include <iostream> 
#include <string> 

struct student { 
string f; 
string i; 
string o; 
string date; 
string god; 
}; 
int main (void){ 

struct student Petrov; 
struct student Ivanov; 
struct student Sidorov; 

Petrov.f = "Petrov"; 
Petrov.i = "Petr"; 
Petrov.o = "Petrovich"; 
Petrov.date = "10.04"; 
Petrov.god = "1997"; 

Ivanov.f = "Ivanov"; 
Ivanov.i = "Ivan"; 
Ivanov.o = "Ivanovich"; 
Ivanov.date = "12.04"; 
Ivanov.god = "1996"; 

Sidorov.f = "Sidorov"; 
Sidorov.i = "Sidr"; 
Sidorov.o = "Sidorovich"; 
Sidorov.date = "14.04"; 
Sidorov.god = "1998"; 
int d = 0; 
string date; 
cin>>date; 


if(Petrov.date == date) 
{ 
d++; 
cout<<"den rozhdeniya "<<Petrov.f<<" "<<Petrov.i<<"\n"; 
} 
if(Ivanov.date == date) 
{ 
d++; 
cout<<"den rozhdeniya "<<Ivanov.f<<" "<<Ivanov.i<<"\n"; 
} 
if(Sidorov.date == date) 
{ 
d++; 
cout<<"den rozhdeniya "<<Sidorov.f<<" "<<Sidorov.i<<"\n"; 
} 
if(d==0) 
{ 
cout<< "net dnei rozhdeniya v etot den"; 
} 
}
_____
Код программы нужно выделять (форматировать) тегами [CODE] (читать FAQ)
Модератор

Последний раз редактировалось Serge_Bliznykov; 25.04.2016 в 10:56.
devials вне форума Ответить с цитированием
Старый 25.04.2016, 10:18   #2
NetSpace
Участник клуба
 
Аватар для NetSpace
 
Регистрация: 03.06.2009
Сообщений: 1,814
По умолчанию

скажем, вводим фамилии в количестве 10 штук. в цикле
Код:
for (i=1;i<=10;i++)
{
 cin>>fam[i]
}
Программирование - это единственный способ заставить компьютер делать то, что тебе хочется, а не то, что приходится.

Последний раз редактировалось NetSpace; 25.04.2016 в 10:24.
NetSpace вне форума Ответить с цитированием
Старый 22.05.2016, 03:25   #3
ura_111
Участник клуба
 
Регистрация: 14.05.2016
Сообщений: 1,793
По умолчанию

Т.к. неизвестно сколько будут вводить студентов пользователь, то лучше было бы применить динамическую резервирование памяти под массив структур, но я не знал - изучали ли Вы такое. Поэтому ограничил максимумом в 10шт.

Код:
using namespace std;
#include <iostream> 
#include <string> 

struct student {
	string f;
	string i;
	string o;
	string date;
	string god;
};
int main(void){

	int n;   // макск кол-во студентов =10
	student St[10];  // массив структур-студентов 

	cout << "Skolko studentov(max =10):";
	cin >> n;
	for (int i = 0; i < n; i++)
	{
		cout << "\nStudent " << i + 1 << "\n";
		
		cout << "Familia:";	  cin >> St[i].f;
		cout << "Imia:";	  cin >> St[i].i;
		cout << "Otichtvo:";  cin >> St[i].o;
		cout << "Data:";	  cin >> St[i].date;
		cout << "God:";	      cin >> St[i].god;
	}

	string date;
	int d = 0;
	cout << "\nVvedite datu vubora:";
	cin >> date;

	for (int i = 0; i < n; i++)
	{
		if (St[i].date == date)
		{
			cout << "Den rozhdeniya " << St[i].f << " " << St[i].i << "\n";
			d++;
		}
	}
	if (d == 0)
	{
		cout << "net dnei rozhdeniya v etot den";
	}
	
	system("pause");
}

ura_111 вне форума Ответить с цитированием
Старый 22.05.2016, 23:18   #4
devials
Новичок
Джуниор
 
Регистрация: 25.04.2016
Сообщений: 2
По умолчанию

спасибо тебе огромное!
devials вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Создать базу данных о студентах в виде «Фамилия, имя, группа, дата рождения, средний рейтинг» karisha98 Помощь студентам 0 15.02.2016 23:10
информацию про больных(фамилия,имя,год рождения,диагноз, дата посл.посещения)Делфи 7 программирование Помощь студентам 0 03.12.2013 21:01
по дате рождения и текущей дате (день, месяц, год) определить сколько дней до дня рождения (код на ПАСКАЛЕ) Николай1 Помощь студентам 1 16.02.2012 09:07
Дан файл, содержащий различные даты. Каждая дата – это число, месяц и год. Найти год с наименьшим номе Figushkin Помощь студентам 2 04.06.2010 23:16
Создать файл записей (таблицу) и вывести на экран информацию о людях (имя, год рожденя, день рождения) пепелаЦО Паскаль, Turbo Pascal, PascalABC.NET 3 24.05.2009 12:15