Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
TR0JlNk
0 / 0 / 0
Регистрация: 21.02.2012
Сообщений: 36
#1

В чем ошибка? - C++

19.11.2012, 20:50. Просмотров 285. Ответов 1
Метки нет (Все метки)

Разработать классы для описанных ниже объектов. Включить в класс методы set (…), get (…), show (…). Определить другие методы. Написать программу, демонстрирующую работу с этим классом. Класс соответствует индивидуальному варианту.
1. Student: Фамилия, Имя, Отчество, Дата рождения, Адрес, Средний балл, Факультет, Курс. Определить является ли студент «двоечником», «троечником», «хорошистом», «отличником».


# include < iostream>
# include < cstring>
using namespace std;
class student{
char Name[15];
char Fam[15];
char Otch[15];
char Date[15];
char adr[15];
int sr;
char Fak[15];
int cours;
int pr1;
int pr2;
int pr3;

public:
void Set(char*Name, char*Fam, char*Otch, char*Date, char*adr, int sr, char*Fak, int cours, int pr1, int pr2, int pr3){
Name=N;
Fam=F;
Otch=O;
Date=D;
adr=AD;
sr=SR;
Fak=F;
cours=cr;
pr1=p1;
pr2=p2;
pr3=p3;
}

void show(){ cout<<"\nName"<<Name<<"\nFam"<<Fam<<"\nOtch"<<Otch<<"\nDate"<<Date<<"\nadr"<<adr<<"\nsr"<<sr<<"\nFak"<<Fak<<"\nkyrs"<<kyrs;}

void Get_sr(){ return sr;}
};

void main(){
Student a,b,c;
a,SetA();
b.SetA();
c.SetA();
char*Name, char*Fam, char*Otch, char*Date, char*adr, int sr, char*Fak, char*kyrs, int pr1, int pr2, int pr3;
sr=0;
cout<<"vvedi 3 ocenki";
cin>>Name>>Fam>>Otch>>Date>>adr>>Fak>>kyrs>>pr1>>pr2>>pr3;
sr=(pr1+pr2+pr3)/3;
if Studen(sr==2)
cout<<"äâîå÷íèê";
if (sr==3)
cout<<"òðîå÷íèê";
if (sr==4)
cout<<"õîðîøèñò";
if (sr==5)
cout<<"îòëè÷íèê";
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.11.2012, 20:50     В чем ошибка?
Посмотрите здесь:

В чем ошибка? - C++
#include&lt;stdio.h&gt; #include&lt;conio.h&gt; int main() {int N, i; float p=1, n=2; scanf(&quot;%d&quot;, &amp;N); for (i=1; i&lt;=N; i++) ...

в чем ошибка ? - C++
Написать программу, выполняющую циклический сдвиг всех элементов массиваа1, а2, ..., ап на одну позицию влево, т.е. будет получен новый...

В чем ошибка? - C++
Нужно найти индекс максимального по модулю элемента массива, но почему то не работает. В чем ошибка? Вот код: #include &lt;iostream&gt; using...

в чем ошибка? - C++
делаю задания по книге. вот код #include &lt;iostream.h&gt; main() { int a, b; cout &lt;&lt; &quot;vvedite 2...

В чем ошибка - C++
#include &lt;iostream&gt; #include &lt;string&gt; using namespace std; int main() { string n = &quot;Jon&quot; string name; cin &gt;&gt; name; ...

в чем ошибка? - C++
#pragma hdrstop #include &lt;string.h&gt; #include &lt;clx.h&gt; #pragma hdrstop #include&lt;iostream.h&gt; #include&lt;math.h&gt; #include &lt;conio.h&gt; ...

В чем ошибка? - C++
Компилятор ругается на: &gt;c:\users\home2\documents\visual studio 2008\projects\самостоятильные\самост 3\№3.cpp(20) : error C2017:...

В чем ошибка? - C++
Подчеркивает строку cin.get(c); &quot;Отсутствуют экземпляры, перегруженная функция&quot; и &quot;слишком мало аргументов в вызове функции&quot;.. ...

В чем ошибка? - C++
1)вычислить сумму элементов массива с нечетными номерами 2)вычислить сумму элементов массива, расположенных между первым и последним...

в чем ошибка - C++
#include &lt;stdio.h&gt; #include &lt;math.h&gt; #include &lt;conio.h&gt; void main() { double a, b, c, d, f, e, g, x, y; ...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
IGPIGP
Комп_Оратор)
Эксперт по математике/физике
6442 / 3081 / 306
Регистрация: 04.12.2011
Сообщений: 8,482
Записей в блоге: 4
19.11.2012, 23:13     В чем ошибка? #2
Вот вариант как установить с-строку и целое число, попробуйте сделать так:
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
# include < iostream >
# include < string.h >
using namespace std;
class Student{
int age;
char*Name;
public:
Student(char* _N, int _age ){
Name=new char[strlen(_N)+1];
strcpy(Name,_N);
age=_age;
}
void SetName(char* _N ){
if(strlen(_N)>=strlen(_N)){
    delete []Name;
    Name=new char[strlen(_N)+1];
}
strcpy(Name,_N);
}
void SetAge(int _age ){
age=_age;
}
void show(){ cout<<"\nName "<<Name<<"age "<<age;}
char* Get_Name(){ return Name;}
int Get_Age(){ return age;}
};
int main() {
    setlocale(0, "rus");
Student a=Student ("Vovan", 256);
cout<<"Имя "<<a.Get_Name();
std::cout << std::endl;
cout<<"Месяцев отроду  "<<a.Get_Age();
std::cout << std::endl;
const int sz=20;
char buf[sz];
char* text;
cout<<"Введите для "<<a.Get_Name()<<" новое имя по английски - длиной до "<<sz<<" символов ";
std::cout << std::endl;
text=gets(buf);
a.SetName(text);
cout<<"Введите для "<<a.Get_Name()<<" новый возраст ";
std::cout << std::endl;
int newAge;
cin>>newAge;
a.SetAge(newAge );
std::cout << std::endl;
cout<<"Имя "<<a.Get_Name();
std::cout << std::endl;
cout<<"Месяцев отроду  "<<a.Get_Age();
std::cout << std::endl;
std::system("pause");
return 0;    
}
Обратите внимание на перевыделение памяти в SetName();
там можно и каждый раз перевыделять, то есть не только когда не умещается.
Вообще такие функции get которые устанавливают сразу всё, редко бывают нужны. Другое дело конструктор (как вариант).
Ответ Создать тему
Опции темы

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