Вопрос Помогите написать 2 программы на c с помощью переключателя switch

Регистрация
28 Сен 2013
Сообщения
83
Репутация
-3
Спасибо
0
Монет
0
1. Написать программу, определяющую знак зодиака в зависимости от даты рождения. Программа просит пользователя ввести день и месяц его рождения и выводит на экран его знак зодиака. Каждому знаку зодиака соответствуют следующие отрезки дат:

Овен [21.03 - 20.04]

Телец [21.04 - 20.05]

Близнецы [21.05 - 21.06]

Рак [22.06 - 22.07]

Лев [23.07 - 23.08]

Дева [24.08 - 23.09]

Весы [24.09 - 23.10]

Скорпион [24.10 - 22.11]

Стрелец [23.11 - 21.12]

Козерог [22.12 - 20.01]

Водолей [21.01 - 20.02]

Рыбы [21.02 - 20.03]

Дата должна обязательно существовать (считаем, что в феврале может быть только 28 дней!).



2. Написать программу, которая просит пользователя ввести день, месяц и год, а так же номер дня недели (понедельник - 1, вторник - 2 и т. д.), соответствующий первому дню в этом году. Программа должна выводить на экран название соответствующего указанной дате дня недели. Год должен быть от 1901 до 2099. Дата должна быть существующей!
 
#include

int main() {
int day, month;

printf("Введите день рождения: ");
scanf("%d", &day);
printf("Введите месяц рождения: ");
scanf("%d", &month);

// Проверяем, существует ли такая дата
if (month == 1 || month == 3 || month == 5 || month == 7 || month == 8 || month == 10 || month == 12) {
if (day > 31 || day < 1) {
printf("Введенная дата не существует.\n");
return 1;
}
} else if (month == 4 || month == 6 || month == 9 || month == 11) {
if (day > 30 || day < 1) {
printf("Введенная дата не существует.\n");
return 1;
}
} else if (month == 2) {
if (year % 4 == 0 && year % 100 != 0 || year % 400 == 0) {
if (day > 29 || day < 1) {
printf("Введенная дата не существует.\n");
return 1;
}
} else {
if (day > 28 || day < 1) {
printf("Введенная дата не существует.\n");
return 1;
}
}
}

// Определяем знак зодиака
switch (month) {
case 3:
if (day
 
талант не может решить,че уж тут обычным смертным делать...
 
Задача заведомо ложная !
Удиви и пошли учителя ! ахахах.
В 2038 году катаклизмы говорят будут в Компьютерном Мире.
А тут год до 2099 года.
 
#include
int main(void) {
const char* s[]={"Овен","Телец","Близнецы","Рак","Лев","Дева","Весы","Скорпион","Стрелец","Козерог","Водолей","Рыбы",""};
int y[]={0,0,31,59,90,120,151,181,212,243,273,304,334,365};
int d,m,a,i;
printf("День и месяц рождения через пробел: ");
scanf("%d%d",&d,&m);
switch(d+y[m]){
case 356:case 357:case 358:case 359:case 360:case 361:case 362:case 363:case 364:case 365:case 1:case 2:case 3:case 4:case 5:case 6:case 7:case 8:case 9:case 10:case 11:case 12:case 13:case 14:case 15:case 16:case 17:case 18:case 19:case 20:i=9;break;
case 21:case 22:case 23:case 24:case 25:case 26:case 27:case 28:case 29:case 30:case 31:case 32:case 33:case 34:case 35:case 36:case 37:case 38:case 39:case 40:case 41:case 42:case 43:case 44:case 45:case 46:case 47:case 48:case 49:case 50:case 51:i=10;break;
case 52:case 53:case 54:case 55:case 56:case 57:case 58:case 59:case 60:case 61:case 62:case 63:case 64:case 65:case 66:case 67:case 68:case 69:case 70:case 71:case 72:case 73:case 74:case 75:case 76:case 77:case 78:case 79:i=11;break;
case 80:case 81:case 82:case 83:case 84:case 85:case 86:case 87:case 88:case 89:case 90:case 91:case 92:case 93:case 94:case 95:case 96:case 97:case 98:case 99:case 100:case 101:case 102:case 103:case 104:case 105:case 106:case 107:case 108:case 109:case 110:i=0;break;
case 111:case 112:case 113:case 114:case 115:case 116:case 117:case 118:case 119:case 120:case 121:case 122:case 123:case 124:case 125:case 126:case 127:case 128:case 129:case 130:case 131:case 132:case 133:case 134:case 135:case 136:case 137:case 138:case 139:case 140:i=1;break;
case 141:case 142:case 143:case 144:case 145:case 146:case 147:case 148:case 149:case 150:case 151:case 152:case 153:case 154:case 155:case 156:case 157:case 158:case 159:case 160:case 161:case 162:case 163:case 164:case 165:case 166:case 167:case 168:case 169:case 170:case 171:case 172:i=2;break;
case 173:case 174:case 175:case 176:case 177:case 178:case 179:case 180:case 181:case 182:case 183:case 184:case 185:case 186:case 187:case 188:case 189:case 190:case 191:case 192:case 193:case 194:case 195:case 196:case 197:case 198:case 199:case 200:case 201:case 202:case 203:i=3;break;
case 204:case 205:case 206:case 207:case 208:case 209:case 210:case 211:case 212:case 213:case 214:case 215:case 216:case 217:case 218:case 219:case 220:case 221:case 222:case 223:case 224:case 225:case 226:case 227:case 228:case 229:case 230:case 231:case 232:case 233:case 234:case 235:i=4;break;
case 236:case 237:case 238:case 239:case 240:case 241:case 242:case 243:case 244:case 245:case 246:case 247:case 248:case 249:case 250:case 251:case 252:case 253:case 254:case 255:case 256:case 257:case 258:case 259:case 260:case 261:case 262:case 263:case 264:case 265:case 266:i=5;break;
case 267:case 268:case 269:case 270:case 271:case 272:case 273:case 274:case 275:case 276:case 277:case 278:case 279:case 280:case 281:case 282:case 283:case 284:case 285:case 286:case 287:case 288:case 289:case 290:case 291:case 292:case 293:case 294:case 295:case 296:i=6;break;
case 297:case 298:case 299:case 300:case 301:case 302:case 303:case 304:case 305:case 306:case 307:case 308:case 309:case 310:case 311:case 312:case 313:case 314:case 315:case 316:case 317:case 318:case 319:case 320:case 321:case 322:case 323:case 324:case 325:case 326:i=7;break;
case 327:case 328:case 329:case 330:case 331:case 332:case 333:case 334:case 335:case 336:case 337:case 338:case 339:case 340:case 341:case 342:case 343:case 344:case 345:case 346:case 347:case 348:case 349:case 350:case 351:case 352:case 353:case 354:case 355:i=8;break;
default:i=12;
}
printf("%s\n",s);
return 0;
}
 
Назад
Сверху