НП
Натали Петруня

Dev-C++4.9.9.2. Язык Си. Отчёт об ошибке.

Написала програмку, запускаю, и как только нажимаю клавишу, выводит : Обнаружена ошибка. Приложение будет закрытою Отправить/Не отправить отчёт об ошибке. Изза чего это может быть?

int main(void){
int cmd;
printf("\tHello!\n");
printf("0 - Exit\n");
printf("1 - Input base in file\n");
printf("2 - Print\n");
printf("3 - Read from file\n");
printf("4 - Delete\n");
printf("5 - Save base\n");
printf("6 - Find\n");
printf("7 - Insert\n");
printf("Input comanda\n");
scanf("%d", cmd);
do{
switch(cmd){
case '0': printf("Press Enter"); break;
case '1': WriteDB();printf("OK"); break;//записать в файл
case '2': printf("\nAVTOMOBILS"); PrintDB(); break;//читать с файла
case '3': ReadDB(); break;//вывод с файла
case '4': Delete1(); break;
//case '5': SaveDB(); break;
case '6': puts("Enter key\n"); gets(key); printf("%d", Find()); break;
//case '7': Insert(); break;
}
puts("Vvesty variant");
scanf("%d", &cmd);}
while(cmd);
getch();
}

#include
#include
#include
#include

typedef struct avto{
char marka[10];
char model[10];
char year[5];
char color[10];
}
avto;
FILE *f;
avto empty;
char key[5];
void Init (void);
avto tabl[10];//таблица
avto EmptySt(avto st){
strcpy(st.marka," ");
strcpy(st.model," ");
strcpy(st.year," ");
strcpy(st.color," ");
return st;
}

void WriteDB(){//ввод с клавиатуры и запись в файл
char marka1[10], model1[10], year1[5], color1[10];
int i, n;
if ((f=fopen("avto.txt", "w"))==NULL){
printf("Error!");
return;
}
while (i=empty;
}

void ReadDB(){//читать с файла
if ((f=fopen("avto.txt", "r"))==NULL){
printf("Error!");
return;
}

int i=0;
Init();
while (!feof(f)){
fscanf(f,"%s%s%s%s", &(tabl.marka), &(tabl.model), &(tabl.year), &(tabl.color));
i++;
}
fclose(f);
}

void PrintDB(){//вывод с файла
for(int i=0; i<6; i++)
printf ("%-10s | %-10s | %-4d | %-10s |\n", (tabl.marka), (tabl.model), (tabl.year), (tabl.color));
fclose(f);
}

int Find(void){
int i=0;
while((i<10)&&(strcmp(tabl.year, key)))
i++;
return i;
}

void Delete1(){//удаление
puts("Enter key");
gets(key);
int pos=Find();
if(pos==10)
printf("Element dlia vudalennya ne znaydeno!");
else tabl[pos]=empty;//делает ряд в таблице пустым
}

int lessbyyear(avto a, avto b)
{
return (atoi(a.year);
tabl=st;
}

void SortYear(){//сортирует по году
int flag=1, i;
while (flag){
flag=0;
for(i=0; i<10; i++)
if(!lessbyyear(tabl[i+1], tabl)){
swap(i,i+1);
flag=1;
}
}
}

только main в конце

ЕН
Евгений Немчанинов

Из-за чего угодно. Мы не телепаты, чтобы увидеть ошибку в коде без кода.
Где-то не туда в память лезешь.
---
Продолжаем играть в телепатов. Во-первых, код лучше выкладывать на pastebin.com, а то Ответы жуют.
Во-вторых, какую клавишу ты нажимаешь? Окно консоли вообще появляется?

Похожие вопросы
В чём ошибка? язык Си
помогите с задачкой по dev c++
Кодировка в Dev-C++ язык СИ
В чем ошибка? Язык программирования Си.
Как настроить Dev-C++ что бы он не выдавал ошибку линковки после того как я добовляю glut.h?!
Dev C++ 5.4.0 Ошибка
dev c++. как записать в dev c++ e^(x-3) и x^3 ???
Dev-C++ помогите чайнику плз ошибка при компиляции... (((
Язык програмирования "C"(Си)
Dev C++ Ошибка в коде