- •План-график выполнения работы:
- •Специфицирование и тестирование программ пояснительная записка
- •Выполнил студент группы: асои-234
- •Ограничения на входные и выходные данные
- •3. Структура целей разрабатываемой программы
- •Схемы программы
- •Тестирование программы
- •Список литературы
- •Листинг программы
- •Ifstream f1(name);
- •Ifstream f1(name);
- •Void main()
- •Ifstream f1("f1.Txt");
- •Ifstream f2("f2.Txt");
Список литературы
1) Методические указания к курсовой работе по дисциплине «Технология программирования» / Уфимск. Гос. Авиац. техн. ун-т; Сост.: Гвоздев В.Е., Мукасеева В.Н. Хасанов А.Ю – Уфа, 2004, – 42 с.
Листинг программы
#include "stdio.h"
#include "iostream.h"
#include "fstream.h"
#include "stdlib.h"
#include "math.h"
#include "string.h"
#include "windows.h"
char* RU(char* rustr)//Функция перевода в ASCI
{
char* str=new char[strlen(rustr)];
CharToOem(rustr,str);
return str;
}
char* f1prov()//Проверка первого файла
{
int n=0,in=0;
int f1st=2;
char tmp[100];
char F1[100][100][100];
char name[100];
cout<< RU("Введите название первого файла:");
cin>>name;
Ifstream f1(name);
while(!f1.eof())//Механизм считывания из файла
{
f1.getline(tmp,sizeof(tmp)+1,';');
strncpy(F1[(in)/(f1st)][in%(f1st)],tmp,100);
if(in%(f1st)==0)
{if((in)/(f1st)>0)
{
for(int i=0;i<sizeof(F1[in/(f1st)][in%(f1st)]);i++)
F1[(in)/(f1st)][in%(f1st)][i]=F1[(in)/(f1st)][in%(f1st)][i+1];
}
}
in++;
}
f1.close();
n=in/f1st;
//Вывод содержимого файла на экран
for(int i=0;i<n;i++)
{
cout<< RU(F1[i][0]) <<" "<<RU(F1[i][1])<<"\n";
}
//Проверка на уникальность
for(i=0;i<n;i++)
{
for(int j=i+1;j<n;j++)
{
if(strcmpi(F1[i][0],F1[j][0])==0){cout<<RU("Номер ")<<F1[i][0]<< RU(" не уникален!\n");}
}
}
//Проверки на корректность символов
for(i=0;i<n;i++)
{
for(int s=0;s<strlen(F1[i][0]);s++){if((F1[i][0][s]<'0')||(F1[i][0][s]>'9')){cout<<RU("Номер предмета ")<<RU(F1[i][0])<<RU(" должен содержать только цифры!\n");}}
for(s=0;s<strlen(F1[i][1]);s++){if((F1[i][1][s]>'0')&&(F1[i][1][s]<'9')){cout<<RU("Наименование предмета ")<<RU(F1[i][1])<<RU(" не должно содержать цифр!\n");}}
}
return name;
}
char* f2prov()//Проверка второго файла
{
int n=0,in=0;
int f1st=4;
char tmp[100];
char F1[100][100][100];
char name[100];
cout<< RU("Введите название второго файла:");
cin>>name;
Ifstream f1(name);
while(!f1.eof())//Механизм считывания из файла
{
f1.getline(tmp,sizeof(tmp)+1,';');
strncpy(F1[(in)/(f1st)][in%(f1st)],tmp,100);
if(in%(f1st)==0)
{if((in)/(f1st)>0)
{
for(int i=0;i<sizeof(F1[in/(f1st)][in%(f1st)]);i++)
F1[(in)/(f1st)][in%(f1st)][i]=F1[(in)/(f1st)][in%(f1st)][i+1];
}
}
in++;
}
f1.close();
n=in/f1st;
//Вывод содержимого на экран
for(int i=0;i<n;i++)
{
cout<< RU(F1[i][0]) <<" "<<RU(F1[i][1])<<" "<<RU(F1[i][2])<<" "<<RU(F1[i][3])<<"\n";
}
//Проверка на корректность символов
for(i=0;i<n;i++)
{
for(int s=0;s<strlen(F1[i][0]);s++){if((F1[i][0][s]<'0')||(F1[i][0][s]>'9')){cout<<RU("Номер группы ")<<RU(F1[i][0])<<RU(" должен содержать только цифры!\n");}}
for(s=0;s<strlen(F1[i][2]);s++){if((F1[i][2][s]<'0')||(F1[i][2][s]>'9')){cout<<RU("Номер предмета ")<<RU(F1[i][2])<<RU(" должен содержать только цифры!\n");}}
for(s=0;s<strlen(F1[i][1]);s++){if((F1[i][1][s]>'0')&&(F1[i][1][s]<'9')){cout<<RU("ФИО ")<<RU(F1[i][1])<<RU(" не должно содержать цифр!\n");}}
for(s=0;s<strlen(F1[i][3]);s++){if((F1[i][3][s]<'0')||(F1[i][3][s]>'9')){cout<<RU("Оценка ")<<RU(F1[i][3])<<RU(" должна содержать только цифры!\n");}}
}
return name;
}