Member
Статус: Не в сети Регистрация: 03.01.2004 Откуда: Питер
AN Подробней напиши, какой звезды (пятиконечной)? Какое вращение? 2All ЗЫ На одном сайте, который занимается написанием прог, курсовиков и т.д. под заказ видел условие: "При заказе обязательно приводите полный текст задания, а т.ж. все методические и др. материалы ... " и т.д. (думаю мысль ясна), так вот в этой теме нужно сделать это обязательным и за невыполнение ЖК давать. ИМХО
_________________ Здесь так мало тех, с кем легко говорить,
Еще меньше тех, с кем не страшно молчать (c)
Спасибо, что хоть кто-то откликнулся. Я вообще первый раз общаюсь таким образом, поэтому строго не судите. Учусь в Севастопольском университете на третьем курсе.Если не сдам эту контрольную по ООП выгонят. Задание такое:Написать программу на Паскале и на С рисующую пятиконечную звезду, которая потом должна вращаться по часовой стрелке. Эта программа пишется на базе модуля figures.pas, но я не знаю как его Вам переслать, если он нужен.
Member
Статус: Не в сети Регистрация: 17.10.2003 Откуда: Киев
AN Набросал программку, правда до того, как прочитал твое последнее сообщение, поэтому в ней не используется figures.pas. На всякий случай вот код, вдруг пригодится.
Код:
program star; uses graph,crt; var gr,gm:integer; const a=320;b=240;r1=90;r2=220;n=5; var i:integer;fff,f,st:real;
procedure draw(fi,rad:real;line:boolean); var x,y:integer; begin x:=a+trunc(sin(fi)*rad); y:=b+trunc(cos(fi)*rad); if line then lineto(x,y) else moveto(x,y); end;
procedure drawstar(del:boolean); var i:integer;flag:boolean; begin
for i:=0 to n*2 do begin if del then f:=f+fff; if i=0 then flag:=false else flag := true; if odd(i) then draw(f,r1,flag) else draw(f,r2,flag); if not del then f:=f-fff; end;
end;
begin initgraph(gr,gm,''); i:=n*2; fff:=Pi*2/i; st:=Pi/590; f:=0;
repeat f:=f-st; setcolor(4); drawstar(true); delay(800); setcolor(0); drawstar(false); until keypressed; end.
Member
Статус: Не в сети Регистрация: 04.01.2005 Откуда: Москва
Люди, помогите, кто и C++ чего понимает. Надо сделать консольную прогу, которая принимает строку текста и переписывает в ней каждое слово наоборот, т.е. было "это текст.", стало "отэ тскет." Точка показывает на конец строки. Что намудрил я, привожу ниже, юсал VC++ .NET (7.0)
// Invertor.cpp : Defines the entry point for the console application.
// *** КОНСОЛЬНОЕ ПРИЛОЖЕНИЕ ***
#include "stdafx.h"
#include <iostream>
using namespace std;
char InputText[128];
char OutputText[128];
char TempText[128];
double NewWord=0;
int i=0;
int x=0;
int y=0;
int _tmain(int argc, _TCHAR* argv[])
{
// Вывод запроса на ввод строки
cout << "Enter a test text:" << endl;
cin.getline(InputText,128,'\n');
while (i<128)
{
if (InputText[i]=' ')
{
NewWord=1;
}
if (NewWord=1)
{
NewWord=0;
while (y>=0)
{
OutputText[x]=TempText[y];
x++;
y--;
}
TempText=' ';
OutputText[x]=' ';
y=0;
}
else
{
TempText[y]=InputText[i];
y++;
}
i++;
if (InputText[i]='.')
{
//OutputText[i]='.';
cout << ".";
break;
}
}
cout << "Output text is:";
cout << endl;
cout << OutputText;
return 0;
}
результатом этого всего всегда является несколько пробелов и точка. Что делать? И еще ошибка синтаксиса: TempText=' '; как опустошить массив?
_________________ Win XP - если бы не этот отстой, то сидели бы сейчас в DOS...
[skip]
if (InputText[i]=' ') // Только что ты затёр символ
// Операция выполнилась успешно, проц не повис, поэтому результат true
{
NewWord=1;
}
if (NewWord=1) // Опять присваивание
{
NewWord=0;
while (y>=0)
{
OutputText[x]=TempText[y];
x++;
y--;
}
TempText=' '; // Здесь ошибка: ты пытаешься char[128] присвоить char
// Уже после этого нифига не должно компилиться
// Цикл сделал всего одну итерацию.
OutputText[x]=' '; // Круто, теперь у нас есть пробел. Один.
if (InputText[i]='.') // Прекратить мучения. Поставить точку.
// Дальше неинтересно. Полная ерунда
[skip]
Это не Паскаль, здесь оператор сравнения "==", а не "=". Соответственно неравенство будет "!=". Ты, когда свой буфер парсишь, то вместо сравнения пишешь в него пробелы - столько раз сколько у тебя символов (128?), а в конце ставишь точку. Короче, алгоритм необходимо переделать - это просто ужас какой-то. У K&R есть этот пример - читайте классику.
Member
Статус: Не в сети Регистрация: 29.11.2004 Откуда: Уфа
Народ помогите составить прогу в Паскале, а то ниче не соображаю..
вам же это ничего не стоит как я понимаю.. буду очень благодарен
условие:
Написать программу, которая позволит ввести данные о товарах магазина и выдаст следующие запросы: 1. по сроку хранения (до 1 мес), 2. по кол-ву наименований
мы прошли множества, массивы и записи.
на прошлом уроке решали задачу чем-то похожую, учитель сказала ориентироваться на эту задачу... если есть необходимость могу ее написать..
Member
Статус: Не в сети Регистрация: 04.02.2004 Откуда: Москва|СВАО
**[3R]**Mast3R] Среда то сегодня? Привидите текст предыдущий программы.
Раскажите подробнее чего там должно быть, с файлами Вас работать учили? Чем больще сведений тем лучше.
_________________ Счастье - это когда тебя понимают.
Разыскиваю (куплю) оригинальный USB-kit для Chaintech 5AGM2 (подробности в Л.С.).
Member
Статус: Не в сети Регистрация: 29.11.2004 Откуда: Уфа
условие этой задачи (из учебника все): дан массив записей, содержащий сведения о работнике предприятия (Ф.И.О., должность, дата рождения, зарплата). напечатать:
1. список бухгалтеров
2. список работников от 30 до 50
3.среднюю зарплату по предприятию
program e37
const n=10;
type date_of_birth=record
day: 1..31;
month: string [10];
year: integer
end;
worker=record
name: string [20];
position: string [10];
date: date_of_birth;
salary: real
end;
var x:array [1..n] of worker; w: worker; i,j,g: integer; S: real; p: string [10];
begin
for i:=1 to n do
with x[i] do
begin
writeln ('сведение о',i , работнике');
writeln ('фамилия, инициалы');
readln (name);
writeln ('долность');
readln (position);
writeln ('число, месяц и год рождения');
readln (date.day, date.month, date.year);
writeln ('зарплата');
readln (salary);
end;
{решение 1 задачи -список бухгалтеров}
p:='бухгалтер';
j:=0; {счетчик строк списка - кол-во бухгалтеров}
for i:= to n do
if p=position
then begin
j:=j+1;
writeln (j,'.', name); {после номера в списке печатается точка и фамилия}
end;
{решение подзадачи 2 - список работников от 30 до 50}
writeln ('список работников от 30 до 50 лет');
j:=0;
writeln ('введите текущий год в виде четырехзачного числа');
readln (g);
for i:=1 to n do
write x[i] do
if (g-date.year<50) and (g-date.year>30)
then begin
j:=j+1
writeln (j,'.', name)
end;
{решение задачи 3 - вычисление средней зарплаты}
S:=0
for i:=1 to n do
S:=S+x[i].salary;
write ('средняя зарплата = ', S/n:10:2)
end.
задание сегодня дали, к следующей среде..
файлы сегодня первый раз конспектировали, их использовать нельзя
Добавлено спустя 3 минуты, 36 секунд: Peter_P у меня кстати на тетради оп информатике Roy makaay - FC Bayern Munchen EV ))) совпадение блин
Народ, может кто сообразит, как написать прогу по С++.
Задача. Определить класс-строку. В класс включить два конструктора: для определения класса строки строкой символов и путем копирования другой строки (объекта класса строки). Предусмотреть функции сортировки слов в строке по-алфавиту и подсчёта количества слов.
Первая часть задачи вроде готова. Но как написать "жирные" функции?
Member
Статус: Не в сети Регистрация: 29.11.2004 Откуда: Уфа
Lord_of_Darkness это прога которую мы просто переписали и опробовали.. оп ней нам сказали ориентироваться..
Цитата:
условие: Написать программу, которая позволит ввести данные о товарах магазина и выдаст следующие запросы: 1. по сроку хранения (до 1 мес), 2. по кол-ву наименований
Member
Статус: Не в сети Регистрация: 03.01.2004 Откуда: Питер
**[3R]**Mast3R] Все допер. Просто вчера ночью уже не в состоянии был посмотреть внимательно пост. Счас слабаю.
Добавлено спустя 55 минут, 22 секунды: вот с запросом №1
Код:
program Shop_and_Goods; uses crt; const GoodsCount = 100; type TGoods = record GoodsName: string [15]; StoragePeriod: 1..31; { Дни } end; var GoodsList: array [1..GoodsCount] of TGoods; i, RealGoodsCount, Period: integer; begin clrscr; write('Введите количество товаров: '); readln(RealGoodsCount); for i:=1 to RealGoodsCount do begin write('Введите наименование ',i,'-ого товара: '); readln(GoodsList[i].GoodsName); write('Введите срок хранения ',i,'-ого товара (дней): '); readln(GoodsList[i].StoragePeriod); end; write('Введите требуемый срок хранения товара: '); readln(Period); writeln('Товары, со сроком хранения ',Period,' дней: '); for i:=1 to RealGoodsCount do begin if GoodsList[i].StoragePeriod = Period then writeln(GoodsList[i].GoodsName); end; readln; end.
А насчет второго, че-то недогоняю чего надо. Подсчитать кол-во уникальных наименований??
_________________ Здесь так мало тех, с кем легко говорить,
Еще меньше тех, с кем не страшно молчать (c)
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения