Добавить 2.cpp

This commit is contained in:
2025-11-25 20:50:58 +02:00
parent 51b37f16be
commit 6d6eacab67

317
2.cpp Normal file
View File

@@ -0,0 +1,317 @@
//#pragma warning(disable:4996)
//#include <iostream>
//#include <stdio.h>
//#define MAX_SIZE 50
//#define MAX_L 4096
//using namespace std;
//struct StudentStruct {
// //public
// int id{ 0 };
// void setId(int id) {
// if(this->id ==0) this->id = id;
// }
//};
//
//class Student {
//
//public:
// void setId(int id);
//
// void setName(char* name_);
//
// void setInform(const char* inf);
//
// int getId()const;
//
// const char* getName()const;
//
// //char* getInform()const {
// // return (inform != nullptr) ? inform : new char[MAX_SIZE] {"NoInform"};
// //}
// const char* getInform()const;
//
//
//
//
// void show()const;
//
// const char* studentToString()const;
////protected:
// // Student(){}
// //
// //Student(){
// // id = 0;
// // strcpy(name, "NoName");
// // inform = nullptr;
// //}
//
// Student();
//
// Student(int id, const char* name_);
//
// Student(int id, const char* name_, const char* inf);
//
// ~Student();
//private:
// int id;// { 0 };
// char name[MAX_SIZE];// {"NoName"};
// char* inform;// { nullptr };
//};
//
//inline void Student::setId(int id) {
// if (this->id == 0) this->id = id;
//}
//
//inline void Student::setName(char* name_) {//(const char*)
// if (name_ == nullptr) return;
// strcpy_s(name, strlen(name_) + 1, name_);
//}
//
//inline void Student::setInform(const char* inf) {
// if (inf == nullptr) return;
// if (inform != nullptr) delete[] inform;//?
// inform = new char[strlen(inf) + 1];
// strcpy_s(inform, strlen(inf) + 1, inf);
//}
//
//inline int Student::getId()const {
// return id;
//}
//
//inline const char* Student::getName()const {
// char* str = new char[MAX_L] { "" };
// strcpy(str, name);
// return str;
//}
//
//inline const char* Student::getInform()const {
// if (inform == nullptr) return "NoInform";
// char* str = new char[MAX_L] { "" };
// strcpy(str, inform);
// return str;
//}
//
//
//
//
//inline void Student::show()const {
// cout << "Id= " << id
// << "\nName " << name
// << "\nInform " << getInform()// ((inform != nullptr) ? inform : "NoInform")
// << endl;
//}
//
//inline const char* Student::studentToString()const {
// char* str = new char[MAX_L] { "" };
// //strcat_s(str, "Id= ");
// sprintf(str, "Id = %d \nName %s \nInform %s ", id, name, getInform());
// //%d %i - int
// //%f %e %g -float double
// //%s - string const char* char*
// return str;
//}
//
//
//Student::Student() :id{ 0 }, name{ "NoName" }, inform{ nullptr }{
// cout << "\n Create student: " << this << endl;
//}
//
//Student::Student(int id, const char* name_) :id{ id }, inform{ nullptr }{
// /* if (name_ == nullptr) return;
// strcpy_s(name, strlen(name_) + 1, name_);*/
// cout << "\n Create student: " << this << endl;
// setName((char*)name_);
//}
//
//Student::Student(int id, const char* name_, const char* inf) :id{ id } {
// /* if (name_ == nullptr) return;
// strcpy_s(name, strlen(name_) + 1, name_);
// if (inf == nullptr) return;
// inform = new char[strlen(inf) + 1];
// strcpy_s(inform, strlen(inf) + 1, inf);*/
// cout << "\n Create student: " << this << endl;
// setName((char*)name_);
// setInform(inf);
//}
//
//Student::~Student() {
// cout << "\n Delete student: " << this << endl;
// if (inform != nullptr) delete[] inform;
//}
//
//int main() {
// //int a;
// //a = 5;
// //int b{ 5 };
// //auto c = 5;
// {
// Student student;
// cout << "\nStudent( create):\n"
// << student.studentToString()
// << endl;
// Student student1{2, "Olya" };
// student1.show();
// Student* pStud = new Student(3, "Sasha");
// pStud->show();
// Student student3{ 12,"Ivan","Good student"};
// cout << "\nStudent: " << student3.studentToString() << endl;
// delete pStud;
// }//~Student()
//
// cout << "End program" << endl;
// //system("pause");
// system("pause");
//}
#pragma warning(disable:4996)
#include <iostream>
#include <stdio.h>
#define MAX_SIZE 50
#define MAX_L 4096
#define PHONE 15
#define BIRTDATE 20
using namespace std;
class Student {
public:
Student(int id = 0, const char* name = "NoName", const char* birthDate = "NoDate", const char* phone = "0000000000",
const char* city = "NoCity", const char* country = "NoCountry", const char* university = "NoUniversity", const char* group = "NoGroup");
~Student();
void setId(int id);
int getId() const;
void setName(const char* name);
const char* getName() const;
void setBirthDate(const char* birthDate);
const char* getBirthDate() const;
void setPhone(const char* phone);
const char* getPhone() const;
void setCity(const char* city);
const char* getCity() const;
void setCountry(const char* country);
const char* getCountry() const;
void setUniversity(const char* university);
const char* getUniversity() const;
void setGroup(const char* group);
const char* getGroup() const;
const char* studentToString() const;
private:
int id;
char name[MAX_SIZE];
char birthDate[BIRTDATE];
char phone[PHONE];
char city[MAX_SIZE];
char country[MAX_SIZE];
char university[MAX_SIZE];
char group[MAX_SIZE];
};
Student::Student(int id, const char* name, const char* birthDate, const char* phone,
const char* city, const char* country, const char* university, const char* group) : id(id) {
setName(name);
setBirthDate(birthDate);
setPhone(phone);
setCity(city);
setCountry(country);
setUniversity(university);
setGroup(group);
cout << "\n Create student: " << this << endl;
}
Student::~Student() {
cout << "\n Delete student: " << this << endl;
}
void Student::setId(int id) {
this->id = id;
}
int Student::getId() const {
return id;
}
void Student::setName(const char* name) {
strncpy(this->name, name, MAX_SIZE - 1);
this->name[MAX_SIZE - 1] = '\0';
}
const char* Student::getName() const {
return name;
}
void Student::setBirthDate(const char* birthDate) {
strncpy(this->birthDate, birthDate, MAX_SIZE - 1);
this->birthDate[MAX_SIZE - 1] = '\0';
}
const char* Student::getBirthDate() const {
return birthDate;
}
void Student::setPhone(const char* phone) {
strncpy(this->phone, phone, MAX_SIZE - 1);
this->phone[MAX_SIZE - 1] = '\0';
}
const char* Student::getPhone() const {
return phone;
}
void Student::setCity(const char* city) {
strncpy(this->city, city, MAX_SIZE - 1);
this->city[MAX_SIZE - 1] = '\0';
}
const char* Student::getCity() const {
return city;
}
void Student::setCountry(const char* country) {
strcpy_s(this->country, country);
//this->country[MAX_SIZE - 1] = '\0';
}
const char* Student::getCountry() const {
return country;
}
void Student::setUniversity(const char* university) {
strncpy(this->university, university, MAX_SIZE - 1);
this->university[MAX_SIZE - 1] = '\0';
}
const char* Student::getUniversity() const {
return university;
}
void Student::setGroup(const char* group) {
strncpy(this->group, group, MAX_SIZE - 1);
this->group[MAX_SIZE - 1] = '\0';
}
const char* Student::getGroup() const {
return group;
}
const char* Student::studentToString() const {
static char str[MAX_L];
sprintf(str, "ID: %d\nName: %s\nBirth Date: %s\nPhone: %s\nCity: %s\nCountry: %s\nUniversity: %s\nGroup: %s\n",
id, name, birthDate, phone, city, country, university, group);
return str;
}
int main() {
Student student{ 1, "Vova"};
cout << student.studentToString() << endl;
Student student1{ 2, "Alice", "02/03/2000" };
cout << student1.studentToString() << endl;
Student* pStud = new Student(3, "Bob", "15/08/1999", "9876543210", "Los Angeles", "USA", "Stanford", "CS102");
cout << pStud->studentToString() << endl;
delete pStud;
return 0;
}