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

Проблемы с кодом. Ругается на strcpy. Хелпните - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Графы. Поток минимальной стоимости http://www.cyberforum.ru/cpp-beginners/thread739679.html
Помогите кто может сделать тестовый пример для данной программы. Что-то не выходит у меня с вводом и выводом: данные читаются из файла(Input), результат записывается в файл(Output). #include...
C++ С++ Stack Помогите пожалуйста написать программы........Задали задание про программированию по стэкам , а я вообще не о чем про них......Нужно до понедельника(24.12.12) сдать чтобы на повторку не... http://www.cyberforum.ru/cpp-beginners/thread739657.html
C++ Работа с текстовыми файлами
Здравствуйте, хотелось бы получить помощь от специалистов в решении неск. задач, студенты народ бедный, но по-возможности отблагодарю. 1) Вставить символ "charg1" в конец строки "strarg"...
C++ Найти в диапазоне от 10 до 99 такие 3 последовательные числа, чтобы сумма их цифр была равна 15
Например: 13 14 15. 1+3+1+4+1+5=15.
C++ Считывание матрицы изз файла http://www.cyberforum.ru/cpp-beginners/thread739603.html
у меня есть файл в котором лежит информация в таком виде: 3 //количество вершин 3 //количество дуг A //название вершин B C -1 0 1 1 -1 0 1 -1 //сама матрица (матрица инцидентности) в...
C++ Связь элементов Здравствуйте! опять я сталкнулся с проблемой которую без вашей помощи врядли разберу. #include <iostream> #include <string> using namespace std; const int size = 100; подробнее

Показать сообщение отдельно
bestpalyer1
-1 / 1 / 0
Регистрация: 20.12.2012
Сообщений: 47
20.12.2012, 19:43  [ТС]
Цитата Сообщение от Schizorb Посмотреть сообщение
А setlocale вообще не пробовал?
Пробовал.

Добавлено через 1 час 11 минут
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
#include <iostream>
#include <string>
#include <cstring>
#include <Windows.h>
using namespace std;
 
 
char bufRus[256];
 
char* Rus(const char* text)
{
      CharToOemA(text, bufRus);
      return bufRus;
}
 
 
 
 
void Print(char***matr,int str,int stb)
{
    for(int i=0;i<str;i++)
    {
    for(int j=0;j<stb;j++)
    cout<<matr[i][j]<<"\t";
    cout<<"\n";
    }
}
 
 
 
 
char***del(char***matr,int str,int stb)
{
    int j,i;
    for(int i=str-1;i>-1;i--)
    for(j=stb-1;j>-1;j--)
    if(matr[i][j][0]!='\0')
    {
    strcpy(matr[i][j],"");
    return matr;
    }
 
    if(i==0 && j==0)
    cout << "Матрица пустая!";
    return matr;
}
 
 
 
void form(int str,int stb)
{
 
    char*vibor;
    vibor=new char[4];
    char***matr=new char**[str];
 
 
    for(int i=0;i<str;i++)
   {
    matr[i]=new char*[stb];
    for(int j=0;j<stb;j++)
    {
    cout << "\nВведите строку: ";
    char s[256];
    cin.getline(s,256);
    matr[i][j]=new char[strlen(s)+1];
    strcpy(matr[i][j],s);
    }
    }
 
 
    cout << "\n Если вы хотите распечатать матрицу введите yes, если нет, то no:";
    cin>>vibor;
    if(strcmp("yes",vibor)==0)
    Print(matr,str,stb);
    strcpy(vibor,"");
    cout << "\n Если вы хотите выполнить удаление, введите yes, если нет, то no:";
    cin>>vibor;
    if(strcmp("yes",vibor)==0)
    matr=del(matr,str,stb);
    strcpy(vibor,"");
    cout << "\n Если вы хотите выполнить печать новой матрицы, то введите yes,если нет, то no:";
    cin>>vibor;
    if(strcmp("yes",vibor)==0)
    Print(matr,str,stb);
}
 
 
void perekluchat()
{
int str,stb,h=0;
 
 
    cout << "Введите количество строк:";
    cin>>str;
 
    while(str<=0 || str>5)
    {
        cout << "Введите значение от 0 до 5:";
        cin >> str;
    }
 
    cout << "Введите количество столбцов:";
    cin>>stb;
 
    while(stb<=0 || stb>5)
    {
        cout << "Введите значение от 0 до 5:";
        cin >> stb;
    }
 
 
    while(h!=2)
    {
    cout << "Если вы хотите выполнить, создание новой матрицы, то введите 1, если вы хотите выйти, введите 2: \n";
    cin>>h;
    if(h==1)
    form(str,stb);
    if(h==2)
    break;
    }
}
 
 
int main()
{
    setlocale(LC_ALL,"RUS");
    perekluchat();
}

Я переписал ввод строки через getline, но когда я теперь ввожу ее,то 1 строка автоматом заполнена, сразу на 2 кидает!? Посмотрите. + Как применить CharToOemA для getline?
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru