Модераторы: Poseidon

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Таблица (need in help). 
:(
    Опции темы
Feanor
Дата 18.5.2005, 18:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 30
Регистрация: 23.4.2005

Репутация: нет
Всего: нет



Спасибо огромное!!! Никогда не забуду!!! smile smile smile
PM MAIL   Вверх
Feanor
Дата 20.5.2005, 21:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 30
Регистрация: 23.4.2005

Репутация: нет
Всего: нет



У меня куча вопросов smile smile smile Вот, я их жирным выделил.
А можно разделить прогу по частям, ну то есть первое задание отдельно и 2 с 3 тоже? Если не трудно, то спасите plz smile smile smile

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 в твоих руках судьба людская smile
PM MAIL   Вверх
Lamak
Дата 21.5.2005, 09:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 204
Регистрация: 8.5.2005
Где: Украина,Одесса

Репутация: 6
Всего: 7



Во-первых достань книгу по С++(библиотека,купить,одолжить у друга,украсть у врага smile)
и прочитай её ,тогда не будет возникать таких нудных вопросов?
Отвечаю по частям:
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;
}
PM MAIL   Вверх
Lamak
Дата 21.5.2005, 09:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 204
Регистрация: 8.5.2005
Где: Украина,Одесса

Репутация: 6
Всего: 7



Цитата
record.Sex = (sex == 'm' || sex == 'M')? 1: 0;

здесь ||(или) для одинаковой реакции на маленькую и большую букву 'м'
Цитата
cout << (record.Sex ? 'M': 'F') << '\t'; (а сдесь должно вроде или стоять, но это двечерты или я ошибаюсь, в общем лучше всё поясни)

не должно. Определяется мужик он или баба , в зависимости от того 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
Цитата
char new_tel[3]; (почему 3)

Ты ж сам писал:
Цитата

Таблица записей типа имя, возраст, пол (m или f), телефон а)вывести список всех, у кого телефон начинается с трёх заданных ( с экрана) цифр,
б)функция добавления одной записи,
в)вывод всех с заданным именем.

PM MAIL   Вверх
Lamak
Дата 21.5.2005, 09:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 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
Цитата
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]);

}

- копи /пастил smile ,а вообще здесь flag не нужен:
Код

for (int i=0; i<count; ++i)
{
      if(new_bukva==records[i].Name[1])
             output(records[i]);


Добавлено @ 10:02
Цитата
cout<<"input: ";
cin>>b;
return b;

возми словарь англо-руский и посмотри что такое input


Добавлено @ 10:04
Всё устал smile вечером ещё помогу
PM MAIL   Вверх
Feanor
Дата 21.5.2005, 14:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 30
Регистрация: 23.4.2005

Репутация: нет
Всего: нет



Вот, я никак не пойму, где сдесь функция добавления одной записи, если не трудно напиши plz, и вот, у нас со step один препод, так что шаблон тот же, может можно как то по похожему сделать, ну даже если не все
пункты задания, а хоть один smile Понимаю, что задолбал конкретно, но о, что ты написал, я понять могу, но это немного не наш уровень smile smile smile
P.S. чтобы ты не написал в ответе, Я всё равно очень очень благодарен за помощь.

Добавлено @ 14:31
Lamak
-step- это тот чувак, которому ты тоже таблицу сделал
PM MAIL   Вверх
Lamak
Дата 21.5.2005, 20:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 204
Регистрация: 8.5.2005
Где: Украина,Одесса

Репутация: 6
Всего: 7



Цитата
Вот, я никак не пойму, где сдесь функция добавления одной записи, если не трудно напиши plz

Функции как таковой нет но это делает следующий код
Код

case '1':
if (cur < 20)
{
      input(table[cur]);//эта функция отвечает за ввод информации с консоли
      cur++;//счётчик количества записей
}
else
      cout << "error: input max record" << endl;


Добавлено @ 20:44
Цитата

-step- это тот чувак, которому ты тоже таблицу сделал

Я ему только одну функцию написал. smile
PM MAIL   Вверх
Lamak
Дата 21.5.2005, 20:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 204
Регистрация: 8.5.2005
Где: Украина,Одесса

Репутация: 6
Всего: 7



Цитата
может можно как то по похожему сделать

так у тебя и так почти как у -step- , даже лучше с моей точки зрения smile (тобишь ИМХО smile)
А-а-а-а!
Mожет ты имееш ввиду чтобы table была глобально описана?

--------------------
Роботы - это интересно и увлекательно! 
PM MAIL   Вверх
Lamak
Дата 21.5.2005, 21:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 204
Регистрация: 8.5.2005
Где: Украина,Одесса

Репутация: 6
Всего: 7



Да и где вы учитесь если не секрет?
Потому что у меня в универе :если у кого-то есть код и он не понимает как он работает то
он идёт к расписанию ;смотрит где сейчас находятсья прикладники(факультет прикладной математики) 3-й,4-й курс;
идёт к ним и говорит :
- "Люди
Цитата
need in help
!!!Срочно!!!Сейчас сдавать!!!";
ему помогают и он довольный smile уходит;И не мучают ни кого на форумах smile
--------------------
Роботы - это интересно и увлекательно! 
PM MAIL   Вверх
Feanor
Дата 21.5.2005, 21:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 30
Регистрация: 23.4.2005

Репутация: нет
Всего: нет



Цитата(Lamak @ 21.5.2005, 21:09)
Да и где вы учитесь если не секрет?
Потому что у меня в универе :если у кого-то есть код и он не понимает как он работает то
он идёт к расписанию ;смотрит где сейчас находятсья прикладники(факультет прикладной математики) 3-й,4-й курс;
идёт к ним и говорит :
- "Люди
Цитата
need in help
!!!Срочно!!!Сейчас сдавать!!!";
ему помогают и он довольный smile уходит;И не мучают ни кого на форумах smile

Мне стыдно сказать smile smile smile
Будете потом говорить, что там одни тормоза, а это далеко не так.


Добавлено @ 21:42
А что такое flag и cout?

if(new_tel[j]!=records[i].Tel[j]) (почему стоит !-это же оператор "не")

И вот, ты ещё писал:
- копи /пастил ,а вообще здесь flag не нужен:

Во всё остальное въехал!!!Урра!Славься Lamak smile


PM MAIL   Вверх
Feanor
Дата 21.5.2005, 21:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 30
Регистрация: 23.4.2005

Репутация: нет
Всего: нет



Цитата(Feanor @ 21.5.2005, 21:33)
Цитата(Lamak @ 21.5.2005, 21:09)
Да и где вы учитесь если не секрет?
Потому что у меня в универе :если у кого-то есть код и он не понимает как он работает то
он идёт к расписанию ;смотрит где сейчас находятсья  прикладники(факультет прикладной математики) 3-й,4-й курс;
идёт к ним и говорит :
- "Люди
Цитата
need in help
!!!Срочно!!!Сейчас сдавать!!!";
ему помогают и он довольный smile уходит;И не мучают ни кого на форумах smile

Мне стыдно сказать smile smile smile
Будете потом говорить, что там одни тормоза, а это далеко не так.


Добавлено @ 21:42
А что такое flag и cout?

if(new_tel[j]!=records[i].Tel[j]) (почему стоит !-это же оператор "не")

И вот, ты ещё писал:
- копи /пастил ,а вообще здесь flag не нужен:

Во всё остальное въехал!!!Урра!Славься Lamak smile

Цитата
А что такое flag и cout?

Не cout, а count, я жестоко описался!!!
Добавлено @ 21:47
smile Да, и если не трудно, то разгранич пожалуйста те места, где начинается одно, и кончается другое задание, где это возможно. smile smile
PM MAIL   Вверх
Feanor
Дата 21.5.2005, 22:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 30
Регистрация: 23.4.2005

Репутация: нет
Всего: нет



Ой, вот ещё вопрос, последний (надеюсь):

Что означает:
1)cur и cur++(это счётчик вроде)
2)key
3)record. это конечно, глупо, как и всё, что я до этого спаршивал, но вроде это перев. как запись, но хотелось бы точно убедиться, что это в данной проге. smile smile smile И точку тоже плиз объясни.
Ну если на всё ответишь, то всё уже разжёвано, и мне ничего не остаётся, как продемонстрировать прогу в эту среду, о результате обязательносообщу!!! smile
Ещё раз спасибо.
PM MAIL   Вверх
Lamak
Дата 21.5.2005, 22:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 204
Регистрация: 8.5.2005
Где: Украина,Одесса

Репутация: 6
Всего: 7



Цитата
if(new_tel[j]!=records[i].Tel[j]) (почему стоит !-это же оператор "не")



Код

for (int i=0; i<count; ++i) 
{
     flag=1;// флаг = истина(флаг указывает на то начинается ли номер телефона i-ой записи )   
     for (int j=0; j<3; ++j)
     if(new_tel[j]!=records[i].Tel[j])// если new_tel[j] не равно records[i].Tel[j]
     {
           flag=0; //// флаг = ложь
           break;
     }
     if(flag)// если ложь не печатаем
           output(records[i]);
}
 

Добавлено @ 22:30
Цитата
- копи /пастил

Имеется ввиду пользовался функциями copy/paste(копировать /вставить)
--------------------
Роботы - это интересно и увлекательно! 
PM MAIL   Вверх
Lamak
Дата 21.5.2005, 22:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 204
Регистрация: 8.5.2005
Где: Украина,Одесса

Репутация: 6
Всего: 7



Цитата
Что означает:
1)cur и cur++(это счётчик вроде)
2)key
3)record.

1)cur - счётчик количества записей
сначла он = 0(int cur = 0;)
потом добавляешь новую запись и cur++ - увеличивается на единицу
2)
Цитата
key=menu();

функция menu() возвращает какая клавиша была введена
( cout<<"input: ";
cin>>b;
return b;)



--------------------
Роботы - это интересно и увлекательно! 
PM MAIL   Вверх
Feanor
Дата 22.5.2005, 12:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 30
Регистрация: 23.4.2005

Репутация: нет
Всего: нет



Во!!! Оьалдеть, я все пояснения вместе собрал, на два листа вышло!!!
Вот это ты поработал!!! Истинно человеище!!!
Вот только что такое count не написал.Напиши пож.
Да, и вот ты писал:

Код

stud table [20];
int cur = 0;
char key = 0;
clrscr();
[b]for (;;)[/b]

Меня обязательно спросят, почему там пусто, т.е. for(;;) ???

Итак:
1) count
2) key=menu
switch (key)
3)for (;;)

Это последние непонятки smile smile smile

PM MAIL   Вверх
Страницы: (3) Все 1 [2] 3 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Центр помощи"

ВНИМАНИЕ! Прежде чем создавать темы, или писать сообщения в данный раздел, ознакомьтесь, пожалуйста, с Правилами форума и конкретно этого раздела.
Несоблюдение правил может повлечь за собой самые строгие меры от закрытия/удаления темы до бана пользователя!


  • Название темы должно отражать её суть! (Не следует добавлять туда слова "помогите", "срочно" и т.п.)
  • При создании темы, первым делом в квадратных скобках укажите область, из которой исходит вопрос (язык, дисциплина, диплом). Пример: [C++].
  • В названии темы не нужно указывать происхождение задачи (например "школьная задача", "задача из учебника" и т.п.), не нужно указывать ее сложность ("простая задача", "легкий вопрос" и т.п.). Все это можно писать в тексте самой задачи.
  • Если Вы ошиблись при вводе названия темы, отправьте письмо любому из модераторов раздела (через личные сообщения или report).
  • Для подсветки кода пользуйтесь тегами [code][/code] (выделяйте код и нажимаете на кнопку "Код"). Не забывайте выбирать при этом соответствующий язык.
  • Помните: один топик - один вопрос!
  • В данном разделе запрещено поднимать темы, т.е. при отсутствии ответов на Ваш вопрос добавлять новые ответы к теме, тем самым поднимая тему на верх списка.
  • Если вы хотите, чтобы вашу проблему решили при помощи определенного алгоритма, то не забудьте описать его!
  • Если вопрос решён, то воспользуйтесь ссылкой "Пометить как решённый", которая находится под кнопками создания темы или специальным флажком при ответе.

Более подробно с правилами данного раздела Вы можете ознакомится в этой теме.

Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Poseidon, Rodman

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Центр помощи | Следующая тема »


 




[ Время генерации скрипта: 0.0561 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.