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

клас Letter, клас Person - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Разбиение программы на несколько частей http://www.cyberforum.ru/cpp-beginners/thread891239.html
Вот задание: Стрелок производит по мишени 5 выстрелов. Вероятность попадания в мишень при каждом выстреле 0.6. Вычислить вероятность того, что стрелок не попадет в мишень ни pазу; попадет 1 pаз; 2 pаза;...; 5 pаз. Определить, вероятность скольких попаданий будет max? Примечание: Вероятность попадания p при одном выстреле равна 0.6, вероятность промаха q=0.4. Получается посчитать только...
C++ здравствйте вытащите код здравствуйте помогите вытащить код из программы с расширением exe вот из этой проги вытащите код http://www.cyberforum.ru/cpp-beginners/thread891236.html
C++ Опишите поподробней пожалуйста
Опишите пожалуйста как это делается. В числе 33*3* дописать три цифры так, чтобы полученное число делилось на 55. Добавлено через 19 минут Спасибо, сам разобрался. #include <math.h> using namespace std; int main() {
одномерные массивы (попадание точки на плоскость) C++
Лабораторная работа 5. одномерные массивы * * Для задач этого раздела необходимо составить графический алгоритм, провести идентификацию переменных, составить программу и решить задачу на ЭВМ. Даны координаты точек х1, у1, х2, у2, ... х15, у15. Если точка попадает на плоскость, ограниченную кругом x2 + y2 = R2, то вывести на печать координаты этой точки и сообщение «ТОЧКА В ПЛОСКОСТИ»; если...
C++ Циклические программы с регулярной сменой аргумента, содержащих разветвления http://www.cyberforum.ru/cpp-beginners/thread891217.html
Лабораторная работа 4. Циклические программы с регулярной сменой аргумента, содержащих разветвления 4.6 вычислить разницу между максимальным и минимальным значением функции: Аргумент х изменяется от начального значения 0.1 с шагом 0.32 до конечного 6.5
C++ перевод с паскаля на с++ Program prog525; Uses Crt; {Массив А- вводимый массив Массив В-текущий массив Массив С-массив для последовательности с наибольшим количеством положит. эл. Массив В- массив для очистки} Var A,B,C,D:Array of integer; N,i,k,S:integer; подробнее

Показать сообщение отдельно
MrRuslanBB
4 / 4 / 0
Регистрация: 02.04.2012
Сообщений: 276
04.06.2013, 22:44  [ТС]     клас Letter, клас Person
Цитата Сообщение от stima Посмотреть сообщение
Первый это CRT варнинг (почитаете что это) можете опустить его.

Второй это "хороший" варнинг, он вам показал Вашу ошибку, дело в том что при выходе из функции GetInfo()
переменная temp удалиться (почитайте про область видимости переменных, настоятельно рекомендую), и указатель указывающий на нее будет не валиден. Если следовать Вашему стилю программирования, то нужно завести еще один мембер класса char *info и в перегруженном конструкторе инициализировать этот мембер, соответственно GetInfo() вернуть info.

Если же следовать еще и здравому смыслу, то нужно вернуть не char*, а const char* const.
Эх если бы это мой код был)) я пока ещё не дорос до такого уровня и не знаю задамся ли целью расти, пока лишь годовую оценку цель получить) вот уже последняя программа осталась)) + базу данных создать, несколько экзаменов и на каникулы)

А вот по теме, изменил немного код, по подсказки, что вы дали... правильно хоть сделал?


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
54
55
56
57
58
59
60
61
62
63
64
65
66
67
#include <iostream>
#include <string.h>
 
 
struct Person {
    char firstname[80];
    char lastname[80];
};
 
class Letter {
    Person*sender;
    Person*receiver;
    char*info;
    char*adress;
 
public:
    Letter() {
        sender=0;
        receiver=0;
        strcpy(adress, "");
    }
 
Letter(Person* s, Person *r, char*adr) {
    sender = s;
    receiver = r;
    strcpy(adress, adr);
}
 
char*GetInfo() {
char temp[240];
        
temp[0] = '\0';
strcat(temp,sender->firstname);
strcat(temp," ");
strcat(temp,sender->lastname);
strcat(temp,"   ");
strcat(temp,receiver->firstname);
strcat(temp," ");
strcat(temp,receiver->lastname);
strcat(temp,"   ");
strcat(temp,adress);
return info;
}
 
int Send() {
    if(sender == 0 || receiver == 0 || strcmp(adress,"") == 0)
        return 1;
    else printf("Письмо отправлено!");
        return 0;
    }
};
 
int main() {
    Person p1,p2;
    strcpy(p1.firstname,"Ivanov");
    strcpy(p1.lastname,"Petr");
 
    strcpy(p2.firstname,"Petrov");
    strcpy(p2.lastname,"Ivan");
 
    Letter l1,l2(&p1,&p2,"Gagarina, 16");
 
    printf("%d\n%d\n",l1.Send(),l2.Send());
    printf("%s\n",l2.GetInfo());
 
    return 0;
}

Насчёт этого я так и не понял нечего??

1>c:\users\руслан\documents\visual studio 2012\projects\consoleapplication3\consoleapplication3\практика.cpp(20): error C4996: 'strcpy': This function or variable may be unsafe. Consider using strcpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
 
Текущее время: 01:02. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru