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

Поиск сотрудника по структуре - C++

Восстановить пароль Регистрация
 
bubsen123
0 / 0 / 0
Регистрация: 17.04.2014
Сообщений: 2
17.04.2014, 22:00     Поиск сотрудника по структуре #1
Вот работающая программка, она считает квартальную или годовую з/п выбранного по строке сотрудника. необходимо его выбирать по фамилии. Если табличка съехала, прошу простить) Задание еще в том, чтобы вся таблица после ввода данных не выходила, а только запрос и после запроса эта табличка со данными по одному запрашиваемому сотруднику включая квартальную и годовую з/п.

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
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
// fedotov.cpp : main project file.
 
#include "stdafx.h"
#include <stdio.h> 
#include <Windows.h>
#include <conio.h>
#include <iomanip>      
#include <iostream>     
#include <clocale>      
 
using namespace std;
 
 
struct Person
{
    char surName[11];
    char name[9];
    char fatherName[14];
    float chasMoney;
    float chasMonth;
    
};
 
int main(array<System::String ^> ^args)
{
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);   
    int n, a; a=1;
        cout<<"Вводите данные по интересующим Вас сотрудникам, для расчета денежных выплат. Ввод осуществляется строго по порядку! Будьте внимательны при вводе данных, в поле для текста, вводите текст, в поле для чиселовых значений - цифры. Возврат к предыдущей строке НЕВОЗМОЖЕН! И так, Введите количество сотрудников  ";
                
    cin>>n;
    Person *p=new Person[n];
    for (int i=0;i<n;i++)
    {
        setlocale(0, "");
        cout<<"Ведите фамилию  ";                                                               //ввод данных
        cin>>p[i].surName;
        cout<<"Ведите имя  ";                                                                   //ввод данных
        cin>>p[i].name;         
        cout<<"Ведите отчество  ";                                                          //ввод данных
        cin>>p[i].fatherName;
        cout<<"Ведите стоимость рабочего часа  ";                                               //ввод данных
        cin>>p[i].chasMoney;
        cout<<"Ведите количество рабочих часов в месяц  ";                                  //ввод данных
        cin>>p[i].chasMonth;
    };
    {
    cout<<" ______________________________________________________________________ "<<endl; //шапка таблицы
    cout<<"|   |           |         |              |Стоимость| Часов |           |"<<endl; //шапка таблицы
    cout<<"|   |  Фамилия  |   Имя   |   Отчество   |  часа   |в месяц| Зар/плата |"<<endl; //шапка таблицы
    cout<<"|___|___________|_________|______________|_________|_______|___________|"<<endl; //шапка таблицы
    }
    for (int i=0;i<n;i++)
    {
    cout<<"|"<<setw(3)<<a++<<"|"<<setw(11)<<p[i].surName<<"|"<<setw(9)<<p[i].name<<"|"<<setw(14)<<p[i].fatherName<<"|"<<setw(9)<<p[i].chasMoney<<"|"<<setw(7)<<p[i].chasMonth<<"|"<<setw(7)<<p[i].chasMoney*p[i].chasMonth<<" руб""|"<<endl;    //данные таблицы
    }
    char flag;
    do
    {
        int k;
        cout<<endl<<"Введите номер сотрудника, которого необходимо расчитать. (Номер сотрудника, определяется по порядковому номеру в таблице)";
        cin>>k;
        cout<<"Какую сумму рассичтаем: квартальную (1) или годовую (2)  ";
        int c; cin>>c;
        if (c==1)   cout<<p[k-1].surName<<" квартальная сумма "<<p[k-1].chasMoney*p[k-1].chasMonth*3<<" руб"<<endl;
        if (c==2)   cout<<p[k-1].surName<<" годовая сумма "<<p[k-1].chasMoney*p[k-1].chasMonth*12<<" руб"<<endl;
        cout<<"Продолжить (Y/N)?";
        cin>>flag;
    }
    while (flag=='Y' || flag=='y');
_getch();
 
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Komi
 Аватар для Komi
6 / 6 / 2
Регистрация: 10.08.2012
Сообщений: 82
18.04.2014, 03:47     Поиск сотрудника по структуре #2
в чем собсна, проблема?
bubsen123
0 / 0 / 0
Регистрация: 17.04.2014
Сообщений: 2
18.04.2014, 12:00  [ТС]     Поиск сотрудника по структуре #3
Собсна у меня не получается она вот что вышло, как исправить мозги не варят, пол ночи в гадалку играл))))
Ошибка " error C2065: n: необъявленный идентификатор"
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
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
// Новая зарплата скрытая.cpp: главный файл проекта.
 
#include "stdafx.h"
#include <stdio.h> 
#include <Windows.h>
#include <conio.h>
#include <iomanip>      
#include <iostream>     
#include <clocale>      
 
using namespace std;
 
 
struct Person
{
    char surName[11];
    char name[9];
    char fatherName[14];
    float chasMoney;
    float chasMonth;
    
}p[];
void Searchname(char *surName);
int main(array<System::String ^> ^args)
{   
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);   
    int n;
        cout<<"Вводите данные по интересующим Вас сотрудникам, для расчета денежных выплат. Ввод осуществляется строго по порядку! Будьте внимательны при вводе данных, в поле для текста, вводите текст, в поле для чиселовых значений - цифры. Возврат к предыдущей строке НЕВОЗМОЖЕН! И так, Введите количество сотрудников  ";
                
    cin>>n;
    Person *p=new Person[n];
    for (int i=0;i<n;i++)
    {
        setlocale(0, "");
        cout<<"Ведите фамилию  ";                                                               //ввод данных
        cin>>p[i].surName;
        cout<<"Ведите имя  ";                                                                   //ввод данных
        cin>>p[i].name;         
        cout<<"Ведите отчество  ";                                                          //ввод данных
        cin>>p[i].fatherName;
        cout<<"Ведите стоимость рабочего часа  ";                                               //ввод данных
        cin>>p[i].chasMoney;
        cout<<"Ведите количество рабочих часов в месяц  ";                                  //ввод данных
        cin>>p[i].chasMonth;
    };
    for (int i=0;i<n;i++);
 
} void Searchsurname (char *surName)
{   
{
        for (int i=0;i<n;i++)
        {
        if (_stricmp(surName, p[i].surName)==0)
            {
        cout<<p[i].surName<<"\n";
        cout<<p[i].chasMoney*p[i].chasMonth*3<<" руб"<<"\n";
            }
        else
        cout<<"Сотрудник не найден";
        }
    }
    
_getch();
 
}
[]http://s019.***********/i613/1404/dc/54a98443cc9e.png[/]
Komi
 Аватар для Komi
6 / 6 / 2
Регистрация: 10.08.2012
Сообщений: 82
18.04.2014, 19:16     Поиск сотрудника по структуре #4
Попробуй объявить "n" глобально, над функциями, а не внутри main(), возможно исправит.
если нет, поудаляй временно отдельный части программы, чтобы выявить в какой именно таится взрыв мозга, по одиночке им нас не победить)
кстати оффтопик
C++
1
2
3
4
//вместо
cout << "\n";
//можно
cout << endl;
Yandex
Объявления
18.04.2014, 19:16     Поиск сотрудника по структуре
Ответ Создать тему
Опции темы

Текущее время: 03:04. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru