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

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Написать функцию, которая возвращает максимальное из двух целых чисел, полученных в качестве аргумента. http://www.cyberforum.ru/cpp-beginners/thread759194.html
2. Написать функцию, которая возвращает максимальное из двух целых чисел, полученных в качестве аргумента.
C++ Ввести с клавиатуры 5 дробных чисел и вычислить их среднее арифметическое 2.Решить следующую задачу двумя методами: используя цикл for и используя цикл while (либо do-while). -Написать программу, которая вводит с клавиатуры 5 дробных чисел и вычисляет их среднее арифметическое http://www.cyberforum.ru/cpp-beginners/thread759192.html
Написать программу для расчёта по формуле C++
2. Написать программу для расчёта по формуле .Формула на картинке
C++ Расстояние между двумя точками
1. Напишите функцию distance, которая вычисляет расстояние между двумя точками (x1, y1) и (x2, y2). Все числа и возвращаемые значения должны быть типа float.
C++ Описать структуру с именем MARSH http://www.cyberforum.ru/cpp-beginners/thread759184.html
1. Описать структуру с именем MARSH, содержащую следующие поля: ■ название начального пункта маршрута; ■ название конечного пункта маршрута; ■ номер маршрута. 2. Написать программу, выполняющую следующие действия: ■ ввод с клавиатуры данных в массив, состоящий из восьми элементов типа MARSH; записи должны быть упорядочены по номерам маршрутов; ■ вывод на экран информации о...
C++ В одномерном массиве вычислить сумму отрицательных элементов, произведение элементов массива между максимальным и минимальным элементами В одномерном массиве, состоящем из 25 вещественных элементов, вычислить: 1) сумму отрицательных элементов массива; 2) произведение элементов массива, расположенных между максимальным и минимальным элементами. подробнее

Показать сообщение отдельно
pr1me222
0 / 0 / 0
Регистрация: 11.05.2011
Сообщений: 71

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

11.01.2013, 23:17. Просмотров 248. Ответов 2
Метки (Все метки)

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

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
74
75
76
77
78
79
#include <iostream>
#include <stdio.h>
#include <string.h>
#include <conio.h>
using namespace std;
 
 
class zarplata
{
public:
    int tabnom; 
        //[10];
    char fioR[128];
    int oplCh;
    int dayOt;
    int rezultat;
    int prem;
 
};
 
 
int getdata (zarplata & zp)
{
 
    char ch;
    int  i=1;
    
        
    setlocale (LC_ALL,".1251");
    cout << "Введите табельный номер работника = ";
    cout << "Введите ФИО работника = ";
    cin >> zp.fioR;
    cout << "Введите оплату за один час работы = ";
    cin >> zp.oplCh;
    cout << "Введите количество отработанных дней = ";
    cin >> zp.dayOt;
    cout << "Введите сумму премии =  ";
    cin >> zp.prem;
    zp.rezultat=(zp.oplCh*8*zp.dayOt)+zp.prem;
    cout << "Заработная оплата работника с табельным номером: "<<zp.tabnom<< " равна = "<< zp.rezultat<<endl;
    
    return 1;
}
/////////////////////////
void displaydata (zarplata & zp)
{
    cout << zp.tabnom
        <<" "
        <<zp.oplCh
        <<" "
        <<zp.dayOt
        <<" "
        <<zp.prem
        <<" "
        <<zp.rezultat
        <<" "<<endl;
 
}
 
int main ()
{
    const int MAX = 10;
    zarplata zp [MAX];
     
    int index = 0;
    while (getdata(zp[index]) && index <MAX) 
    
    {
        index++;
    }
    
    for (int i=0; i<index; i++)
    {
        displaydata(zp[i]);
        
 
    }
    return 0;
}
Что бы было легче понять чего я добиваюсь, вот полноценное условие с лабы:

1. Создать класс с именем ZARPLATA, содержащий следующие поля:
• табельный номер;
• фамилия И.О. работника;
• оплата за один час работы;
• количество обработанных дней;
• премия.
2. Написать программу, реализующую следующие методы, определенные вне класса:
• ввод с клавиатуры данных в массив, состоящий из десяти объектов (работников) класса ZARPLATA;
• рассчитать зарплату каждого работника за месяц;
• вывести на экран ведомость начисления заработной платы. Записи должны быть размещены в алфавитном порядке по фамилиям.
3. Предусмотреть конструктор без аргументов и деструктор (для двух последних объектов конст-руктор с аргументами).

Заранее спасибо)
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru