![]() |
|
Модераторы: Poseidon |
![]()
|
|
| Feanor |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 30 Регистрация: 23.4.2005 Репутация: нет Всего: нет |
Здравствуйте товарищи! У меня к вам вопрос лёгенький, если не сложно, то, пожалуйста, ответте.
В общем надо на языке С++ (Builder C++ v.3.1) создать таблицу записей типа имя, возраст, пол (m или f), телефон. И вывести список всех, у кого телефон начинается с трёх заданных (с экрана) цифр. P.S. Если решитесь сделать, то, пожалуйста, по проще, а то мне это всё разбирать долго придётся. Заранее благодарен. |
|||
|
||||
| Feanor |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 30 Регистрация: 23.4.2005 Репутация: нет Всего: нет |
Неужели Я так много попросил
|
|||
|
||||
| Lamak |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 204 Регистрация: 8.5.2005 Где: Украина,Одесса Репутация: 6 Всего: 7 |
Что ты имееш ввиду под словом
Добавлено @ 21:58 И ещё тебе очень срочно или как? --------------------
Роботы - это интересно и увлекательно! |
|||
|
||||
| Lamak |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 204 Регистрация: 8.5.2005 Где: Украина,Одесса Репутация: 6 Всего: 7 |
Да и на Builder C++ v.6 устроит?
--------------------
Роботы - это интересно и увлекательно! |
|||
|
||||
| Fixin |
|
|||
![]() Ёжик ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 1357 Регистрация: 6.1.2004 Репутация: 5 Всего: 18 |
Подробности на сцену!
Добавлено @ 22:30 Хотя билдер - проще некуда. Что надо-то, действительно. |
|||
|
||||
| Feanor |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 30 Регистрация: 23.4.2005 Репутация: нет Всего: нет |
Таблица записей типа имя, возраст, пол (m или f), телефон а)вывести список всех, у кого телефон начинается с трёх заданных ( с экрана) цифр,
б)функция добавления одной записи, в)вывод всех с заданным именем. Вот, всё, что в условии Добавлено @ 14:22 Устроит любой билдер |
|||
|
||||
| Feanor |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 30 Регистрация: 23.4.2005 Репутация: нет Всего: нет |
Вот по этим вроде бы шаблонам:
Код: 1) struck stud{char name[20], group[10]; int mark[3];}; 2) void enter (stud & x){......} void print (stud x){......} void enter (stud x[], int & n){.....} void print (stud x[],int n){......} 3) void main(){stud my[40]; int; do{........ case '1':enter(my, n); break; case '2': print(my, n); break; case 27: exit(0);} getch();} while(1);} case '3': cout<<"Буква:"; cin>>c; bukva(c, my, n, his, k); print(his, k); break: И вот это: void bukva(char b, stud x[] int n, stud y[], int & k) {int i; k=0; for(i=0; i<n; i++) if(x[i].name[0]==b) {y[m]=x[i]; m++;} } Я в этом плохо разбираюсь, может вам поможет |
|||
|
||||
| Lamak |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 204 Регистрация: 8.5.2005 Где: Украина,Одесса Репутация: 6 Всего: 7 |
Тебе нужно чтобы это было windows приложение с формой или консольное приложение?
Добавлено @ 16:47 Да и обятельно ли применение твоих шаблонов? --------------------
Роботы - это интересно и увлекательно! |
|||
|
||||
| Yanis |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2937 Регистрация: 9.2.2004 Где: Москва Репутация: 4 Всего: 111 |
Тоже никак не пойму. |
|||
|
||||
| Lamak |
|
||||||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 204 Регистрация: 8.5.2005 Где: Украина,Одесса Репутация: 6 Всего: 7 |
И ещё
это определение всех записей у кторых имя начинается с определённой буквы( с буквы b), а в задании
Добавлено @ 16:58
Может ты имел в виду Borland C++ v.3.1,тогда понятно :консольное приложение . --------------------
Роботы - это интересно и увлекательно! |
||||||
|
|||||||
| Lamak |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 204 Регистрация: 8.5.2005 Где: Украина,Одесса Репутация: 6 Всего: 7 |
||||
|
||||
| Feanor |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 30 Регистрация: 23.4.2005 Репутация: нет Всего: нет |
консольное
Добавлено @ 17:54 Конечно же BORLAND Я опечатался!!!Блин, извиняюсь |
|||
|
||||
| Feanor |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 30 Регистрация: 23.4.2005 Репутация: нет Всего: нет |
Нет, это не Я. Добавлено @ 22:12 HELP!!! |
|||
|
||||
| Fixin |
|
|||
![]() Ёжик ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 1357 Регистрация: 6.1.2004 Репутация: 5 Всего: 18 |
|
|||
|
||||
| Lamak |
|
||||||||||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 204 Регистрация: 8.5.2005 Где: Украина,Одесса Репутация: 6 Всего: 7 |
Вот :
Добавлено @ 08:47 Если что-то непонятно - обращайся раскажу. Добавлено @ 08:51
Это был вопрос Я реализовал(функция the_name) как в шаблоне т.е.
--------------------
Роботы - это интересно и увлекательно! |
||||||||||
|
|||||||||||
| Feanor |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 30 Регистрация: 23.4.2005 Репутация: нет Всего: нет |
Спасибо огромное!!! Никогда не забуду!!!
|
|||
|
||||
| Feanor |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 30 Регистрация: 23.4.2005 Репутация: нет Всего: нет |
У меня куча вопросов
А можно разделить прогу по частям, ну то есть первое задание отдельно и 2 с 3 тоже? Если не трудно, то спасите plz void input(stud &record) { cout << "input Name: ";cin >> record.Name; cout << "input Age: ";cin >> record.Age; cout << "input Sex: "; char sex; cin >> sex; record.Sex = (sex == 'm' || sex == 'M')? 1: 0; cout << "input Tel: "; cin >> record.Tel; } //------------------// void output(stud &record) { cout << record.Name << '\t'; cout << record.Age << '\t'; cout << (record.Sex ? 'M': 'F') << '\t'; (а сдесь должно вроде или стоять, но это двечерты или я ошибаюсь, в общем лучше всё поясни) cout << record.Tel <<endl; } //------------------// void output_all(stud records[], int count) { for (int i=0; i< count; ++i) output(records[i]); } //------------------// void the_tel(stud records[], int count) { char new_tel[3]; (почему 3) cout<<"new_tel="; cin>>new_tel; int flag=0; for (int i=0; i<count; ++i) (а i++ не тоже самое, что и ++i) { flag=1; for (int j=0; j<3; ++j) if(new_tel[j]!=records[i].Tel[j]) { flag=0; break; } if(flag) output(records[i]); } } //------------------// void the_name(stud records[], int count) { char new_bukva; cout<<"new_bukva="; cin>>new_bukva; int flag=0; for (int i=0; i<count; ++i) { flag=1; if(new_bukva!=records[i].Name[1]) flag=0; if(flag) output(records[i]); } } //------------------// char menu() { char b; cout<<"1 - new record"<<endl; cout<<"2 - show all record"<<endl; cout<<"3 - the_telefon"<<endl; cout<<"4 - the_name"<<endl; cout<<"5 - Exit"<<endl; cout<<"input: "; cin>>b; return b;} //------------------// int main() { stud table[20]; int cur = 0; char key=0; clrscr(); for(;;) { key=menu(); clrscr(); switch (key) { case '1': if (cur < 20) { input(table[cur]); cur++; } else cout << "error: input max record" << endl; break; [b]case '2': output_all(table, cur); break; case '3': the_tel(table, cur); break; case '4': the_name(table, cur); break; case '5':[/b] return 0; } } } Добавлено @ 21:57 P.S. Я понимаю, что достал, а так же понимаю, чо тупые вопросы, но обстоятельства меня зверско подгоняют.Lamak в твоих руках судьба людская |
|||
|
||||
| Lamak |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 204 Регистрация: 8.5.2005 Где: Украина,Одесса Репутация: 6 Всего: 7 |
Во-первых достань книгу по С++(библиотека,купить,одолжить у друга,украсть у врага
и прочитай её ,тогда не будет возникать таких нудных вопросов? Отвечаю по частям: void input(stud &record)//передаётся параметр по ссылке { cout << "input Name: ";cin >> record.Name;//т.к. по ссылке cout << "input Age: ";cin >> record.Age; cout << "input Sex: "; char sex; cin >> sex; record.Sex = (sex == 'm' || sex == 'M')? 1: 0;// //оператор a?b:c работает так //если а - истина возвращет b //если а - ложь возвращет c // || - логическое или cout << "input Tel: "; cin >> record.Tel; } |
|||
|
||||
| Lamak |
|
||||||||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 204 Регистрация: 8.5.2005 Где: Украина,Одесса Репутация: 6 Всего: 7 |
здесь ||(или) для одинаковой реакции на маленькую и большую букву 'м'
не должно. Определяется мужик он или баба , в зависимости от того record.Sex = 1 или =0 соответственно. Добавлено @ 09:38 void output_all(stud records[], int count) { for (int i=0; i< count; ++i)//цикл по всем записям output(records[i]); //каждая запись на печать } Добавлено @ 09:44
Ты ж сам писал:
|
||||||||
|
|||||||||
| Lamak |
|
||||||||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 204 Регистрация: 8.5.2005 Где: Украина,Одесса Репутация: 6 Всего: 7 |
int flag=0;
for (int i=0; i<count; ++i) (а i++ не тоже самое, что и ++i)//Вообще нет это постфиксная и префиксная формы,но в цыкле это по барабану { flag=1; for (int j=0; j<3; ++j) if(new_tel[j]!=records[i].Tel[j]) { flag=0; break; } if(flag)//флаг указывает на то начинается ли номер телефона i-ой записи
output(records[i]); } Добавлено @ 09:59
- копи /пастил
Добавлено @ 10:02
возми словарь англо-руский и посмотри что такое input Добавлено @ 10:04 Всё устал |
||||||||
|
|||||||||
| Feanor |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 30 Регистрация: 23.4.2005 Репутация: нет Всего: нет |
Вот, я никак не пойму, где сдесь функция добавления одной записи, если не трудно напиши plz, и вот, у нас со step один препод, так что шаблон тот же, может можно как то по похожему сделать, ну даже если не все
пункты задания, а хоть один P.S. чтобы ты не написал в ответе, Я всё равно очень очень благодарен за помощь. Добавлено @ 14:31 Lamak -step- это тот чувак, которому ты тоже таблицу сделал |
|||
|
||||
| Lamak |
|
||||||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 204 Регистрация: 8.5.2005 Где: Украина,Одесса Репутация: 6 Всего: 7 |
Функции как таковой нет но это делает следующий код
Добавлено @ 20:44
Я ему только одну функцию написал. |
||||||
|
|||||||
| Lamak |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 204 Регистрация: 8.5.2005 Где: Украина,Одесса Репутация: 6 Всего: 7 |
так у тебя и так почти как у -step- , даже лучше с моей точки зрения А-а-а-а! Mожет ты имееш ввиду чтобы table была глобально описана? --------------------
Роботы - это интересно и увлекательно! |
|||
|
||||
| Lamak |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 204 Регистрация: 8.5.2005 Где: Украина,Одесса Репутация: 6 Всего: 7 |
Да и где вы учитесь если не секрет?
Потому что у меня в универе :если у кого-то есть код и он не понимает как он работает то он идёт к расписанию ;смотрит где сейчас находятсья прикладники(факультет прикладной математики) 3-й,4-й курс; идёт к ним и говорит : - "Люди
ему помогают и он довольный --------------------
Роботы - это интересно и увлекательно! |
|||
|
||||
| Feanor |
|
||||
|
Новичок Профиль Группа: Участник Сообщений: 30 Регистрация: 23.4.2005 Репутация: нет Всего: нет |
Мне стыдно сказать Будете потом говорить, что там одни тормоза, а это далеко не так. Добавлено @ 21:42 А что такое flag и cout? if(new_tel[j]!=records[i].Tel[j]) (почему стоит !-это же оператор "не") И вот, ты ещё писал: - копи /пастил ,а вообще здесь flag не нужен: Во всё остальное въехал!!!Урра!Славься Lamak |
||||
|
|||||
| Feanor |
|
||||||||
|
Новичок Профиль Группа: Участник Сообщений: 30 Регистрация: 23.4.2005 Репутация: нет Всего: нет |
Не cout, а count, я жестоко описался!!! Добавлено @ 21:47 |
||||||||
|
|||||||||
| Feanor |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 30 Регистрация: 23.4.2005 Репутация: нет Всего: нет |
Ой, вот ещё вопрос, последний (надеюсь):
Что означает: 1)cur и cur++(это счётчик вроде) 2)key 3)record. это конечно, глупо, как и всё, что я до этого спаршивал, но вроде это перев. как запись, но хотелось бы точно убедиться, что это в данной проге. Ну если на всё ответишь, то всё уже разжёвано, и мне ничего не остаётся, как продемонстрировать прогу в эту среду, о результате обязательносообщу!!! Ещё раз спасибо. |
|||
|
||||
| Lamak |
|
||||||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 204 Регистрация: 8.5.2005 Где: Украина,Одесса Репутация: 6 Всего: 7 |
Добавлено @ 22:30
Имеется ввиду пользовался функциями copy/paste(копировать /вставить) --------------------
Роботы - это интересно и увлекательно! |
||||||
|
|||||||
| Lamak |
|
||||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 204 Регистрация: 8.5.2005 Где: Украина,Одесса Репутация: 6 Всего: 7 |
1)cur - счётчик количества записей сначла он = 0(int cur = 0;) потом добавляешь новую запись и cur++ - увеличивается на единицу 2)
функция menu() возвращает какая клавиша была введена ( cout<<"input: "; cin>>b; return b;) --------------------
Роботы - это интересно и увлекательно! |
||||
|
|||||
| Feanor |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 30 Регистрация: 23.4.2005 Репутация: нет Всего: нет |
Во!!! Оьалдеть, я все пояснения вместе собрал, на два листа вышло!!!
Вот это ты поработал!!! Истинно человеище!!! Вот только что такое count не написал.Напиши пож. Да, и вот ты писал:
Меня обязательно спросят, почему там пусто, т.е. for(;;) ??? Итак: 1) count 2) key=menu switch (key) 3)for (;;) Это последние непонятки |
|||
|
||||
| Lamak |
|
||||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 204 Регистрация: 8.5.2005 Где: Украина,Одесса Репутация: 6 Всего: 7 |
Добавлено @ 20:41
count - Переменная в которую мы передаём количество элементов в нашей таблице(т.е.cur) --------------------
Роботы - это интересно и увлекательно! |
||||
|
|||||
| Lamak |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 204 Регистрация: 8.5.2005 Где: Украина,Одесса Репутация: 6 Всего: 7 |
key=menu(); //функция menu() возвращает какая клавиша была введена
switch (key);// В зависимости от key(1,2,3,4 или5) выполняем то что надо Добавлено @ 20:48
не клавиша ,а цифра; --------------------
Роботы - это интересно и увлекательно! |
|||
|
||||
| Feanor |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 30 Регистрация: 23.4.2005 Репутация: нет Всего: нет |
Я не прощаюсь, а говорю до новых встреч |
|||
|
||||
| Feanor |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 30 Регистрация: 23.4.2005 Репутация: нет Всего: нет |
А для чего в проге нужен этот замкнутый цикл???
|
|||
|
||||
| Feanor |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 30 Регистрация: 23.4.2005 Репутация: нет Всего: нет |
А может сдесь тоже flag не нужен, ну как в букве, тож самое, только с телефон вроде можно проделать? |
|||
|
||||
| Lamak |
|
||||||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 204 Регистрация: 8.5.2005 Где: Украина,Одесса Репутация: 6 Всего: 7 |
Для обеспечения диалогового интерфейса с пользователем. Добавлено @ 21:39
нельзя т.к. здесь происходит три сравнения в цыкле(три первые цифры номера) и если хоть одна цифра не совпадает то мы данную запись не печатаем(flag=0;) |
||||||
|
|||||||
| Feanor |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 30 Регистрация: 23.4.2005 Репутация: нет Всего: нет |
Ещё раз ОГРОМНОЕ спасибо
|
|||
|
||||
| Feanor |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 30 Регистрация: 23.4.2005 Репутация: нет Всего: нет |
Нюанс:
А table это просто количесто студентов, т.е. то, куда они вводятся? |
|||
|
||||
| Feanor |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 30 Регистрация: 23.4.2005 Репутация: нет Всего: нет |
Вот, начал работать, и вот, что вышло (см. ниже):
Это сообщение отредактировал(а) Feanor - 30.5.2005, 15:08 |
|||
|
||||
| Feanor |
|
||||||
|
Новичок Профиль Группа: Участник Сообщений: 30 Регистрация: 23.4.2005 Репутация: нет Всего: нет |
1)
void output(stud &record) { сдесь он пишет следующее Declaration syntax error дальше там вот что (для справки):
2)
почему стоит <<, по моему в cout << >> и почему перенос сторки, тобиш '\t' огорожен опострофами? 3)
Borland мне пишет, что Undefined sumbol `cin` |
||||||
|
|||||||
| Feanor |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 30 Регистрация: 23.4.2005 Репутация: нет Всего: нет |
СОС чувак, у меня один день остался, напиши чё нить plz
|
|||
|
||||
![]()
|
| Правила форума "Центр помощи" | |
|
|
ВНИМАНИЕ! Прежде чем создавать темы, или писать сообщения в данный раздел, ознакомьтесь, пожалуйста, с Правилами форума и конкретно этого раздела.
Более подробно с правилами данного раздела Вы можете ознакомится в этой теме. Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Poseidon, Rodman |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Центр помощи | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |