Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
met_cv.doc
Скачиваний:
12
Добавлен:
04.06.2015
Размер:
973.31 Кб
Скачать

Ввод даты с экрана.

#include <stdio.h>

#include <string.h>

Void main()

{ int day=0, year=0,m=0,dmax,i;

static char month0[10];

char month[12][10]={{"январь"},{"февраль"},{"март"},

{"апрель"},{"май"},{"июнь"},

{"июль"},{"август"},{"сентябрь"},

{"октябрь"},{"ноябрь"},{"декабрь"}};

char vvod=0;

printf("Введите год:\n");

while(vvod==0)

{ vvod=scanf("%d",&year);

if(year <= 0 || year >= 5000)

{ printf("Год введен неправильно! Повторите ввод:\n");

vvod=0;

}

}

vvod=0;

printf("Введите месяц (полное русское название):\n");

while(vvod == 0)

{ vvod=scanf("%s",month0);

for(i=0;i<12&&stricmp(month0,month[i])!=0;i++);

if(i == 12)

{ printf("Месяц набран неправильно! Повторите ввод:\n");

vvod=0;

}

else m=i+1;

}

if((m <= 7 && m%2==1) || (m > 6 && m%2 == 0))

dmax=31;

else dmax=30;

if(m == 2)

if(year%4 == 0 && year%400 != 0 ) dmax=29;

else dmax=28;

vvod=0;

printf("Введите число месяца:\n");

while(vvod == 0)

{ vvod=scanf("%d",&day);

if(day <= 0 || day > dmax)

{ printf("Число набрано неправильно! Повторите ввод:\n");

if(day > dmax)

if(dmax == 31)

printf("(в месяце %s только %d день!)\n",

month0,dmax);

else

printf("(в месяце %s только %d дней!)\n",

month0, dmax);

vvod=0;

}

}

printf("Введена дата: %d %s %d.\n",day,month0,year);

}

Объем этой программы продиктован необходимостью реализации логически относительно сложного контроля вводимых в программу данных. Использованная в программе функция stricmp() обеспечивает сравнение двух строковых переменных (строковая переменная это массив символов, заканчивающийся нулем) и возвращает не нулевое значение, если строки различаются.

Доработка программы решения физической задачи из раздела 8.4.

Вначале сформулируем общие требования к программе, которые делают ее пригодной к эксплуатации:

  1. Программа после запуска должна выводить на экран название решаемой задачи и фамилию исполнителя;

  2. Все входные данные должны запрашиваться с полным названием вводимой величины и вводится с клавиатуры. При вводе физических величин необходимо указывать ее единицы измерения;

  3. После печати результатов работы программа должна их сохранять на экране до нажатия любой клавиши.

#include <stdio.h>

#include <math.h>

#include <conio.h>

#define k 0.0048

Void main()

{ float Tm,Tv,Tm0,S,V,dt,tmax,t;

printf("Программа расчета изменения температуры молока \n");

printf("в бидонах при содержании на открытом воздухе. \n");

printf("Разработала студентка группы E11 Чалдомир Л. \n");

printf("Введите температуру окружающего воздуха в гр. Цельсия \n");

scanf("%f",&Tv);

printf("Введите начальную температуру молока в гр. Цельсия \n");

scanf("%f",&Tm0);

printf("Введите площадь поверхности бидона в м квадратных \n");

scanf("%f",&S);

printf("Введите объем бидона в м кубических \n");

scanf("%f",&V);

printf("Введите интервал расчета в часах \n");

scanf("%f",&tmax);

printf("Введите шаг расчета в часах \n");

scanf("%f",&dt);

// Печать заголовка таблицы:

printf("Время (часы) Температура молока в град. Цельсия \n");

for(t=0;t <= tmax;t+=dt)

{ Tm=Tv+(Tm0-Tv)*exp(-k*S*t/V);

printf(" %.1f %.2f\n",t,Tm);

}

printf("Для выхода из программы нажмите любую клавишу. \n");

getch();

}

Функция getch()из библиоьеки <conio.h> останавливает работу программы до нажатия любой клавиши. Более подробно о функциях управления работой программы с клавиатуры рассказывается в следующем разделе.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]