0 / 0 / 0
Регистрация: 09.09.2019
Сообщений: 42
1

Вылезает C2440: '=' : cannot convert from 'const char [7]' to 'char'

12.11.2019, 19:27. Показов 566. Ответов 2
Метки нет (Все метки)

В коде есть строки и им нужно присвоить значение, через обычное = вылезает
C2440: '=' : cannot convert from 'const char [7]' to 'char'

Также, как вывести таблицу в консоль используя не табуляцию (\t), а знак '|'?

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
// LavaforKirya.cpp : Этот файл содержит функцию "main". Здесь начинается и заканчивается выполнение программы.
//
 
#include"stdafx.h"
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <iostream>
#include <string>
 
 
using namespace std;
struct industry{
    char name;
    char count;
    float y1913;
    float y1928;
    float y1940;
    float y1958;
};
 
 
int main()
{
    setlocale(LC_ALL, "RU");
    industry a[6];
 
    a[0].name = "Станки";
    a[0].count = "тыс. шт.";
    a[0].y1913 = 1.5;
    a[0].y1928 = 2;
    a[0].y1940 = 58.4;
    a[0].y1958 = 138;
    ///////////////////////////
    a[1].name = "Турбины";
    a[1].count = "тыс. кВт";
    a[1].y1913 = 5.9;
    a[1].y1928 = 44.1;
    a[1].y1940 = 1179;
    a[1].y1958 = 6031;
    //////////////////////////
    a[2].name = "Экскаватор";
    a[2].count = "шт.";
    a[2].y1913 = NULL;
    a[2].y1928 = NULL;
    a[2].y1940 = 274;
    a[2].y1958 = 10105;
    //////////////////////////
    a[3].name = "Цемент";
    a[3].count = "млн. тонн";
    a[3].y1913 = 1.5;
    a[3].y1928 = 1.8;
    a[3].y1940 = 5.7;
    a[3].y1958 = 33.1;
    //////////////////////////
    a[4].name = "Автомобили";
    a[4].count = "тыс. шт.";
    a[4].y1913 = NULL;
    a[4].y1928 = 0.84;
    a[4].y1940 = 145.4;
    a[4].y1958 = 511;
    //////////////////////////
    a[5].name = "Тракторы";
    a[5].count = "тыс. шт.";
    a[5].y1913 = NULL;
    a[5].y1928 = 1.3;
    a[5].y1940 = 31.6;
    a[5].y1958 = 219.7;
    //////////////////////////
    for (int i = 0; i < 6; i++) {
        printf("|%s|%s|%f|%f|%f|"); // НА ЭТУ СТРОКУ РУГАЕТСЯ КОМПИЛЯТОР ТОЖЕ, НАДО \t ЗАМЕНИТЬ ЗНАКОМ '|'
    }
    //////////////////////////
    // Сортировка методом "Пузырька"
    int temp;
    for (int i = 0; i < 5; i++) {
        for (int j = 0; j < 5 - i; j++) {
            if (a[j].y1928 > a[j + 1].y1928) {
                // меняем элементы местами
                temp = a[j].y1928;
                a[j].y1928 = a[j + 1].y1928;
                a[j + 1].y1928 = temp;
            }
        }
    }
    ////////////////////////////
    printf("\n");
    printf("В 1928 году максимальным  было производство - %s в количестве", a[5].name);
    printf("%d %f", a[5].y1928, a[5].count);
    printf("\n");
 
 
 
    system("pause");
    return 0;
}
Тот же код на C++, на котором выводится таблица через табуляцию и выводится криво
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
// LavaforKirya.cpp : Этот файл содержит функцию "main". Здесь начинается и заканчивается выполнение программы.
//
 
 
#include"stdafx.h"
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <iostream>
#include <string>
 
using namespace std;
struct industry{
    string name;
    string count;
    float y1913;
    float y1928;
    float y1940;
    float y1958;
};
 
 
int main()
{   
    setlocale(LC_ALL, "RU");
    industry a[6];
 
    a[0].name = "Станки";
    a[0].count = "тыс. шт.";
    a[0].y1913 = 1.5;
    a[0].y1928 = 2;
    a[0].y1940 = 58.4;
    a[0].y1958 = 138;
    ///////////////////////////
    a[1].name = "Турбины";
    a[1].count = "тыс. кВт";
    a[1].y1913 = 5.9;
    a[1].y1928 = 44.1;
    a[1].y1940 = 1179;
    a[1].y1958 = 6031;
    //////////////////////////
    a[2].name = "Экскаватор";
    a[2].count = "шт.";
    a[2].y1913 = NULL;
    a[2].y1928 = NULL;
    a[2].y1940 = 274;
    a[2].y1958 = 10105;
    //////////////////////////
    a[3].name = "Цемент";
    a[3].count = "млн. тонн";
    a[3].y1913 = 1.5;
    a[3].y1928 =1.8;
    a[3].y1940 = 5.7;
    a[3].y1958 = 33.1;
    //////////////////////////
    a[4].name = "Автомобили";
    a[4].count = "тыс. шт.";
    a[4].y1913 = NULL;
    a[4].y1928 = 0.84;
    a[4].y1940 = 145.4;
    a[4].y1958 = 511;
    //////////////////////////
    a[5].name = "Тракторы";
    a[5].count = "тыс. шт.";
    a[5].y1913 = NULL;
    a[5].y1928 = 1.3;
    a[5].y1940 = 31.6;
    a[5].y1958 = 219.7;
    //////////////////////////
    for (int i = 0; i < 6; i++) {
        cout << a[i].name << "\t" << a[i].count << "\t" << a[i].y1913 << "\t"<< a[i].y1928 << "\t" << a[i].y1940 << "\t" << a[i].y1958 << endl;
    }
    //////////////////////////
    // Сортировка методом "Пузырька"
    int temp;
    for (int i = 0; i < 5; i++) {
        for (int j = 0; j < 5 - i; j++) {
            if (a[j].y1928 > a[j + 1].y1928) {
                // меняем элементы местами
                temp = a[j].y1928;
                a[j].y1928 = a[j + 1].y1928;
                a[j + 1].y1928 = temp;
            }
        }
    }
    ////////////////////////////
    cout << endl;
    cout << "В 1928 году максимальным  было производство - " << a[5].name << " в количестве ";
    cout << a[5].y1928 << " " << a[5].count << endl;
    cout << endl;
    
system("pause");
    return 0;
}
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
12.11.2019, 19:27
Ответы с готовыми решениями:

CONST_RETURN char *__cdecl strstr (const char *_Str, const char *_SubStr)
#include &lt;stdio.h&gt; #include &lt;string.h&gt; char tracks = { &quot;ya ostavil svoe serdce v harvardskom...

Error cannot convert 'int*' to 'const char*'
Сама задача: Описать структуру с именем NOTE, содержащую следующие поля: -фамилия, имя; -номер...

Не могу исправить ошибку cannot convert 'int ' to 'const char *'
Добрый день! Задание состоит в том, что задав структуру Recipe(рецепт) полям которой есть: название...

Error C2440: =: невозможно преобразовать 'char (*)[150]' в 'char *'
Есть следующая задача. Написать программу, которая запрашивает количество родственников в семье, а...

2
С чаем беда...
Эксперт CЭксперт С++
9265 / 4763 / 1290
Регистрация: 18.10.2014
Сообщений: 10,850
12.11.2019, 19:46 2
Цитата Сообщение от terletsky Посмотреть сообщение
В коде есть строки и им нужно присвоить значение, через обычное = вылезает
Во-первых, в языке С нет и никогда не было возможности присваивать массивы "через обычное =".

Во-вторых, где у вас "строки" вообще? У вас поля объявлены с типом char. char - это один символ. Что вы хотели этим сказать? Как вы собрались в один символ запихнуть целую строку?
0
0 / 0 / 0
Регистрация: 09.09.2019
Сообщений: 42
12.11.2019, 19:47  [ТС] 3
Можешь помочь, как тогда написать?
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
12.11.2019, 19:47

Error c2440: невозможно преобразовать 'const char [2]' в 'char'
С недавних пор я решил почитать и поучиться программировать, так сказать занять себя чем нибудь...

error C2440: =: невозможно преобразовать 'const char *' в 'char *'
есть вот такой кусок кода int getLex(){ int i = iCurrPos; char strLex, * cp; int j; while...

Warring: char * convert to const char * при трансляции
Не подскажет ли кто, как при трансляции на gcc убрать этот warring ? В info-gcc описана куча...

Error C2440: return: невозможно преобразовать "const char *" в "const char (&)[6]"
Вроде все правильно а все равно не работает. Подскажите в чем ошибка #include &lt;iostream&gt; ...


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

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

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