В настоящее время застрял в проекте, пытаясь поместить число, данное пользователем в файл .txt Он должен быть в цикле, пока пользователь не введет 0. Первые два числа - целые числа, а последнее - число с плавающей точкой. мой текущий код бесконечно зацикливает printf
и не учитывает scanf
. Я должен использовать fwrite
, потому что он хочет, чтобы он был в двоичном режиме. Проблема в цикле, я просто продолжаю получать
Пожалуйста, введите данные изделия (номер детали, количество, цена):
Вот мой код для проекта.
#include<stdio.h>
#include<stdlib.h>
int main()
{
printf("This program stores a business inventory. \n");
FILE *fp;
fp = fopen("inventory.txt", "w+b");
if(fp == NULL)
{
printf("Can't open a file. \n");
return 0;
}
int a[2];
float b;
while(1)
{
printf("Please enter item data (part number, quantity, price): \n");
scanf("%d", &a[0]);
scanf("%d", &a[1]);
scanf("%f", &b);
fwrite(a, sizeof(a[0]),sizeof(a)/sizeof(a[0]), fp);
fwrite(&b, sizeof(b),1,fp);
}
fclose(fp);
return 0;
}
Проект хочет, чтобы я написал программу, чтобы неоднократно просить пользователя ввести информацию, касающуюся инвентаря для бизнеса (часть товара
номер, количество, цена), а затем сохраняет информацию в файл с именем inventory.txt. Программа останавливает цикл, когда пользователь вводит 0 для номера детали. "
Пользовательские входы 3, 1, 3,4