Когда я пытаюсь ввести в свою программу тип float
или double
, это дает мне ошибку времени выполнения «Плавающая точка не загружена» ... Я использую DM C компилятор
В этой программе я пытаюсь принять ввод от пользователя, все работает нормально. Вместо ввода цены я определил цену в структуре типа double, и программа выдает ошибку времени выполнения с плавающей точкой не загружена . Я искал inte rnet, но ничего не нашел.
Что вызывает эту ошибку и как ее устранить?
вот экран с ошибкой:
вот код: -
#include<stdio.h>
#include<conio.h>
#include<stdlib.h>
struct node {
char isbn[16];
char title[60];
char author[40];
double price;
int issueSTATUS;
long count;
struct node *next;
};
struct node *bookdb;
void display();
void main() {
bookdb = NULL;
append();
display();
getch();
}
void append() {
struct node *temp = (struct node *) malloc(sizeof(struct node));
printf("Enter the Book ISBN : ");
scanf("%s", temp->isbn);
printf("Enter the Book Name : ");
scanf("%s", temp->title);
printf("Enter the Book Author Name : ");
scanf("%s", temp->author);
printf("Enter the Book Price : ");
scanf("%f", &temp->price); //<--------------------------here's the problem---------------------
temp->issueSTATUS = 0;
temp->next = NULL;
if(bookdb == NULL) {
bookdb = temp;
bookdb->count++;
} else {
struct node *iterator = bookdb;
while(iterator->next != NULL) {
iterator = iterator->next;
}
iterator->next = temp;
}
}
void display() {
struct node *temp = bookdb;
while(temp->next != NULL) {
printf("|%-16s|%-60s|%-20s|$%-5.2f|");
if(temp->issueSTATUS == 1) {
printf("YES\n");
} else {
printf("NO\n");
}
temp = temp->next;
}
printf("|%-16s|%-60s|%-20s|%-5.2f|");
if(temp->issueSTATUS == 1) {
printf("YES\n");
} else {
printf("NO\n");
}
}