Не могу создать переменную структуру. Если мы объявляем структуру в том же файле где и main функция, то все инициализируется нормально. Я вынес структуру в отдельный файл, прописал структуру в заголовочный файл который ссылается на файл с структурой и подключил к основному файлу. Может я как то не правильно подключаю файл, хотя до этого функции из других файлов видел. Но все равно не могу инициализировать переменную структуры. Прилагаю код файлов: University_Task_7.cpp
#include "University_Task_7.h"
#include <iostream>
#include <stdio.h>
#include <fstream>
#include <sstream>
#pragma warning(disable:4996);
struct Student
{
public:
Student(std::string surname, int group, int year, int phys, int math, int computer_science)
{
this->Surname = surname;
this->year_of_birthday = year;
this->number_group = group;
rate.computer_science = computer_science;
rate.math = math;
rate.phys = phys;
average_mark = (phys + math + computer_science) / 3.0;
}
struct rating
{
int phys;
int math;
int computer_science;
};
std::string Surname;
int year_of_birthday;
int number_group;
double average_mark;
rating rate;
};
void Creating(char path[], char mode[])
{
try
{
FILE* file;
file = fopen("text.txt", "w+t");
fclose(file);
delete file;
}
catch (int a)
{
std::cout << "Error number " + a;
}
}
void AddInFile(Student student, char path[], char mode[], char filename[])
{
std::string path = strcat(path, filename);
std::string stud = "Фамилия: " + student.Surname + "\n";
stud += "Номер группы: " + student.number_group;
stud += "Физика: " + student.rate.phys;
stud += "Математика: " + student.rate.math;
stud += "Информатика: " + student.rate.computer_science;
stud += "Средний бал: " + std::to_string(student.average_mark);
std::ofstream file;
file.open(path);
if (file.is_open())
file << stud;
}
void View(int group, std::string path)
{
}
University_Task_7.h
#ifndef UNIVERSITY_TASK_7
#define UNIVERSITY_TASK_7
struct Student;
void Creating(char path[], char mode[]);
#endif
UniversityTasks.cpp
#include <iostream>
#include "University_Task_2.h"
#include "University_Task_3.h"
#include "University_Task_4.h"
#include "University_Task_5.h"
#include "University_Task_6.h"
#include "University_Task_7.h"
const double PI = 3.1415926;
int main()
{
system("color 70");
setlocale(LC_ALL, "Russian");
Student student = new Student();
char path[256];
std::cin >> path;
char mode[3];
std::cin >> mode;
Creating(path,mode);
system("pause");
return 0;
}
Брр. UniversityTasks.cpp
знает только, что есть какая-то структура Student
, но какая - ему неизвестно.
В заголовочный файл следует вынести полное (не предварительное!) объявление
struct Student
{
public:
Student(std::string surname, int group, int year, int phys, int math, int computer_science)
{
this->Surname = surname;
this->year_of_birthday = year;
this->number_group = group;
rate.computer_science = computer_science;
rate.math = math;
rate.phys = phys;
average_mark = (phys + math + computer_science) / 3.0;
}
struct rating
{
int phys;
int math;
int computer_science;
};
std::string Surname;
int year_of_birthday;
int number_group;
double average_mark;
rating rate;
};
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
При удалении спрайта функциями this->removeChild(sprite,true); или this->removeChildByTag(1) или sprite->removeFromParent(); вылетает играВ чём заключается проблема? Вроде...
Есть такой код, как я понял он полностью отключает соединения, мне интересно для чего его используют в UDP сетиИли его вообще не используют...
В С++ я полный ноль, начал изучать по нужде буквально сутки назадЕсть проблема
Столкнулся с такой проблемойМне необходимо записать слова в два массива