Вот структура
struct kolledg // Ñîçäàíèå ñòðóêòóðû
{
char fio[dlina_vvoda];
char stat_pol[dlina_vvoda];
char spezialnost = ' ';
float balu_ukrainska;
float balu_matematuka;
float sr_atestat;
int number_specialty;
};
в другой функции полю специальность нужно присвоить массив символ! Вот он :
void Assigning_specialty( int number )
{
char programming = 'Ïðîãðàììèðîâàíèå ';
char comp_ob = 'Êîìïüþòåðíîå Îáñëóæèâàíèå';
char bugalter = 'Áóõãàëòåðñêèé Ó÷åò ';
char electric = 'Ìåõàíèêà è Ýëåêòðèêà ';
char svarka = 'Ñâàðêà ';
if ( number == one ) vstup[number_menu].spezialnost = programming;
if ( number == two ) vstup[number_menu].spezialnost = comp_ob;
if ( number == one+two ) vstup[number_menu].spezialnost = bugalter;
if ( number == two+two ) vstup[number_menu].spezialnost = electric;
if ( number == 5 ) vstup[number_menu].spezialnost = svarka;
}
Выдает ошибку каким способом это можно сделать?
Другие языки программирования и технологии
Помогите плиз с присвоением строк с++
Массивы напрямую в C++ не присваиваются. Да и вообще это строки char[] - доставшиеся в наследство от С, их присваивание делается наследованной от С функцией strcpy. А в C++ рекомендуется пользоваться гораздо более мощными строками класса string, там и присваивание напрямую есть.. .
А у тебя и вовсе присваиваются не строки, а многобайтные символы...
А у тебя и вовсе присваиваются не строки, а многобайтные символы...
Просто char без [] это один символ, а ты туда слова пытаешься всунуть)
Программа не вся, структура должна быть такая, тогда у меня ругается толко ан неопределенные переменные:
struct kolledg
{
char fio[20];
char stat_pol[20];
char spezialnost;
float balu_ukrainska;
float balu_matematuka;
float sr_atestat;
int number_specialty;
};
void Assigning_specialty( int number )
{
char programming[] = "Proger";
char comp_ob[] = "Sysadmin";
char bugalter[] = "Bux";
char electric[] = "Electro";
char svarka[] = "Svarka";
if ( number == one ) vstup[number_menu].spezialnost = programming;
if ( number == two ) vstup[number_menu].spezialnost = comp_ob;
if ( number == one+two ) vstup[number_menu].spezialnost = bugalter;
if ( number == two+two ) vstup[number_menu].spezialnost = electric;
if ( number == 5 ) vstup[number_menu].spezialnost = svarka;
}
Программа не вся, структура должна быть такая, тогда у меня ругается толко ан неопределенные переменные:
struct kolledg
{
char fio[20];
char stat_pol[20];
char spezialnost;
float balu_ukrainska;
float balu_matematuka;
float sr_atestat;
int number_specialty;
};
void Assigning_specialty( int number )
{
char programming[] = "Proger";
char comp_ob[] = "Sysadmin";
char bugalter[] = "Bux";
char electric[] = "Electro";
char svarka[] = "Svarka";
if ( number == one ) vstup[number_menu].spezialnost = programming;
if ( number == two ) vstup[number_menu].spezialnost = comp_ob;
if ( number == one+two ) vstup[number_menu].spezialnost = bugalter;
if ( number == two+two ) vstup[number_menu].spezialnost = electric;
if ( number == 5 ) vstup[number_menu].spezialnost = svarka;
}
Обрати внимание, какие кавычки используются для строковых литералов!
1) Определить МАХ, необходимым и достаточным для хранения названия специальности любой длины
struct kolledg {
...
char spezialnost[MAX];
...
};
...
... strcpy(vstup[number_menu].spezialnost, "Программирование");
2) #include <string>, использовать std::string для строк
struct kolledg {
...
string spezialnost;
...
};
...
... vstup[number_menu].spezialnost = "Программирование";
3) Придумывать всякие извращения, чтобы не было предупреждений или ошибок компиляции
struct kolledg {
...
char *spezialnost;
...
};
...
... vstup[number_menu].spezialnost = const_cast<char *>("Программирование");
4) Использовать динамическую память.
Даже примера не буду приводить. Запутаешься с указателями, выделением/освобождением, лучше всего используй std::string.
1) Определить МАХ, необходимым и достаточным для хранения названия специальности любой длины
struct kolledg {
...
char spezialnost[MAX];
...
};
...
... strcpy(vstup[number_menu].spezialnost, "Программирование");
2) #include <string>, использовать std::string для строк
struct kolledg {
...
string spezialnost;
...
};
...
... vstup[number_menu].spezialnost = "Программирование";
3) Придумывать всякие извращения, чтобы не было предупреждений или ошибок компиляции
struct kolledg {
...
char *spezialnost;
...
};
...
... vstup[number_menu].spezialnost = const_cast<char *>("Программирование");
4) Использовать динамическую память.
Даже примера не буду приводить. Запутаешься с указателями, выделением/освобождением, лучше всего используй std::string.
Похожие вопросы
- Дана матрица размером NxM. Упорядочить ее строки по неубыванию их наибольших элементов. в делфи помогите плиз срочно
- Помогите плиз!Определяет какой из двух символ встречается чаще в данной строке? Паскаль
- Помогите найти ошибку...Pascal (строки)
- Кто поможет, плиз, перевести изображение текста в ворд (у меня нет файнридера) ?
- Для тех кто разбирается в Turbo Pascal 7.0 помогите плиз))))
- Помогите плиз задолбала эта ошибка!
- Помогите плиз поставить загрузку с CD
- Помогите плиз!!Задача в Паскале
- Помогите плиз с DOS кодом
- Помогите плиз!!! СРОЧНО!!!