Цель работы - изучение функций
ввода-вывода и получение навыков организации простейшего ввода - вывода данных.
Лабораторное задание
Составить программу, осуществляющую ввод и вывод исходных
данных.
Выполнить ввод и вывод переменных заданных типов:
’A’; ’Меня зовут <фамилия и имя>’; 315, -27;
127.361, -574.953; 2124.
Описание метода решения задачи
1.Описание константы символьного типа ‘А’
2.Описание
массива символов (макс=100), в который будет помещено <фамилия и имя>,
его ввод, проверка на наличие пробела и количество символов
3.Описание и
ввод положительного и отрицательного целых и проверка на наличие положительного
и отрицательного
4.Описание и
ввод положительного и отрицательного с плавающей точкой, проверка на налицие
цифр после запятой и проверка на наличие положительного и отрицательного
5.Описание и
ввод беззнакового целого
6.Вывод всех введенных
данных с различными дополнениями
Листинг
#include <stdio.h>
#include <conio.h>
#include <string.h>
#include <math.h>
#include <locale.h>
void main()
{
//Первая часть: Ввод строки
const char a='A';
char s[100];
size_t f;
unsigned
i,k;
k=0;
setlocale (LC_ALL, "Russian");//чтобы
корректно
выводились
русские
буквы
do
{
printf("Введите имя и фамилию ");
gets(s);//записываем имя и фамилию в массив s
f=strlen(s);//считаем колличество символов в строке s
k
= 0;
if
(f<=100)
{
for
(i = 0; i < f; i++)
{
if (s[i]==' ')// ищем пробел между именем и фамилией
k
= k + 1;
}
}
}
while ((f<15) || (k==0));
// Вторая часть: Ввод 2 целых чисел с разными знаками
int c14,c24;
metka1:;
printf("Введите 2 числа первое положительное второе отрицательное
");
scanf("%d %d",&c14,&c24);
if
((c14>0) && (c24>0))
{
printf("Ошибка. Нет отрицательного числа\n");
goto metka1;
};
if
((c14<0) && (c24<0))
{
printf("Ошибка. Нет положительного числа\n");
goto metka1;
};
//Третья часть: Ввод 2 чисел с плавающей точкой
double d14,d24;
metka2:;
printf("Введите 2 числа с плавающей точкой с разными знаками
");
scanf("%lf %lf",&d14,&d24);
if
((d14>0) && (d24>0))
{
printf("Ошибка. Нет отрицательного числа\n");
goto metka2;
};
if
((d14<0) && (d24<0))
{
printf("Ошибка. Нет положительного числа\n");
goto metka2;
};
double
x1,x2,y;
x1=modf(d14,&y);
x2=modf(d24,&y);
if
((x1==0) && (x2==0))
{
printf("Ошибка. Вы ввели целое число\n");
goto metka2;
};
//Четвертая часть: ВВод целого беззнакового
unsigned b1;
printf("Введите беззнаковое число ");
scanf("%u",&b1);
// Пятая часть: Вывод конечных данных
printf("1.%c %d\n", a,a);
printf("Меня зовут %s, %d\n", s,f);
printf ("%d
%x\n",c14,c14);
printf("%d
%x\n",c24,c24);
printf("%.3f
%.3e\n",d14,d14);
printf("%.3f
%.3e\n",d24,d24);
printf("%u
%o %x\n",b1,b1,b1);
printf("Вывод с модификаторами-
%5d, %5.d, %-5d \n",c14,c14,c14);
printf("Вывод с модификаторами- %5d, %5.d, %-5d",c24,c24,c24);
getch();
}
Пояснительный текст к программе
Константа а-символ А
Переменная s-массив
символов в котором заложена <фамилия и имя>
Переменная f-опряделяет
количество символов в массиве s
Переменные с14,с24-целые числа
Переменные d14,d24-числа с плавающей запятой
Переменная b1-беззнаковое
число
Переменные i,k,x1,x2,y-необходимы
для промежуточных результатов
Комментариев нет:
Отправить комментарий