#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <string.h>
#include <conio.h>
typedef int BOOL;
typedef struct bookinfo
{
char number[15];/*产品编号*/
char name[30];/*产品名称*/
float price;/*单价*/
char auther[20];/*作者*/
BOOL isExit;/*存在状态*/
char lendername[20];/*借书人姓名*/
char lendersex[2];/*借书人性别*/
char lendernum[15];/*借书人学号*/
}BOOKINFO;
void choice_1_input_new()/*输入新进的图书信息*/
{
char choice;
FILE *p;
BOOKINFO newbook;
system("cls");
while(1)
{
printf("输入图书编号:");
gets(newbook.number);
printf("输入图书名称:");
gets(newbook.name);
printf("输入图书单价(小数点后一位):");
scanf("%f",&newbook.price);
while(getchar()!='\n');
printf("输入图书的作者:");
gets(newbook.auther);
printf("输入借书人姓名:");
gets(newbook.lendername);
printf("输入借书人性别:");
gets(newbook.lendersex);
printf("输入借书人学号:");
gets(newbook.lendernum);
printf("是否保存该条书目?(Y/N)\n");
choice=getchar();
while(choice!='Y'&&choice!='y'&&choice!='N'&&choice!='n')
choice=getchar();
if(choice=='Y'||choice=='y')
{
if(newbook.lendername=="\r"||newbook.lendersex=="\r"||newbook.lendernum=="\r")
newbook.isExit=1;//将图书状态设置成1,表示没有借出
else
newbook.isExit=0;//将图书状态设置成0,表示借出
p=fopen("c:\\bookinfo.txt","w");
fwrite(&newbook,sizeof(BOOKINFO),1,p);
fclose(p);
printf("\n该条书目已添加到c:\\bookinfo.txt文件中!\n");
}
else
printf("\n本条书目未保存!\n");
}
}
void main()
{
choice_1_input_new();
}
我这代码出什么问题了,能查查吗?
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
5条回答 默认 最新
- 小耳朵朵喵喵 2015-11-07 10:04关注
你那中情况估计是你编译器的问题,但是你这个程序中有一点小错误,就是你输入一本图书的信息之后输入第二本就会出现一点小错误。
你在那个保存信息的那个子函数里加一个getchar函数吸收掉那个回车换行的符号
至于我加那个int main 跟return 0;是因为编译器不能通过void main 我用的是dev c++这个编译器本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥100 Jenkins自动化部署—悬赏100元
- ¥15 关于#python#的问题:求帮写python代码
- ¥20 MATLAB画图图形出现上下震荡的线条
- ¥15 关于#windows#的问题:怎么用WIN 11系统的电脑 克隆WIN NT3.51-4.0系统的硬盘
- ¥15 perl MISA分析p3_in脚本出错
- ¥15 k8s部署jupyterlab,jupyterlab保存不了文件
- ¥15 ubuntu虚拟机打包apk错误
- ¥199 rust编程架构设计的方案 有偿
- ¥15 回答4f系统的像差计算
- ¥15 java如何提取出pdf里的文字?