Дали задание:
Разработайте программу, обрабатывающую план дел на день. В плане задается набор дел в формате «Начальное время» - «Конечное время» - «Название задачи». В результате обработки выводятся промежутки времени с заданным интервалом в диапазоне 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;
}
}
}
}