Программирование на С++

С++ Программирование Си Код

Написать программу с использованием структуры, состоящей из переменных, определяющих объект "Сотрудник": фамилия, имя, отчество, должность. Ввод элементов структуры осуществляется с клавиатуры. Программа запрашивает фамилию для поиска, выдает должность искомого сотрудника.

#include <iostream.h>
#include <string.h>

void main()

{
char fam[20];

struct employee

{
char surname[20];
char name[20];
char two_name[20];
char post[20];
} worker[2];

for (int i=1;i<3;i++)
{
cout<<"Point # "<<i<<"\n";
cout<<"SurName ";
cin>>worker[i].surname;
cout<<"Name ";
cin>>worker[i].name;
cout<<"Two name ";
cin>>worker[i].two_name;
cout<<"Post ";
cin>>worker[i].post;
}
cout<<"SEARCH: Surname: ";
cin>>fam;

for (int i=1;i<3;i++)
{
if (fam==worker[i].surname)
cout<<"Post: "<<worker[i].post<<"\n";
}

}
Ошибок при компиляции не выдает, но программа не работает.
Помогите пожалйуста исправить код.

Ответы:
cout  не вывода
Во-первых, оба цикла должны быть:
for (int i=0;i<2;i++)
//Рабочий вариант
#include <stdlib.h>
#include <iostream>
#include <string.h>
попробуй добавить перед главной функцией using namespace std;
или при вызове операторов ввода\вывода допиши  std:: // таким способом ты указываешь пространство имен в котором собственно они и находятся.
<iostream.h> можно заменить на <iostream> оно уже давно так подключается, еще ты циклы начинаешь с 1 хотя все массивы индексируются с 0. А твой массив структур равен 2 элемента,
отсюда и ошибка на этапе выполнения индекс за пределом массива.


14 лет назад

RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.

Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.

Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.