С++ Пoчему цикл if просит назвать издательство, даже если num не равно 1? и почему запись "неверное число" не выводится?
include "stdafx.h"
#include "conio.h"
#include "string.h"
#include "stdio.h"
#include "locale.h"
struct spisok
{ char fam[20];
char nazv[30];
char izd [20];
int god;
};
struct poisk
{char klava[20];
};
int _tmain(int argc, _TCHAR* argv[])
{setlocale(LC_MIN,"Russian");
{
int n, m, num, i;
struct poisk vvod[100];
printf("Сколько различных книг вы хотите
ввести? \n");
scanf("%d",&n);
struct spisok knigi[100];
if(n>100) n=100;
for (m=0;m
fflush(stdin);
gets(knigi[m].fam);
printf("Введите название книги: \n");
gets(knigi[m].nazv);
printf("Введите издательство: \n");
gets(knigi[m].izd);
printf("Введите год издания: \n");
scanf("%i", &knigi[m].god);
printf("\n");
}
fflush(stdin);
printf("Что вы хотите найти? Если книги
одного издательства, то введите 1, если книги одного автора - 2.\n");
scanf("%d", &num);
if (num=1)
{
fflush(stdin);
printf("Введите название
издательства: \n");
gets(vvod[0].klava);
for (m=0;m
printf("В этой строке не ок\n");
else
printf("А тут ок\n");
}}
else
printf("Неверное число\n");}
getch();
return
0;
}