Премини към съдържанието
Форумът в приложение

По-лесно сърфиране. Научи повече.

Kaldata.com - Форуми

Приложение на форума на цял екран с push известия, значки и други.

За да инсталирате това приложение на iOS и iPadOS
  1. Докоснете Иконата за споделяне в Safari
  2. Превъртете менюто и докоснете Добавяне към началния екран.
  3. Докоснете Добавяне в горния десен ъгъл.
За да инсталирате това приложение на Android
  1. Докоснете менюто с 3 точки (⋮) в горния десен ъгъл на браузъра.
  2. Докоснете Добавяне към началния екран или Инсталиране на приложение.
  3. Потвърдете, като докоснете Инсталиране.

Добре дошли!

Добре дошли в нашите форуми, пълни с полезна информация. Имате проблем с компютъра или телефона си? Публикувайте нова тема и ще намерите решение на всичките си проблеми. Общувайте свободно и открийте безброй нови приятели.

Моля, регистрирайте се за да публикувате тема и да получите пълен достъп до всички функции.

 

Структури-проблем

Featured Replies

Добре каква е разликата м/у двете и защо не се получава?

struct database {
  int id_number;
  int age;
  float salary;
};

int main()
{
  struct database employee;  
  employee.age = 22;
  employee.id_number = 1;
  employee.salary = 12000.21;
}
 struct students {
        char name;
        int F;
        float marks;
};
int grr(){
    struct students opa;
    opa.marks=3.50;
    opa.name=ivan;
    opa.F=5;
    
    
}
Нали 1во си създавам една структура с име database и след това променлива employee която има в себе си 3те параметъра на структурата database и ако искам да задам стойност на някой от параметрите на employee пиша employ.съответния параметър.Отдолу си създавам още една структура но в нея нямам само integer,когато се опитам да задам за name примерно иван си мисли че иван е някаква функция

" In function `int grr() `ivan' undeclared (first use this function) : "

В students първият ти параметър е само "char name;" Това означава само една един 8-битов char. Ти предполагам се опитваш да набуташ цялото име "ivan" в тоя параметър. Това няма как да стане. Промени структурата на:

char name[50];

и тогава:

opa.name="ivan";

Добре каква е разликата м/у двете и защо не се получава?

struct database {
  int id_number;
  int age;
  float salary;
};

int main()
{
  struct database employee;  
  employee.age = 22;
  employee.id_number = 1;
  employee.salary = 12000.21;
}
 struct students {
        char name;
        int F;
        float marks;
};
int grr(){
    struct students opa;
    opa.marks=3.50;
    opa.name=ivan;
    opa.F=5;
    
    
}
Нали 1во си създавам една структура с име database и след това променлива employee която има в себе си 3те параметъра на структурата database и ако искам да задам стойност на някой от параметрите на employee пиша employ.съответния параметър.Отдолу си създавам още една структура но в нея нямам само integer,когато се опитам да задам за name примерно иван си мисли че иван е някаква функция

" In function `int grr() `ivan' undeclared (first use this function) : "

  • Автор

Опитах го още пради да постна , не става.

struct database {
  int id_number;
  int age;
  float salary;
};

int main()
{
  struct database employee;  
  employee.age = 22;
  employee.id_number = 1;
  employee.salary = 12000.21;
}
 struct students {
        char name[50];
        int F;
        float marks;
};
int grr(){
    struct students opa;
    opa.marks=3.50;
    opa.name="ivan";
    opa.F=5;
    
    
}

" incompatible types in assignment of `const char[5]' to `char[50]' "

след това се опитах примерно дължината на char-а да е 5 символа char[5] колкото е иван и : ISO C++ forbids assignment of arrays

Редактирано от Xagec (преглед на промените)

  • 3 седмици по-късно...

Опитах го още пради да постна , не става.

struct database {
  int id_number;
  int age;
  float salary;
};

int main()
{
  struct database employee;  
  employee.age = 22;
  employee.id_number = 1;
  employee.salary = 12000.21;
}
 struct students {
        char name[50];
        int F;
        float marks;
};
int grr(){
    struct students opa;
    opa.marks=3.50;
    opa.name="ivan";
    opa.F=5;
    
    
}

" incompatible types in assignment of `const char[5]' to `char[50]' "

след това се опитах примерно дължината на char-а да е 5 символа char[5] колкото е иван и : ISO C++ forbids assignment of arrays

В този случай трябва да изпозлваш указател защото масивът към който той сочи ще е с недефинирана дължина и в момента на присвояването размерността на масива ще бъде инициализирана !

Ето как изглежа :

struct database {
  int id_number;
  int age;
  float salary;
};

int main()
{
  struct database employee;  
  employee.age = 22;
  employee.id_number = 1;
  employee.salary = 12000,21;
}
 struct students {
        char *name;
        int F;
        float marks;
};
int grr(){
    struct students opa;
    opa.marks=3.50;
    opa.name="ivan";
    opa.F=5;
	return 0;
    
    
}

Второ решение: Вместо да използваш досадния char , инклуудни библиотеката string и работи с нея ;)

Ето как изглежда:

#include <string>
using namespace std;
struct database {
  int id_number;
  int age;
  float salary;
};

int main()
{
  struct database employee;  
  employee.age = 22;
  employee.id_number = 1;
  employee.salary = 12000,21;
}
 struct students {
        string name;
        int F;
        float marks;
};
int grr(){
    struct students opa;
    opa.marks=3.50;
    opa.name="ivan";
    opa.F=5;
	return 0;
    
    
}

според мен това е по добрия вариант :rolleyes:

Ето и трети начин :

#include <string>
using namespace std;
int grr();
struct database {
  int id_number;
  int age;
  float salary;
};

int main()
{
  struct database employee;  
  employee.age = 22;
  employee.id_number = 1;
  employee.salary = 12000,21;
}
 struct students {
        char name[50];
        int F;
        float marks;
};
int grr(){
    struct students opa;
    opa.marks=3.50;
    strcpy(opa.name,"ivan");
    opa.F=5;
	return 0;
    
}

Поздрави sdn ! :)

Регистрирайте се или влезете в профила си за да коментирате

Разглеждащи това в момента 0

  • Няма регистрирани потребители разглеждащи тази страница.

Дарение

  • Подкрепи съществуването на форума - направи дарение
    32%
    Дарени 315 € от нужните 1 000 €

Бюлетин

Получавайте известие, когато има важна промяна или новина свързана с форума.

Профил

Навигация

Търсене

Търсене

Конфигуриране на push известия в браузъра

Chrome (Android)
  1. Докоснете иконата на катинар до адресната лента.
  2. Докоснете Разрешения → Известия.
  3. Променете предпочитанията си.
Chrome (Desktop)
  1. Кликнете върху иконата на катинар в адресната лента.
  2. Изберете Настройки на сайта.
  3. Намерете Известия и коригирайте предпочитанията си.