Здравствуйте.
значит есть у меня структура... а ней описаны номер, название, цена и вес препарата.
#include <stdio.h>
#include <string.h>
const nbofstmax=1000;
int nbofst=10;
class apteka
{
public:
int number;
char name[15];
int price;
float weight;
apteka (int numb, char prep[15], int price0, float wght0)
{
number=numb;
strcpy(name, prep);
price=price0;
weight=wght0;
}
void printstud()
{
printf("%2d %-15s %3d %.2f\n", number, name, price, weight);
}
};
void initialize(apteka* stdar[])
{
stdar[0] = new apteka(1,"Analgin", 75, 180);
stdar[1] = new apteka(2,"Noshpa", 60, 285);
stdar[2] = new apteka(3,"Phalimint", 20, 176);
stdar[3] = new apteka(4,"Aspirin", 18, 187);
stdar[4] = new apteka(5,"Solpadein", 37, 300);
stdar[5] = new apteka(6,"Tabletki", 48, 179);
stdar[6] = new apteka(7,"Nazalvan", 67, 475);
stdar[7] = new apteka(8,"Vitamihi", 54, 107);
stdar[8] = new apteka(9,"Zelenka", 19, 171);
stdar[9] = new apteka(10,"Plastir", 76, 220);
printf("Database initialized successfully\n");
}
void GetWord ()
{
// Bu6op
retutn(char*)
}
for(i=0; i<10; i++)
{
stdar[i] = new apteka(i+1, GetWord(),rand()%100, rand()%250);
}
Тебе нужна функция, которая будет выбирать случайное слово из какого-то массива данных, или генерировать какую-либо (бредовую, лишенную всякого смысла) последовательность случайной длинны, состоящую из латинских букв?
генерировать какую-либо (бредовую, лишенную всякого смысла) последовательность случайной длинны, состоящую из латинских букв
char *GetWord ()
{
int sz = (rand() % 10) + 5;
char *s = new char[sz];
for(int i = 0; i < sz; i++) s[i] = (rand() % 26) + 'a';
s[sz] = '\0';
s[0] = toupper(s[0]);
return s;
}
int main() {
for(int i = 0; i < 5; ++i) {
char *s = GetWord();
puts(s);
delete s; // Не забывай освобождать память, иначе будут утечки ...
}
return 0;
}
заполнить поля массива из 10 aptek ...
...
(rand() % 10) + 5 -что оно делает?
toupper - если cисмвол -- лат. буква, то преобразовать cимвол к прописной букве... это точно оно? о.О
массив... инициализируем мы его в GetWord() походу.
char n[10] = {Analgin, Noshpa, Phalimint, Aspirin, Solpadein, Tabletki, Plastir, Zelenka, Vitamini, Nazalvan};
Однако, на вопрос, заданный в посте №2 ты ответила, что тебе нужно составлять свои слова, а не выбирать из готовых? Это как понимать?
Кстати, твой код, приведенный чуть выше не будет компилироваться. Что содержит массив? Символы? Строки? По типу вроде бы должны быть символы, тогда что такое Analgin?
не знаю я.
я вообще не пойму чего от меня препод хочет. заменить void initialize ()... чтоб не прописывать кадждый эл-т отдельно, а выводить случайным словом... для этого надо вообще прописывать то что выводить потом.?
Я показала, КАК делать случайную строку. ЧТО с ней делать потом - твое дело. Хочешь - удаляй, хочешь - передавай в конструктор класса...
Если же ты будешь случайно выбирать слова из заранее заданного массива - тебе придется еще позаботиться о том, чтобы не было повторно выбрано то же самое слово... Это усложнит программу...
спасибо за помощ