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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
s_t_c
1 / 1 / 0
Регистрация: 08.12.2012
Сообщений: 13
#1

Структуры (вычислить самое распространенное женское имя) - C++

08.12.2012, 16:58. Просмотров 593. Ответов 8
Метки нет (Все метки)

Доброго времени суток!
Не могу понять почему у меня строка не копируется. Решил заранее проверить вывод на экран. Вобще необходимо из введенной с клавиатуры информации вычислить самое распространенное женское имя, ну и вывести всю имеющуюся информацию на экран. Помогите разобрать, пожалуйста..... Вот фрагмент кода:
Код
//Самое распространенное женское имя
#include<iostream>
#include<conio.h>
#include<stdlib.h>
#include<stdio.h>
#include<string.h>
#define stp ""
#define n 2


using namespace std;

		struct inform//Структура информации
	{
		char fam[12],name[12],otch[12],pol[5];//Поля фамилия,имя,отчество,пол
		int old,kurs,kol;//возраст,курс
	};

void main()
{
	setlocale(LC_ALL,"RUS");

	inform tab1[n],tab2[n];
	int i=0,j,k;
	
	for(k=1,i=0;i<n;i++,k++)
	{
	cout<<"Введите информацию о"<<k<<"-ом студенте\n";
	cout<<"(информация вводится кирилицей):\n";
	cout<<"Фамилия:\t";
	cin>>tab1[i].fam;
	cout<<"\nИмя:\t";
	cin>>tab1[i].name;
	cout<<"\nОтчество:\t";
	cin>>tab1[i].otch;
	cout<<"\nПол:\t";
	cin>>tab1[i].pol;
           if(tab1[i].pol=='women')
             strcpy(tab2[i].name,tab1[i].name);
	}

	cout<<tab2[1].name;
	

	system("pause");
	getch();
}
P.S.: Visual Studio 2008
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.12.2012, 16:58
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Структуры (вычислить самое распространенное женское имя) (C++):

Найти самое распространенное женское имя среди имен массива - C++
я здесь сделал немного но не знаю как теперь сравнивать чтобы оно нашло самое распространенное женское имя из имен массива #include...

Написать программу, которая вводит информацию и печатает самое распространенное женское имя - C++
Прошу помощи, болит голова х) Задача: На основе таблицы, содержащей следующую информацию о группе студентов некоторого вуза (фамилия,...

Программа, печатающая самое распространённое имя - C++
Входной файл содержит следующую информацию о студентах: фамилия, имя, отчество, пол, возраст, курс. Информация о студентах во входном файле...

Рекурсией найти и вывести самое длинное имя файла - C++
Здравствуйте, нужно с помощью рекурсии найти и вывести самое длинное имя файла, вывести с указанием пути. Как это можно сделать? #include...

Имя структуры - C++
Здравствуйте. Надо ввести имя структуры, чтобы в ней присутствовали пробелы. printf(&quot;\n%d. Student:\n&quot;, i+1); printf(&quot;Name: &quot;); ...

Структуры. Случайное имя и добавить нового студента - C++
Подскажите как в функции Random сделать ввод случайным. Чтоб имя и фамилия студентов - был случайный набор символов. Писал через ...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
v.a.l.i.d
413 / 378 / 10
Регистрация: 21.09.2012
Сообщений: 913
08.12.2012, 17:05 #2
Цитата Сообщение от s_t_c Посмотреть сообщение
if(tab1[i].pol=='women')
C++
1
if (strcmp(tab1[i].pol, "women") == 0)
0
s_t_c
1 / 1 / 0
Регистрация: 08.12.2012
Сообщений: 13
08.12.2012, 17:11  [ТС] #3
Опечатка: 42 строка
Код
cout<<tab2[0].name;
Вообщем не работает...

Добавлено через 5 минут
v.a.l.i.d, Спасибо!!! Сработало!!!
0
v.a.l.i.d
413 / 378 / 10
Регистрация: 21.09.2012
Сообщений: 913
08.12.2012, 17:21 #4
пожалуйста
0
s_t_c
1 / 1 / 0
Регистрация: 08.12.2012
Сообщений: 13
08.12.2012, 18:01  [ТС] #5
v.a.l.i.d, А тут не подскажите? Явно что-то не то делаю....)))
Код
//Самое распространенное женское имя
#include<iostream>
#include<conio.h>
#include<stdlib.h>
#include<stdio.h>
#include<string.h>
#define stp ""
#define n 3


using namespace std;

		struct inform//Структура информации
	{
		char fam[12],name[12],otch[12],pol[5];//Поля фамилия,имя,отчество,пол
		int old,kurs,kol;//возраст,курс
	};

void main()
{
	setlocale(LC_ALL,"RUS");

	inform tab1[n],tab2[n],rasprName[12];
	int i=0,j,k;
	
	for(k=1,i=0;i<n;i++,k++)
	{
	cout<<"Введите информацию о"<<k<<"-ом студенте\n";
	cout<<"(информация вводится кирилицей):\n";
	cout<<"Фамилия:\t";
	cin>>tab1[i].fam;
	cout<<"\nИмя:\t";
	cin>>tab1[i].name;
	cout<<"\nОтчество:\t";
	cin>>tab1[i].otch;
	cout<<"\nПол:\t";
	cin>>tab1[i].pol;
       if (strcmp(tab1[i].pol, "women") == 0)
	   {
		   strcpy(tab2[i].name,tab1[i].name);
		   j++;
	   }
	cout<<"\nВозраст от 16 до 35 лет:\t";
	cin>>tab1[i].old;
	if(16<tab1[i].old<35)
		break;
	else 
	{
		cout<<"\nНе допустимый возраст!";
		return 1;
	}
	cout<<"\nКурс от 1 до 5:\t";
	cin>>tab1[i].kurs;
	if(1<tab1[i].kurs<5)
		break;
	else 
	{
		cout<<"\nНет такого курса!";
		return 1;
	}

	}

	for(i=0;i<j;i++)
	{
		if(strcmp(tab2[i].name,tab2[i+1])==0)
			rasprName[]=tab2[i].name;
	}


	cout<<"\n"<<rasprName[];
	

	system("pause");
	getch();
}
Заранее благодарен!
0
v.a.l.i.d
413 / 378 / 10
Регистрация: 21.09.2012
Сообщений: 913
08.12.2012, 18:21 #6
Замени вот эти строчки:
Цитата Сообщение от s_t_c Посмотреть сообщение
int i=0,j,k;
C++
1
int i=0,j=0,k;
Цитата Сообщение от s_t_c Посмотреть сообщение
if(16<tab1[i].old<35)
C++
1
if (tab1[i].old>16 && tab1[i].old)<35
Цитата Сообщение от s_t_c Посмотреть сообщение
if(1<tab1[i].kurs<5)
C++
1
if (tab1[i].kurs>1 && tab1[i].kurs<5)
0
s_t_c
1 / 1 / 0
Регистрация: 08.12.2012
Сообщений: 13
08.12.2012, 18:35  [ТС] #7
v.a.l.i.d, Во как!

Код
Введите информацию о1-ом студенте
(информация вводится кирилицей):
Фамилия:        Ivanov

Имя:    Ivan

Отчество:       Ivanovich

Пол:    man

Возраст от 16 до 35 лет:        25

ММММММММММММММММММММММММММММММММММММММММММММММММММММММММММММММММММММММММММММММММ
ММММММММММММММММММММММММММММММММММММММММММММММММММММММММММММММММММММММММММММММММ
ММММММММММММММММIvanovДля продолжения нажмите любую клавишу . . .
0
v.a.l.i.d
413 / 378 / 10
Регистрация: 21.09.2012
Сообщений: 913
08.12.2012, 18:44 #8
Добавлено через 5 минут
Цитата Сообщение от s_t_c Посмотреть сообщение
pol[5]
Цитата Сообщение от s_t_c Посмотреть сообщение
if (strcmp(tab1[i].pol, "women") == 0)
Слово women не поместится в переменную pol
1
s_t_c
1 / 1 / 0
Регистрация: 08.12.2012
Сообщений: 13
08.12.2012, 18:55  [ТС] #9
v.a.l.i.d, error C3861: SetConsoleOutputCP: идентификатор не найден
error C3861: SetConsoleCP: идентификатор не найден

Добавлено через 6 минут
Цитата Сообщение от v.a.l.i.d Посмотреть сообщение
Слово women не поместится в переменную pol
Ничего не изменилось... Хоть pol[10]
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.12.2012, 18:55
Привет! Вот еще темы с ответами:

Что означает имя переменной в конце объявления структуры? - C++
Всем привет. Что значит такая запись в конце структуры? }*head; И что было бы, если было бы так: }head;? struct Link ...

Структуры. Определить имя самой высокой девочки в группе - C++
С помощью структуры описать данные на группу из семи детей, указав их имя , пол и рост.Определить имя самой высокой девочки в группе. Вот...

Вывести имя и количество букв в фамилии. Вывести самое длинное слово - C++
Вывести имя и количество букв в фамилии.Вывести самое длинное слово,помогите сделать эту программу

Вывести имя и количество букв в фамилии. Вывести самое длинное слово - C++
Помогите сделать задачку: Вывести имя и количество букв в фамилии.Вывести самое длинное слово.На C++


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
08.12.2012, 18:55
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru