Lotos Опубликовано 17 марта, 2008 Жалоба Поделиться Опубликовано 17 марта, 2008 Здравствуйте. Помогите, пожалуйста, написать программку на си++ Недавно "Тролль" уже здесь писал очень похожую прогу, а мне нужно кое-что изменить. У самого не выходит. Условие: 1. Описать структуру с именем NOTE, содержащую следующие поля: • Фамилия, имя; • Номер телефона; • День рождения (массив из трех чисел). 2. Написать программу, выполняющую следующие действия: • ввод с клавиатуры данных в массив, состоящий из восьми элементов типа NOTE; записи должны быть упорядочены по датам дней рождений; • Вывод на экран информации о человеке, номер которого введен с клавиатуры; • Если такого нет, вывести соответствующее сообщение. Заранее Большое спасибо! Ссылка на комментарий Поделиться на другие сайты Поделиться
Тролль Опубликовано 17 марта, 2008 Жалоба Поделиться Опубликовано 17 марта, 2008 Lotos: Два замечания: 1. Не говоря уже о том, что уже была очень похожая тема от aliner88, о которой ты упоминаешь, специально для таких вопросов есть тема в "Важно": "Заказы "Сделайте все за меня"". Ни к чему множить темы. 2. Ту программу, по просьбе aliner88, надо было написать на C. C и C++ - два разных языка. Программа, написанная на C, чаще всего будет нормально компилироваться и в C++, но в C++ можно использовать гораздо более удобные и мощные команды, чем в C. Но раз программа уже была написана, я ее подкорректирую и оставлю C, она будет работать и в C++. #include <stdio.h> #include <string.h> main() { struct NOTE{char NAME[20],TELE[15];unsigned BDAY[3];}BNOTE[8],T; int i,j,k=0; char Number[15]; for(i=0;i<8;i++) { printf("\nName? "); gets(BNOTE.NAME); if(strlen(BNOTE.NAME)==0)break; printf("Phone number? "); gets(BNOTE.TELE); printf("Birthday (YYYY MM DD)? "); for(j=0;j<3;j++)scanf("%u",&BNOTE.BDAY[j]); gets(Number); k++; }; for(i=0;i<k;i++)for(j=0;j<k-i-1;j++) if((long)1000*BNOTE[j].BDAY[0]+50*BNOTE[j].BDAY[1]+BNOTE[j].BDAY[2]> (long)1000*BNOTE[j+1].BDAY[0]+50*BNOTE[j+1].BDAY[1]+BNOTE[j+1].BDAY[2]) {T=BNOTE[j];BNOTE[j]=BNOTE[j+1];BNOTE[j+1]=T;} printf("\nNumber for the seach? "); gets(Number); j=0; for(i=0;i<k;i++)if(!strcmp(Number,BNOTE.TELE)) { printf("\nName: %s \nPhone number: %s \nBirthday: %u %u %u\n\n", BNOTE.NAME, BNOTE.TELE, BNOTE.BDAY[0],BNOTE.BDAY[1],BNOTE.BDAY[2]);j=1; }; if(!j)printf("No such person!\n\n"); getch(); } Ссылка на комментарий Поделиться на другие сайты Поделиться
Lotos Опубликовано 17 марта, 2008 Автор Жалоба Поделиться Опубликовано 17 марта, 2008 Спасибо, замечания приму к сведенью. Жаль, конечно, что на С++ переписать не удалось... Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения