1 вопрос. Что неправильно в этой программе:
Код: Выделить всё
/* Laboratory work 2. Variant 7.
Student Vladimir Yarovoy. Group P-44 */
#include <stdio.h>
main() {
int l, k, d, m, t;
printf("Enter k: "); scanf("%d",k);
if ( k<1 || k>366 ) {
printf("Error! Only 366 days in this year...\n");
} else {
l=1; //January 31
if (k>=32) {l++;} //February 29
if (k>=61) {l++;} //March 31
if (k>=91) {l++;} //April 30
if (k>=122) {l++;} //May 31
if (k>=152) {l++;} //June 30
if (k>=183) {l++;} //July 31
if (k>=214) {l++;} //August 31
if (k>=244) {l++;} //September 30
if (k>=275) {l++;} //October 31
if (k>=306) {l++;} //November 30
if (k>=336) {l++;} //December 31
switch(l) {
case 1: printf(" of January"); break;
case 2: printf(" of February"); break;
case 3: printf(" of March"); break;
case 4: printf(" of April"); break;
case 5: printf(" of May"); break;
case 6: printf(" of Juny"); break;
case 7: printf(" of July"); break;
case 8: printf(" of August"); break;
case 9: printf(" of September"); break;
case 10: printf(" of October"); break;
case 11: printf(" of November"); break;
case 12: printf(" of December"); break;
} //switch
} //else
return 0;
} //main

2 вопрос. Мне препод говорит, что для определения месяца в году по номеру дня можно не использовать код, как я написал -
Код: Выделить всё
l=1; //January 31
if (k>=32) {l++;} //February 29
if (k>=61) {l++;} //March 31
if (k>=91) {l++;} //April 30
if (k>=122) {l++;} //May 31
if (k>=152) {l++;} //June 30
if (k>=183) {l++;} //July 31
if (k>=214) {l++;} //August 31
if (k>=244) {l++;} //September 30
if (k>=275) {l++;} //October 31
if (k>=306) {l++;} //November 30
if (k>=336) {l++;} //December 31
3 вопрос. Как в си преобразовывать типы? int -> str, str -> int Если это возможно...
4 вопрос. Например мне надо в массив занести символы латинского алфавита. Как сделать чтобы при попытке ввода чего-то кроме буквы (символ какой-нить или цифра), выдавалась ошибка?
5 вопрос. Что такое итерационный цикл? :lol: так за первый семестр и не смог понять...

6 вопрос. Что значит return 0; ? :lol: (в моей программе сверху есть в конце)
7 вопрос. Почему если я уберу этот return 0; , а вместо main () сделаю void main() , в моей программе ничего не меняется? И что такое void это? Почему если void вставить в скобочки к main(), тоже ничего не меняется? Почему, если я уберу return 0; и void тоже, опять ничего не меняется????? :lol: :lol:
8 вопрос. Как сделать чтоб в конце программа не выключалась, а ждала пока я нажму клавишу какую-нить?
9 вопрос. Есть ли в си аналог двух точек (как в паскале). например для switch() чтоб не для каждого значения сделать, а например для значений от 10 до 100. в паскале я бы написал 10..100, в си как так сделать?