在VC里可以运行的程序,重新在VS里面开文件,运行出来系统匡但是输入后报错 File: minkernel/ crts/ ucrt/ src/ appcrt/stdio/input.cpp Line:32Expression: stream!= nullptr 是不是input.cpp的问题.
提示你代码32行出错,是你这个文件的代码
还有几个问题:
录入库存,退出后会报堆栈内存的问题,我怀疑就是你定义了结构体数组导致的,sp linshi[1];
使用时fprintf(fp, "%s %s %d %d %s %d\n", id, linshi[1].name, linshi[1].price1, linshi[1].price3, linshi[1].home, linshi[1].num3);
linshi[1],还有一个linshi[0]就没有被使用到。
另外,还有一些细节:
int issuper(char *name, char *password) //判断用户是否是管理员 是返回1 否返回0
{
int n, i, flag = 0;
n = ussum();
for (i = 0; i < n; i++)
{
if (strcmp(name, us[i].name) == 0 && strcmp(password, us[i].password) == 0)
{
if (us[i].power == 1) // 细节,当符合条件后,就没必要在执行for循环了
flag = 1;
}
}
if (flag)
return 1;
else
return 0;
}
例如循环判断找到后,可以直接结束循环而无需再继续循环了。
您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~
如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~
ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632