Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 07.10.2012, 19:31   #1
olzathebest
Новичок
Джуниор
 
Регистрация: 07.10.2012
Сообщений: 1
По умолчанию Программа Ежедневник

Дали задание:
Разработайте программу, обрабатывающую план дел на день. В плане задается набор дел в формате «Начальное время» - «Конечное время» - «Название задачи». В результате обработки выводятся промежутки времени с заданным интервалом в диапазоне 7:00-23:00. Если промежуток занят задачей, то справа от него выводится «*».

Вроде и всё написала, но проблема- не получается в нужном месте поставить звездочку.
Может кто-нибудь помочь, пожалуйста?
Внизу листинг программы.

Код:
#include "stdafx.h"
#include <iostream>
 
using namespace std;
 
 
struct schedule {
int f_hour;
int f_minute;
int l_hour;
int l_minute;
}day;
 
struct interval {
schedule a;
char name[100];
}inter;
 
void add0(int e){
if(e==0){
cout« "00" ;
}
 
else{
cout«(e);
}
};
 
bool proverka (int hour,int minutes){
if(hour<24 && hour>=7 && minutes>=0 && minutes<60)
return true;
return 0;
}
 
int count=0;
 
int input (){
bool p; int a,b,c,d; char named[100]; 
 
do{
cout « "Name of task" « endl;
cin » named;
cout « "First time" « endl;
cin » a » b;
cout « "Last time" « endl;
cin » c » d;
 
if (proverka(a,b) && proverka(c,d)){
 
inter.a.f_hour=a;
inter.a.f_minute=b;
inter.a.l_hour=c;
inter.a.l_minute=d;
 
for (int i=0;i<100;i++)
inter.name[i]=named[i];
count++;
p=true;
}
else{ 
cout « "Error.Please repeat your input" « endl;
p=false; 
}
}while(p==false);
return 0;
}
 
void rasp(){
 
for(int i=0;i<count;i++){
cout « " —---------------------- " « endl;
cout « "Tasks" « endl;
cout « inter.a.f_hour « ":" « inter.a.f_minute « "---" « inter.a.l_hour « ":" « inter.a.l_minute « ' ';
for (int i=0;i<strlen(inter.name);i++) cout «inter.name[i];
cout « endl;
cout « " —---------------------- " « endl;
}
day.f_hour=7;
day.l_hour=23;
day.f_minute=00;
day.l_minute=59;
 
while(day.f_hour<day.l_hour){
 
cout « day.f_hour « ":"; 
add0(day.f_minute); 
cout « "---" « day.f_hour « ":"; 
 
if (day.f_minute + 15 == 60) {
day.f_minute--;
add0(day.f_minute + 15);
if (inter.a.f_hour == day.f_hour)
if(inter.a.f_minute <= day.f_minute +15)
cout « "***";
if (inter.a.l_hour == day.f_hour)
if(inter.a.l_minute <= day.f_minute+15)
cout « "***";
 
cout « endl;
++day.f_hour;
day.f_minute=0;
continue;
}
 
add0(day.f_minute+14);
if (inter.a.f_hour == day.f_hour)
if(inter.a.f_minute <= day.f_minute +14)
cout « "***";
if (inter.a.l_hour == day.f_hour)
if(inter.a.l_minute <= day.f_minute+14)
cout « "***";
 
cout « endl;
 
if ((day.f_minute=day.f_minute+15) > 60){
++day.f_hour;
day.f_minute=0;
}
}
}
 
int main() {
 
int menu=0;
 
while(1){
cout « "Hello! Its your schedule!" « endl;
cout « "1.New task" « endl;
cout « "2.Schedule" « endl;
cout « "3.Exit" « endl;
cout « "Please enter your choosing" « endl;
 
while((menu!=1)&&(menu!=2)&&(menu!=3))
cin » menu;
 
switch(menu){
case 1: { 
input();
menu = 0;
break;
}
case 2: {
rasp();
menu = 0;
break;
}
case 3: {
return 0;
}
}
}
}

Последний раз редактировалось Stilet; 07.10.2012 в 20:21.
olzathebest вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ежедневник Афанасий[vedma] Общие вопросы Delphi 1 21.07.2012 17:30
Ежедневник на JAVA SE Shprot163 Общие вопросы по Java, Java SE, Kotlin 1 15.04.2012 01:05