Основные требования к сдаваемым программам
Все вопросы можно задавать по адресу staroverovvl@yandex.ru
Сдаваемая программа должна состоять, как минимум, их трех файлов:
- С-файла с функцией, собственно решающей задачу,
- С-файла с функцией main, вызывающей функцию, решающую задачу,
- include-файла с описанием функций, созданных в программе
(в нашем простейшем случае там содержится всего одна строка с описанием созданной
функции, решающей задачу). Созданный include-файл должен быть включен во все C-файлы программы.
Далее содержится пример файлов программы, находящей минимум последовательности целых чисел,
заданных в файле.
include-файл с именем fun.h:
int FindMin(const char *FileName,int *rez);
Файл с функцией FindMin, решающей задачу, с именем fun.c:
//Данный include требуется только в Microsoft Visual Studio:
#include "stdafx.h"
#include <stdio.h>
#include <stdlib.h>
#include <stdio.h>
#pragma warning (disable:4996)//запрещает излишние замечания
#include "fun.h"
int FindMin(const char *FileName,int *Min)
{FILE *f;int v,err=0;
f=fopen(FileName,"r");
if(f==NULL)
err=-1;//если файл не удалось открыть, то функция должна сообщить об ошибке
else
{
if(fscanf(f,"%d",Min)!=1)//если файл пуст, то функция должна сообщить об ошибке
err=-2;
while(fscanf(f,"%d",&v)==1)
if(v<*Min)
*Min=v;
fclose(f);
}
return err;//правилом хорошего тона является наличие только одного оператора return в функции
}
Файл с функцией main с именем main.c:
//Данный include требуется только в Microsoft Visual Studio:
#include "stdafx.h"
#include <stdio.h>
#include <stdlib.h>
#include <stdio.h>
#pragma warning (disable:4996)//запрещает излишние замечания
#include "fun.h"
int _tmain(int argc, _TCHAR* argv[])
{
int err,rez;
err=FindMin("data.txt",&rez);
if(err==-1)
printf("Can't open file!!!\n");
else if(err==-2)
printf("File is empty!!!\n");
else if(err!=0)
printf("Error!!!\n");
else
printf("Min=%d\n",rez);
getchar();//данная функция нужна только для предотвращения
//немедленного закрытия программы после запуска из среды
return err;//правилом хорошего тона является наличие только одного оператора return в функции
}
Файл data.txt должен быть создан в той же папке, что и файлы программы. В нем должны быть записаны числа
последовательности через пробел, или по одному в строке.