Программа Ежедневник

  • Автор темы olzathebest
  • Дата начала
O

olzathebest

Гость
#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,^_^ && 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=named;
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;
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;
}
}
}
}