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

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

Войти
Регистрация
Восстановить пароль
 
proech
10 / 10 / 2
Регистрация: 10.07.2013
Сообщений: 150
#1

с++ неверно выдаёт последние строки - C++

24.09.2013, 22:31. Просмотров 245. Ответов 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
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
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
// ConsoleApplication61.cpp: îïðåäåëÿåò òî÷êó âõîäГ* äëÿ ГЄГ®Г*ñîëüГ*îãî ïðèëîæåГ*ГЁГї.
//
#include <iostream>
#include <locale.h>
#include <Windows.h>
#include <string.h>
typedef unsigned short WORD;
void Color(WORD BackGround,WORD ForeGround)
{
    HANDLE HOUT = GetStdHandle(STD_OUTPUT_HANDLE);
    SetConsoleTextAttribute(HOUT,BackGround|ForeGround);
}
 
class Worker{
protected:
    int YearOfEnter;
    char  * NameOfWorker;
    char *post;
public:
       
 Worker()
        {
           MemoryLock();
         }
        
         void SetYear( int Year)
         {
             YearOfEnter =Year; 
         }
         void SetName(char*Name)
         {
              
              Name = new char[strlen(Name)+1];
            strcpy(NameOfWorker,Name);  
              }
              void SetPost( char *Post)
              {
                   Post = new char[100];
                  strcpy(post,Post); 
                   
              }
              const 
              int GetYear() const{
                 return YearOfEnter; 
                  }
    void MemoryLock()
    {
      NameOfWorker = new char[100];
      post = new char[100];
    }
    
    void MemoryFree(char *j,...)
    {
         va_list p;
         va_start(p,j);
         while(va_arg(p,char*))
         {
             delete[] va_arg(j,char*);                  
                               }
         va_end(p);
         
         }
    ~Worker()
    {
         MemoryFree(post,NameOfWorker);
         
         }  
    void ColorWrite( WORD BackGround,WORD Foreground)
    {
    HANDLE G = GetStdHandle(STD_OUTPUT_HANDLE);
    std::cout<<"________________________________________________________________________________"
    <<std::endl;
    SetConsoleTextAttribute(G,(BackGround|Foreground));
    
    std::cout<<"äîëæГ*îñòü    "<<post<<std::endl;
    std::cout<<"èìÿ          "<<NameOfWorker<<std::endl;
    std::cout<<"ãîä          "<<YearOfEnter<<std::endl;
    SetConsoleTextAttribute(G,15|0);
    std::cout<<"________________________________________________________________________________"
    <<std::endl;
    
    }
    
        
 
 
};
 
 
int main(int argc, _TCHAR* argv[])
{
    char Buffer[100];
    int Year;
    Color(15,0);
    setlocale(LC_CTYPE,"rus");
    int CountOfCompare = 0;
    int n;
    int CurrentYear;
    std::cout<<"êîëè÷åñòâî"<<std::endl;
    std::cin>>n;
    
 
    Worker *a = new Worker[n];
    for (int i = 0;i<n;i++){
    std::cout<<"èìÿ Г°Г*áî÷åãî   "<<std::endl;
    std::cin>>Buffer;
    a[i].SetName(Buffer);
   
    std::cout<<"äîëæГ*îñòü      "<<std::endl;
    std::cin>>Buffer;
    a[i].SetPost(Buffer);
    std::cout<<"ãîä ïîñòóïëåГ*ГЁГї"<<std::endl;
    std::cin>>Year;
    a[i].SetYear(Year);
    
    
 
    
 
 
    }
    // ГЁГ№ГҐГ¬ Г°Г*áîòГ*ГЁГЄГ* ГЇГ® Г§Г*Г¤Г*Г*Г*îìó ãîäó
    
    std::cout<<"Г*ГіГ¦Г*ûé ãîä";
    std::cin>>CurrentYear  ;
    
    for (int i = 0;i<n;i++)
    {
        
        if (a[i].GetYear() == CurrentYear)
        {
        std::cout<<CountOfCompare+1<<"ñîâïГ*äåГ*ГЁГҐ  Г*Г*éäåГ*Г®"<<std::endl;
          a[i].ColorWrite(12,0);
          CountOfCompare++;
        }
         }
    if (CountOfCompare==0) MessageBox(0,"Г*ГЁГ·ГҐГЈГ® Г*ГҐ Г*Г*éäåГ*Г®","",MB_ICONINFORMATION);
    getchar();
    getchar();
 
 
 
 
    return 0
        ;
}
наверно что-то с выводом
0
Миниатюры
с++ неверно выдаёт последние строки  
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.09.2013, 22:31
Здравствуйте! Я подобрал для вас темы с ответами на вопрос с++ неверно выдаёт последние строки (C++):

Отбросить от строки последние N символов и вывести оставшуюся часть строки - C++
:help: 1. Лабораторная работа №1. Ввод-вывод в стандартные файлы. Задание: разработать программу с использованием базовых системных...

Добавить в конец первой строки, последние n2-n1 слов второй строки - C++
помогите пожалуйста! Даны две строки. Пусть n1 - число слов в первой строке, а n2 - во второй (n1&lt;n2). Добавить в конец первой строки,...

Удалить последние слова из строки - C++
Всем добрый день! Перечитал про множество функций для работы со строками. Нашел что то похожее для своей задачи puts(&amp;str); где &amp;str...

Удалить из файла последние три строки. - C++
lIUDI POMAGITE POJALUIUSTA REWIT ETU ZADACHU!!!! В теме должна быть только одна задача! Text21º. Дан текстовый файл, содержащий более...

Как отбросить последние символы строки - C++
У меня есть строка. В ней, ну пусть 20 символов. А мне только первые 10 нужны. Подскажите наиболее простой способ отбросить последние 10...

Вывести первые и последние три символа строки - C++
Дана строка. Вывести первые три символа и последний три символа, если длина строки больше 5. Иначе вывести первый символ столько раз,...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Fyret
184 / 170 / 13
Регистрация: 30.07.2013
Сообщений: 359
25.09.2013, 11:56 #2
C++
1
2
3
4
5
6
7
8
9
10
void SetName(char*Name)
{
    Name = new char[strlen(Name)+1];
    strcpy(NameOfWorker,Name);  
}
void SetPost( char *Post)
{
     Post = new char[100];
     strcpy(post,Post); 
}
Ну неправильно же. Уверен, Вы сами сможете исправить.
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.09.2013, 11:56
Привет! Вот еще темы с ответами:

Удалить из каждого слова исходной строки две последние буквы - C++
Пожалуйста помогите, дана строка символов. Удалить из каждого слова исходной строки две последние буквы

Как определить конец введенной строки и взять последние 5 символов? - C++
Ребят, подскажите пожалуйста. вот код программы, но мне нужно, чтобы она считывала не все символы введенные с клавиатуры, а например...

При решении программа выдаёт значение функции, равное 0 или выдаёт ошибку. Что не так? - C++
#include &lt;iostream&gt; #include &lt;iomanip&gt; #include &lt;cmath&gt; using namespace std; long Fact(short m)// функция вычисления факториала ...

Дан текстовый файл, содержащий более трех строк. Удалить из него три последние строки - C++
Дан текстовый файл, содержащий более трех строк. Удалить из него три последние строки.


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

Или воспользуйтесь поиском по форуму:
Ответ Создать тему
Опции темы

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