close

Вход

Забыли?

вход по аккаунту

?

лаб 7 (2)

код для вставкиСкачать
Министерство образования и науки РФ
Тверской государственный технический университет
Кафедра электронных вычислительных машин
Отчёт к лабораторной работе №7
по дисциплине "Программирование на языках высокого уровня"
Обработка текстовых файлов
Выполнила: студентка группы 1004
Иванова М.Е Принял: доцент кафедры ЭВМ
Борисов Н.А.
Тверь, 2010
Тема работы:
Обработка текстовых файлов.
Цель работы:
Освоить работу с текстовыми файлами. Создавать и использовать собственные функции.
Задание на работу: Исходный файл состоит из строк, в каждой из которых записаны данные о ценах на товары, продающиеся в различных магазинах, в следующем порядке:
* Название товара
* Название магазина, в котором продается товар
* Стоимость товара в рублях
* Дата поступления товара в магазин (день и месяц)
Для заданного товара и определенной суммы денег вычислить, сколько единиц данного товара можно купить в различных магазинах в виде, записать в выходной файл:
* Количество единиц товара
* Название магазина
* Остаток денег от заданной суммы
Дополнительный уровень сложности 6. Вариант 57. Алгоритм программы в виде псевдокода:
Открыть для чтения файл Структура товар
имя товара
магазин
цена
дата
Функция zapolnenie()
читать строку
разбить строку на массив
имя товара присвоить 0-ой элемент
магазин присвоить 1-ый элемент
цена присвоить и преобразовать в int 2-ой элемент
дата присвоить 3-ий элемент
Функция Strings()
открыть для чтения файл
пока строка не пустая
s присвоить считанная из файла строка
увеличить счетчик закрыть файл
Функция Main
Сумма
Заданный товар
вызов Strings
цикл для i
вызов zapolnenie
если имя товара совпадает с заданным
m = Сумма/цена
d=остаток от Сумма/цена
s= магазин
Записать товар(Заданный товар,Сумма,m,d,s)
Печать: "Файл успешно записан"
иначе
Записать ошибку()
Печать: "Файл записан"
Записать товар(n,p,m,d,s)
Открыть\Создать файл
Записать: Товар + n+ в магазине + s+ Количество за сумму + p +
+ - + m + Остаток денег: + d
Закрыть файл
Записать ошибку()
Открыть\Создать файл
Записать: Ошибка: такого товара нет ни в одном магазине
Закрыть файл Текст программы:
using System;
using System.Collections.Generic;
using System.Text;
using System.IO;
namespace ConsoleApplication1
{
class Program
{
static int stroka = 0;
static StreamReader sr = File.OpenText("Товар.txt");
public struct tovar
{
public string name; //имя товара
public string shop; //название магазина public int price; //цена
public string data; //дата поступления
public void zapolnenie()
{
string s = sr.ReadLine();
string[] st = S.Split(';');
name = st[0];
shop = st[1];
price = Convert.ToInt32(st[2]);
data = st[3];
}
}
static void Strings()
{
string s = "";
StreamReader stre = File.OpenText("Товар.txt");
while (s != null)
{
s = stre.ReadLine();
stroka++;
}
stre.Close();
}
static void Main(string[] args)
{
int m = 0; // количество покупаемого товара
double d = 0; // оставшиеся деньги
int p = 1900; // сумма
string n = "Лампа"; // заданный товар
string s = "";
Strings();
for (int i = 0; i < stroka; i++)
{
tovar T = new tovar();
T.zapolnenie();
if (n == T.name)
{
m = p / T.price; // количество заданного товара
d = p % T.price; // остаток денег
s=T.shop;
writetovar(n, р, m, d, s); // записать в файл
Console.WriteLine("Файл успешно записан");
}
else
{
writeerror(); // сообщение об ошибке
Console.WriteLine("Файл записан");
}
}
}
static void writetovar(string n, int p, int m, double d,string s)
{
StreamWriter sw = File.CreateText("Количество и остатки.txt");
sw.Write("Товар: " + n +" в магазине " + s);
sw.Write(" Количество за сумму " + p + " - " + m);
sw.Write(" Остаток денег: " + d);
sw.WriteLine();
sw.Close();
}
static void writeerror()
{
StreamWriter sw = File.CreateText("Количество и остатки.txt");
sw.WriteLine("Ошибка: такого товара нет ни в одном магазине");
sw.Close();
}
}
}
Результаты выполнения программы:
Входной файл:
Реализация программы:
Для заданных параметров:
Товар - "Люстра"; Сумма денег: 2000
Товар: "Сервиз"
ФИО: Иванова Марина Евгеньевна Группа: ВМКСС 1004
Номер попытки:Дата сдачи:Дней от срока сдачи:Уровень сложности:
КритерийЗамечания1Соответствие заданию2Оформление отчета3Описание алгоритма4Качество алгоритма5Качество исходного текста6Надежность программы7Стилистика кода
Подпись: __________________
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Линия отрыва - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ФИО:Иванова Марина Евгеньевна Группа: ВМКСС 1004
Номер попытки:Дата сдачи:Дней от срока сдачи:Уровень сложности:
КритерийЗамечания1Соответствие заданию2Оформление отчета3Описание алгоритма4Качество алгоритма5Качество исходного текста6Надежность программы7Стилистика кода
Подпись: __________________
Документ
Категория
Рефераты
Просмотров
14
Размер файла
98 Кб
Теги
лаб
1/--страниц
Пожаловаться на содержимое документа