Автор: Пользователь скрыл имя, 26 Марта 2015 в 08:30, отчет по практике
Написание программы, которая вычисляет значение выражения. Написание программы, которая подводит итоги Олимпийских игр. Написание программы, которая определяет адреса целых чисел от 0 до 9 и строчных букв латинского алфавита.
Рис.6. Результат работы приложения.
Рис.7. Результат вывода прописных букв латинского алфавита.
Листинг приложения:
#include "stdafx.h"
#include <stdio.h>
#include <conio.h>
#include <clocale>
#include <iostream>
using namespace std;
int main (void)
{
int i,
j = 0;
char c = 'a',
*ptr2;
ptr2 = &c;
printf("\n\t Figures, symbols and their addresses:\n");
i=0;
while (i!=10)
{
printf("\n\t %3d) %2d --> %5p", i + 1, i, &i);
i=i+1;
}
printf("\n");
while (*ptr2<='z')
{
printf("\n\t %3d) %2c --> %5p", ++j, *ptr2, ptr2);
(*ptr2)++;
}
int i1,
j1 = 0;
char c1 = 'A',
*ptr3;
ptr3 = &c1;
printf("\n");
while (*ptr3<='Z')
{
printf("\n\t %3d) %2c --> %5p", ++j1, *ptr3, ptr3);
(*ptr3)++;
}
printf("\n");
_getch();
return 0;
}
Задача 2. Указатели
В соответствии с поставленной целью, в Microsoft Visual Studio было реализовано приложение (рис. 8) которое определяет разность указателей с помощью зарезервированного имени. Также были поменяны местами переменные x и y и результат выведен с помощью одной функции printf().
Рис.8. Результат работы приложения
Листинг приложения:
#include "stdafx.h"
#include <stdio.h>
#include <conio.h>
#include <stddef.h>
int main (void)
{
int x, y;
int *px, *py;
ptrdiff_t z;
px = &y;
py = &x;
z = px - py;
printf ("\n The difference of two pointers to %p and %p is: %d \n\n The addresses are: px = %p, py = %p\n", px, py, (int) z,&px, &py);
printf("\n Press any key: ");
_getch();
return 0;
}
Задача 1. Файлы
В соответствии с поставленной целью, в Microsoft Visual Studio было реализовано приложение (рис. 9) для копирования произволтного файла, без использования системных функций. Пользователю необходимо написать только путь к файлу.
Рис.9. Результат работы копирования файла.
Рис.10. Файл для копирования.
Рис.11. Скопированный файл.
Листинг:
#include "stdafx.h"
#include <iostream>
#include <stdio.h>
#include <conio.h>
#include <math.h>
#include <ctime>
#include <string>
#include <fstream>
using namespace std;
int _tmain(int argc, _TCHAR* argv[])
{
setlocale (LC_ALL,"Russian");
fstream File1;
cout <<"Напишите адрес файла" <<endl;
string path;
ofstream File2("qwe2.txt");
cin >>path;
File1.open(path);
string b;
while (!File1.eof())
{
File1 >>b;
File2 <<b;
cout <<b <<" ";
}
File1.close();
File2.close();
getch();
return 0;
}
Задача 2. Файлы
В соответствии с поставленной целью, в Microsoft Visual Studio было реализовано приложение (рис. 12) для поиска введенного слова. Пользователю необходимо написать путь к файлу и нужное слово. Если слова в файле нет, то будет сообщение представленное на рисунке 13. Если слово есть будет сообщение представленное на рисунке 14.
Рис.12. Пример проверки слова в файле (если слова нет).
Рис.13. Пример проверки слова в файле (если слово есть).
Рис.14. Исходный файл.
Листинг:
#include "stdafx.h"
#include <iostream>
#include <stdio.h>
#include <conio.h>
#include <math.h>
#include <ctime>
#include <string>
#include <fstream>
using namespace std;
int _tmain(int argc, _TCHAR* argv[])
{
setlocale (LC_ALL,"Russian");
fstream File1;
cout <<"Напишите адрес файла" <<endl;
string path;
cin >>path;
File1.open(path);
string b;
string search;
cout <<"Введите слово, которое нужно найти" <<endl;
cin >>search;
int ff=0;
int k = 0;
while (!File1.eof())
{
File1 >>b;
if (b==search)
{
cout <<"Ваше слово есть!!!" <<endl;
ff = 1;
}
else
{
k = k+1;
}
}
if (k>0 && ff==0)
{
cout <<"Ваше слово НЕТ!!!" <<endl;
}
getch();
return 0;
}
Вывод
После выполнения учебной практики, были разработаны приложения для реализации поставленных целей. Также были выполнены все поставленные задачи. Приложения протестированы, ошибок не обнаружилось.
Абакан, 2015