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

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

Войти
Регистрация
Восстановить пароль
 
mster-doc
14 / 14 / 4
Регистрация: 10.11.2012
Сообщений: 239
#1

Ошибка в коде. Помогите исправить. - C++

19.12.2012, 19:33. Просмотров 395. Ответов 13
Метки нет (Все метки)

Здравствуйте. Компилятору не нравитса моё проравнивание.
Что не так?
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
              cout << " Find Record "<< endl;
              
              int t;
              
              cout << " Enter account number: ";
              cin >> t;
              
              string m[5][4] = {{" 1"," fds"," fvd"," 2"},
                    {" 2"," nhj"," uky"," 3"},
                    {" 3"," njk"," mjy"," 4"},
                    {" 4"," mjk"," mkj"," 5"}};
                    
                    if(t = m[0][0])
                    {
                         cout << " Account number:" << m[0][0] << "\t\n User name:" << m[0][1] << "\t\n User surname:" << m[0][2] << "\t\n Balance:" << m[0][3] << endl;
                    }
                    else if(t = m[1][0])
                    {
                         cout << "\t\n\n Account number:" << m[1][0] << "\t\n User name:" << m[1][1] << "\t\n User surname:" << m[1][2] << "\t\n Balance:" << m[1][3] << endl;
                    }
                    else if(t = m[2][0])
                    {
                         cout << "\t\n\n Account number:" << m[2][0] << "\t\n User name:" << m[2][1] << "\t\n User surname:" << m[2][2] << "\t\n Balance:" << m[2][3] << endl;
                    }
                    else if(t = m[3][0])
                    {
                         cout << "\t\n\n Account number:" << m[3][0] << "\t\n User name:" << m[3][1] << "\t\n User surname:" << m[3][2] << "\t\n Balance:" << m[3][3] << endl;
                    }
                    else if(t = m[4][0])
                    {
                         cout << "\t\n\n Account number:" << m[4][0] << "\t\n User name:" << m[4][1] << "\t\n User surname:" << m[4][2] << "\t\n Balance:" << m[4][3] << endl;
                    }
                    else
                    {
                        cout << " Error. Sorry such account does not exist. Try again."
                    }
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.12.2012, 19:33
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Ошибка в коде. Помогите исправить. (C++):

Помогите исправить ошибку в коде - C++
7,3.cpp: In function ‘int main()’: 7,3.cpp:7:7: error: ‘int dist::feet’ is private int feet; ^ 7,3.cpp:44:15: error:...

Помогите исправить ошибку в коде с++ - C++
Решаю задачу с вот такими вычислениями. for(x=1;x &lt; r-1; x++) { while ((sqr(x) + sqr(y)) &gt; sqr(r)) { y=y-1; ...

Помогите, пожалуйста, исправить ошибки в коде - C++
const int n=20; int b; int i,j,c; for (i=1;i&gt;n,i++) { c=a; for(j=i-1;j&gt;=0&amp;&amp;a&gt;c;j--) a=a; a=c; }

Помогите найти и исправить ошибку в коде - C++
Не очень хорошо пока что понимаю язык,поэтому,думаю,косяков довольно много. Используя глобальные переменные,нужно обеспечить передачу...

Помогите исправить ошибку в коде (fatal error LNK1120: unresolved externals) я новичек - C++
Народ, всем доброго вечера! помогите пожалуйста найти линк еррор. Вот мой код // SavingsAccount.h #ifndef SAVINGSACCOUNT_H #define...

Непонятная ошибка в нормальном (надеюсь) коде, как исправить? - C++
#include &quot;stdafx.h&quot; #include &lt;string.h&gt; void TaskPaste(FILE * f, FILE * k, char K, char S) { freopen(&quot;file.txt&quot;, &quot;wt&quot;, f); for...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Schizorb
509 / 461 / 16
Регистрация: 07.04.2012
Сообщений: 865
Записей в блоге: 1
Завершенные тесты: 1
19.12.2012, 19:35 #2
t = m[0][0] - типы не совпадают, строку с целым значением сравниваешь. К тому же, операция сравнения ==

Да и вообще, циклы же есть. А если в матрице 100 строк будет или 1000?
v.a.l.i.d
412 / 377 / 10
Регистрация: 21.09.2012
Сообщений: 913
19.12.2012, 19:35 #3
Цитата Сообщение от mster-doc Посмотреть сообщение
if(t = m[0][0])
C++
1
if(t == m[0][0])
mster-doc
14 / 14 / 4
Регистрация: 10.11.2012
Сообщений: 239
19.12.2012, 19:47  [ТС] #4
Цитата Сообщение от v.a.l.i.d Посмотреть сообщение
C++
1
if(t == m[0][0])
тоже не работает

Добавлено через 4 минуты
Цитата Сообщение от Schizorb Посмотреть сообщение
t = m[0][0] - типы не совпадают, строку с целым значением сравниваешь. К тому же, операция сравнения ==

Да и вообще, циклы же есть. А если в матрице 100 строк будет или 1000?
Я могу только циклом пробижатся по масиву чтобы он мне подряд всё вывел, но незнаю как из него вытащить оприделённый элемент, и ещё незнаю как сделать чтобы из этого цикла оккуратно выдоваласть бы информация на экран, ото он сплошным текстом всё выдаёт.
Если не трудно подскажите пожалуйсто.
Schizorb
509 / 461 / 16
Регистрация: 07.04.2012
Сообщений: 865
Записей в блоге: 1
Завершенные тесты: 1
19.12.2012, 20:06 #5
Цитата Сообщение от mster-doc Посмотреть сообщение
как из него вытащить оприделённый элемент
C++
1
2
3
4
5
for(int i = 0; i < size; ++i)
{
    if(arr[i][0] == t)
    ....... 
}
Цитата Сообщение от mster-doc Посмотреть сообщение
он сплошным текстом всё выдаёт.
использовать пробелы, табуляции и переход на новую строку. У тебя же есть это в коде...

Добавлено через 7 минут
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
#include <iostream>
#include <string>
using namespace std;
 
int main()
{            
    const int rows = 5;
    const int cols = 4;
    
    string m[rows][cols] = 
    {
        {"1"," fds"," fvd"," 2"},
        {"2"," nhj"," uky"," 3"},
        {"3"," njk"," mjy"," 4"},
        {"4"," mjk"," mkj"," 5"}
    };
    
    string t;
    
    cout << " Find Record "<< endl;
    cout << " Enter account number: ";
    cin >> t;
 
    bool find = false;
    
    for(int i = 0; i < rows; ++i)
    {
        if(m[i][0] == t)
        {
            find = true;
            cout << " Account number:" << m[i][0] 
                 << "\n User name:" << m[i][1] 
                 << "\n User surname:" << m[i][2] 
                 << "\n Balance:" << m[i][3] << endl;
        }
    }
 
    if(!find)
    {
        cout << " Error. Sorry such account does not exist. Try again\n";
    }
 
    return 0;
}
И вообще, удобнее же структуру использовать, не? Смысл хранить номер в строковой переменной
mster-doc
14 / 14 / 4
Регистрация: 10.11.2012
Сообщений: 239
19.12.2012, 20:16  [ТС] #6
И проще и нет. Со структурами ещё хуже))
C++
1
2
3
4
5
6
7
struct clientData
{
       int accNum;
       char Name[10];
       char Sur[15];
       float balance;
};
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
cout << " Add new recourd "<< endl;
              
              clientData recourd[1];
              
              for(int i = 0; i < 1; i++)
              {
                      cout << " Input account number: ";
                      cin >> recourd[i].accNum;
                      
                      cout << " Input client name: ";
                      cin >> recourd[i].Name;
                      
                      cout << " Input client surname: ";
                      cin >> recourd[i].Sur;
                      
                      cout << " Input client balance: ";
                      cin >> recourd[i].balance;
                      
              }

но вот как из этого сделать список...
Schizorb
509 / 461 / 16
Регистрация: 07.04.2012
Сообщений: 865
Записей в блоге: 1
Завершенные тесты: 1
19.12.2012, 20:27 #7
C++
1
2
3
4
5
6
7
const int size = 4;
clientData m[size];
 
for(int i = 0; i < size; ++i)
{
    //ввод
}
Добавлено через 4 минуты
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
#include <iostream>
#include <string>
using namespace std;
 
struct clientData
{
       int accNum;
       char Name[10];
       char Sur[15];
       float balance;
};
 
int main()
{            
    const int size = 4;
    
    clientData m[size];
    
 
    for(int i = 0; i < size; ++i)
    {
        cout << " Input account number: ";
        cin >> m[i].accNum;
 
        cout << " Input client name: ";
        cin >> m[i].Name;
 
        cout << " Input client surname: ";
        cin >> m[i].Sur;
 
        cout << " Input client balance: ";
        cin >> m[i].balance;
        
        cout << "\n";
    }
    
    
    int t;
    
    cout << " \n\nFind Record "<< endl;
    cout << " Enter account number: ";
    cin >> t;
 
    
    bool find = false;
    
    for(int i = 0; i < size; ++i)
    {
        if(m[i].accNum == t)
        {
            find = true;
            cout << " Account number:" << m[i].accNum
                 << "\n User name:" << m[i].Name
                 << "\n User surname:" << m[i].Sur
                 << "\n Balance:" << m[i].balance << endl;
        }
    }
 
    if(!find)
    {
        cout << " Error. Sorry such account does not exist. Try again\n";
    }
 
    return 0;
}
mster-doc
14 / 14 / 4
Регистрация: 10.11.2012
Сообщений: 239
19.12.2012, 21:14  [ТС] #8
а как сделать список из структур?
просто так получаетса всего только 1 элемент списка из 4х пунктов
Schizorb
509 / 461 / 16
Регистрация: 07.04.2012
Сообщений: 865
Записей в блоге: 1
Завершенные тесты: 1
19.12.2012, 21:27 #9
Как это 1, когда у меня массив структур?
mster-doc
14 / 14 / 4
Регистрация: 10.11.2012
Сообщений: 239
19.12.2012, 22:01  [ТС] #10
а как сделать так чтобы ново введённое имя номер аакаунта фамилия и баланс добовлялось в список?
Schizorb
509 / 461 / 16
Регистрация: 07.04.2012
Сообщений: 865
Записей в блоге: 1
Завершенные тесты: 1
19.12.2012, 22:04 #11
mster-doc, все уже сделано, не тупи.
mster-doc
14 / 14 / 4
Регистрация: 10.11.2012
Сообщений: 239
19.12.2012, 22:15  [ТС] #12
простите сглупил с вопросом

Добавлено через 7 минут
сущиствует ли в языке С++ какойнибудь скрипт удоляющий запись?
если мне нужно удолить определённую запись из списка?
Schizorb
509 / 461 / 16
Регистрация: 07.04.2012
Сообщений: 865
Записей в блоге: 1
Завершенные тесты: 1
19.12.2012, 22:32 #13
Цитата Сообщение от mster-doc Посмотреть сообщение
сущиствует ли в языке С++ какойнибудь скрипт удоляющий запись
Если просто массив, то как вариант "удалять" сдвигом последующих.

Или используй контейнеры STL.
mster-doc
14 / 14 / 4
Регистрация: 10.11.2012
Сообщений: 239
19.12.2012, 22:56  [ТС] #14
почему данное выражение компилятором не принимается?
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
              int d;
              
              cout << " Change the balance of the account "<< endl;
              
              cout << " Enter account number:";
              cin >> d;
              
              const int size = 4;
              clientData m[size];
 
              
                 bool find = false;
                 
                 for(int i = 0; i < size; ++i)
                 {
                         if(m[i].accNum == d)
                         {
                                        find = true;
                                        cout << " Account number:" << m[i].accNum
                                             << "\n User name:" << m[i].Name
                                             << "\n User surname:" << m[i].Sur
                                             << "\n Balance:" << m[i].balance << endl;
                                             
                                        cout << " Enter new balance:"
                                        cin >> m[i].balance;
                         }
                 }
                 
                 if(!find)
                 {
                          cout << " Error. Sorry such account does not exist. Try again\n";
                 }
а именно строку ввода нового баланца

C++
1
2
3
4
5
6
7
                                        cout << " Account number:" << m[i].accNum
                                             << "\n User name:" << m[i].Name
                                             << "\n User surname:" << m[i].Sur
                                             << "\n Balance:" << m[i].balance << endl;
                                             
                                        cout << " Enter new balance:"
                                        cin >> m[i].balance;
Добавлено через 19 минут
всё, спасибо, сообразил я забыл ";"
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.12.2012, 22:56
Привет! Вот еще темы с ответами:

Ошибка в методе, помогите исправить - C++
Помогите дописать 1 метод... Нужна функция-друг, которая позволяет вывести размер заработанной платы каждого сотрудника фирмы за вычетом...

Программа-ошибка. Помогите исправить - C++
Порядок на точках плоскости определим следующим образом: (х,у)=&lt;(u,v), если либо x=&lt;v. Перечислить точки заданного множества точек на...

Поиск последовательностей в одномерном массиве. В моем коде ошибка, нужно ее исправить - C++
Задание: в целочисленном массиве найти две группы наименьшей длины, состоящие из составных чисел. Ниже я прикрепляю свой код, в нем где-то...

Где и что исправить в коде ? Ошибка :sumSequence должна возвращать значение - C++
#include #include #include using namespace std; void displayExplanation(void) { cout &lt;&lt; &quot;Eta porgramma sumiryet...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
19.12.2012, 22:56
Ответ Создать тему
Опции темы

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