gpt4 book ai didi

c - 在 c 中将用户输入扫描到 .txt 文件中

转载 作者:行者123 更新时间:2023-11-30 14:48:43 25 4
gpt4 key购买 nike

当前陷入一个项目,试图将用户给出的数字放入 .txt 文件中。它应该处于循环状态,直到用户输入 0。前两个数字是整数,最后一个数字是 float 。我当前的代码无限循环 printf 并且不允许 scanf。我必须使用fwrite,因为他希望它处于二进制模式。问题出在我不断遇到的循环中

Please enter item data (part number, quantity, price):

这是我的项目代码。

#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

最佳答案

怎么样

while(1)
{
printf("Please enter item data (part number, quantity, price): \n");


scanf("%d", &a[0]);
if(a[0] == 0)
break
scanf("%d", &a[1]);
scanf("%f", &b);

fwrite(a, sizeof(a[0]),sizeof(a)/sizeof(a[0]), fp);
fwrite(&b, sizeof(b),1,fp);
}

关于c - 在 c 中将用户输入扫描到 .txt 文件中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50219575/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com