Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 13.06.2010, 16:53   #1
Aleksandr_Yanov
Подтвердите свой е-майл
 
Регистрация: 13.06.2010
Сообщений: 39
Вопрос Есть общая структура программы,как написать функции к ней?

Здравствуйте!
Задача из книги Стивена Прата 2ой день ни как не могу справится,помогите плз.Кто в курсе,проходил или знает как,подскажите пожалуйста
Ниже представлен код и условие задания:

#include <cstdlib>
#include <iostream>
using namespace std;
#include <cstring> //dlya vizova funczii strlen(),strcpy()
struct stringy
{
char * str; //ukazivaet na stroku
int ct; //dlinna stroki(ne schitaya simvola '\0')
};

using namespace std;

int main()
{
stringy beany;
char testing[] = "Realnost'-ne to,chto nam viditsya.";
set(beany, testing); //pervim argumentom yavlaetsya ssilka,
//videlyaet prostranstvo dlya hranenia kopii
//testing, ispolzuet element tipa str
// strukturi beany kak ukazatel na noviy
//blok, kopiruet testing v noviy blok i
//sozdaet element ct struktury beany
show(beany);//pechataet element strokovogo tipa odin raz
show(beany,2);//pechataet element strokovogo tipa dvajdi
testing[0] = 'D';
testing[1] = 'u';
show(testing);//pechataet stroku testing 1in raz
show(testing,3);//pechataet troku testing 3 raza
show("Gotovo!");
return 0;
}

Завершите написание программы,создав соответствующие функции и прототипы.Обратите внимание,что в программе должны быть 2 функции show(), и каждая из них использует аргументы ,заданные по умолчанию.
Используйте спецификатор const при объявлении аргументов там, где это оправдано.Обратите также внимание на то,что функция set() должна использовать операцию new для выделения достаточного пространства памяти под хранение заданной строки.Используемые здесь методы аналогичны методам,применяемым при задании и реализации классов.(Возможно,вам придётся изменить имена файлов заголовков и удалить директиву using, что зависит от используемого компилятора.)



я попробовал решить но неполучается правильно определить функцию set(),возможно есть ещё ошибки:
#include <cstdlib>
#include <iostream>
#include <cstring>
struct stringy
{
char * str;
int ct;
};
const stringy & set(stringy & b,char tes);
void show(const stringy be,int n = 0);
void show(const char tes,int n = 0);

using namespace std;

int main(int argc, char *argv[])
{
stringy beany;
char testing[] = "Realnost'-ne to,chto nam viditsya.";
set(beany,testing);
show(beany);
show(beany,2);
testing[0] = 'D';
testing[1] = 'u';
show(testing);
show(testing,3);
show("Gotovo!");
system("PAUSE");
return EXIT_SUCCESS;
}
const stringy & set(stringy & b,char tes)
{
b.str = new char[strlen(tes)+1];
strcpy(b.str,tes);
return b
//delete b.str;
}
void show(const stringy be,int n = 0)
{
if (n==0) then
cout<<be.str;
if n>0 then
for(int i=0;i<n;i++)
cout<<be.str<<endl;
}
void show(const char tes,int n = 0)
{
int count = 0;
if (n==0) then
cout<<tes[i]<<endl;
if (n>0) then
while(n > count)
{
cout<<tes[i]<<endl;
count++;
}

}
Aleksandr_Yanov вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
ПОМОГИ.те написать програму+мшинний код к ней Dzef Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 2 28.05.2010 10:08
Из программы 1.exe создаем пустой файл 2.exe. Как из программы 1 внести API функции в программу 2? X-LEV-X Общие вопросы Delphi 7 09.03.2010 08:33
Общая переменная для нескольких экземпляров программы. Fabio Общие вопросы Delphi 9 24.02.2009 09:25
как написать на vba стандарные функции excel ibrahimov Microsoft Office Excel 4 28.11.2008 04:42