実践型実習
今日はこんなのを作りました。まぁ、このプログラム動かないんですけどね(^^;)ゞ
なんとか直さないとなっっっとりあえず、メモのために書き留めておこうと思います。
/*会議室の予約管理*/
#include
#define DATA_TIME 10
#define DATA_ROOM 6
/*main関数*/
main(){
int data[DATA_TIME][DATA_ROOM] = {0};
int start_time, end_time;
int room_n;
int i, j;
for( ; ; ){
/*入力処理*/
printf( "会議室番号==>" ); /*会議室番号入力*/
scanf( "%d", &room_n );
/*switch文処理*/
switch( room_n ){
/*room_nの値が0のとき*/
case 0:
printf( "END\n" );
return;
/*room_nの値が1〜5のとき*/
case 1:
case 2:
case 3:
case 4:
case 5:
printf( "開始時間==>" ); /*開始時間入力*/
scanf( "%d", &start_time );
printf( "終了時間==>" ); /*終了時間入力*/
scanf( "%d", &end_time );
if( ( (9 <= start_time) && (start_time <= 18) ) && ( (9 <= end_time) && (end_time <= 18) ) ){
j = (end_time - start_time);
/*予約できるか・できないかを判定し処理する*/
if( j > 0 ){
for( i = start_time - 8; i < end_time -8; i++ ){
/*if( (data[i][room_n] & 1) == 1 ){
printf( "ヨヤクデキマセンデシタ\n" );
break;
}*/
else{
for( i = start_time - 8; i < end_time - 8; i++ ){
data[i][room_n] = 1;
}
printf( "%d:00-%d:00 %d番会議室 ", start_time, end_time, room_n );
printf( "ヨヤクカンリョウ!!\n" );
break;
}
}
}
else{
printf( "入力された開始時間と終了時間では予約できません。\n" );
}
}
else{
printf( "予期せぬ数値が入力されました。もう一度やり直してください。\n" );
}
break;
/*room_nの値が9のときの予約状況確認出力処理*/
case 9:
printf( "\|" );
for( i = 1; i < DATA_ROOM; i++ ){
printf( "%2d", i );
}
printf("\n---------------\n");
for( i = 1; i < DATA_TIME; i++ ){
printf( "%2d|", i + 8 );
for( j = 1; j < DATA_ROOM; j++ ){
if(data[i][j] == 1){
printf( " X" );
}
else{
printf( " " );
}
}
printf( "\n" );
}
break;
/*room_nの値が振り与えられた値以外のときの処理*/
default:
printf( "入力された番号の会議室は存在しません。再度入力をお願いします。\n" );
break;
}
}
}