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

Вызов функции 2 раза - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Некорректное значение в char и string http://www.cyberforum.ru/cpp-beginners/thread561483.html
Пишу проект в MS VS 2011 beta для консоли. Необходимо, чтобы кириллические символы в памяти имели правильный код символа. Пробовал как в самой IDE, так и через функцию setlocale установить кодировку 866 (под DOS), т.к. мне нужна полная совместимость с таблицей ASCII. К примеру, для буквы А код -128 и символ отображаемый в памяти 'Ђ', а для B код -126 и символ отображаемый в памяти ',',...
C++ Измерить время выполнения (сложение двух чисел) Вот у меня есть код, который выполняет сложение двух чисел.. Помогите вставить сюда GetTickCount и QueryPerformanceCounter.... Только нужно чтобы время вывелось у обеих функций в мкс!! Помогите пожалуйста!!!=) // 11.cpp: определяет точку входа для консольного приложения. // #include "stdafx.h" #include <stdlib.h> #include <stdio.h> #include <time.h> http://www.cyberforum.ru/cpp-beginners/thread561464.html
Физический смысл паттернов C++
В чем состоится физический смысл паттернов, где найти литературу на эту тему?
Чтение из файла. C++
Здравствуйте всем) Такая проблемка..не знаю как считать из файла линейный односвязный список.. вот такую функцию писал.. date *read_baze(char *filename) { fstream file(filename); while(!file.eof()) { file>>cor->kol_kom; file>>cor->floor;
C++ Нарисовать блок-схемы по исходникам http://www.cyberforum.ru/cpp-beginners/thread561407.html
Я никогда толком и с расстановкой не умел рисовать как следует блок-схемы... Помогите, пожалуйста, нарисовать 2 блок-схемы к 2 программам. Используя стек, решить следующую задачу. В текстовом файле f записана без ошибок формула следующего вида: <формула> ::= <цифра> | М(<формула>, <формула>) | m(<формула>, <формула>) <цифра> ::= 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9, где М обозначает...
C++ Запись в char числа <-128 Всем привет! Подскажите пожалуйста, как в переменную типа char записать число -129, причем чтобы потом его можно было бы прочитать без ошибок обратно в int? Заранее спасибо! подробнее

Показать сообщение отдельно
Mr. Pyatachok
8 / 8 / 0
Регистрация: 30.06.2011
Сообщений: 250

Вызов функции 2 раза - C++

29.04.2012, 14:43. Просмотров 267. Ответов 0
Метки (Все метки)

Здравствуйте, уважаемые знатоки!
Помогите подправить код:
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
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
#include <iostream.h>
#include <conio.h>
#include <string.h>
#include <math.h>
 
class Time
{
        private:
    int hour,minute,second;
        public:
    friend class Bill;
};
 
class Bill
{
        private:
    char familiya_platelshika[50];
    char nomer_telefona[50];
    float tarif_za_minyty_razgovora;
    int skidka;
    char vremya_nachala_razgovora[10];
    char vremya_okonchaniya_razgovora[10];
    float summa_k_oplate;
        public:
    friend class Time;
    Time time;
    void Read();
    void PerevodVremeniIzCharVInt(char str[10]);
    float PerevodVremeniVMinytu();
    void Display();
};
 
void Bill::Read()
{
    while(true)
    {
        cout<<" Zapolnite sledyushie dannue:"<<endl;
        cout<<"Imya platelshika:             "; cin>>familiya_platelshika;
        cout<<"Nomer telefona:               "; cin>>nomer_telefona;
        cout<<"Tarif za minyty razgovora:    "; cin>>tarif_za_minyty_razgovora;
        cout<<"Skidka:                       "; cin>>skidka;
        cout<<"Vremya nachala razgovora:     "; cin>>vremya_nachala_razgovora;
        cout<<"Vremya okonchaniya razgovora: "; cin>>vremya_okonchaniya_razgovora;
        if(cin.peek()=='\n' && tarif_za_minyty_razgovora>0 && skidka>0)
        {
            cin.get();
            break;
        }
        else
        {
            clrscr();
            cout<<"Oshibka!!!\nZnacheniya vvedenu neverno.\nPovtorite vvod snova."<<endl<<endl;
            cin.clear();
            while(cin.get()!='\n') {  }
        }
    }
}
 
void Bill::PerevodVremeniIzCharVInt(char str[10])
{
    int i,hour,minute,second;
    char buf[10];
    hour=0;
    minute=0;
    second=0;
    for(int i=0,j=0,m=0;i<=strlen(str);i++)
    {
        if(str[i]==':'||!str[i])
        {
            switch(j)
            {
                case 0: hour=atoi(buf);   j++; m=0; break;
                case 1: minute=atoi(buf); j++; m=0; break;
                case 2: second=atoi(buf); j++; m=0; break;
            }
        }
        else
        {
            buf[m]=str[i];
            m++;
            buf[m]='\0';
        }
    }
    if((hour>=0 && hour<=23) && (minute>=0 && minute<=59) && (second>=0 && second<=59))
    {
        time.hour=hour;
        time.minute=minute;
        time.second=second;
    }
    else cout<<"Oshibka!!! Neverno vvedeno vremya."<<endl;
}
 
float Bill::PerevodVremeniVMinytu()
{
    return floor((time.hour*60.0+time.minute+(time.second/60.0))+0.5);
}
 
void Bill::Display()
{
    PerevodVremeniIzCharVInt(vremya_nachala_razgovora);
    cout<<PerevodVremeniVMinytu();
    PerevodVremeniIzCharVInt(vremya_okonchaniya_razgovora);
    cout<<endl<<PerevodVremeniVMinytu();
 
}
 
int main()
{
    Bill bill;
    bill.Read();
    bill.Display();
 
 
 
    getch();
    return 0;
}
Дело в том, что я хочу определить время в минутах, прошедшее с начала разговора до его конца.
Но вот в чем загвоздка: ввожу я время же в формуте чч:мм:сс, следовательно необходимо разбить его на числа, что я и сделал. Написал функцию перевода в минуты, но вот дальше ступор, т.к. время должно храниться в другом классе, а два поля в char описаны в другом классе.
Подскажите как дальше действовать, заранее всем благодарен.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru