急急急 vs2017怎么字符串输出汉字变成了??

陈盔盔 2019-03-16 03:58:57
第一行输出正确了 第二行之后就输出失败了!
...全文
353 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
陈盔盔 2019-03-16
  • 打赏
  • 举报
回复
引用 1 楼 weixin_44778151 的回复:
可能是数组定义太小了,发一下源码?
发啦 大神帮我看一下
陈盔盔 2019-03-16
  • 打赏
  • 举报
回复
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <graphics.h>
#include <conio.h>

struct Book
{
int BookNum;
char BookName[2000];
char BookPress[20];
char author[15];
char BookNow[15];

}Books[1000];
struct VipReader
{
int VipNum;
char VIPName[15];
char tel[15];
char QQ[15];
};
struct BorrowBook
{
char VipNum[10];
char VIPName[15];
char BookNum[20];
char BookName[20];
};
int InputBook(); //初始定义函数 馆藏图书的收录
int DelBooks(); //馆藏图书的删除
int OutputReader(); //输出读者的信息
int InputVipReader(); //会员信息的收录
int DelVipReader();
int FindBooks();//图书信息的查找
int OutputBooks();//输出图书信息
int InputReader();//读者信息的收录
int DelReader();//读者信息的删除
int BorrowBooks();//.读者申请借书
int ReturnBooks();//读者申请还书
int book_caidan()
{

int num;
printf("\n\n\n\n\t\t ☆☆☆☆☆ 欢迎来到图书管理系统 ☆☆☆☆☆\n");
printf("\t\t ☆☆☆☆☆ 点击进入系统 ☆☆☆☆☆\n\n");
printf("\n\n 1.馆藏图书的收录");
printf("\n\n 2.馆藏图书的删除");
printf("\n\n 3.读者信息的收录");
printf("\n\n 4.读者信息的删除");
printf("\n\n 5.输出读者的信息");
printf("\n\n 6.会员信息的收录");
printf("\n\n 7.会员信息的删除");
printf("\n\n 8.图书信息的查找");
printf("\n\n 9.输出图书信息");
printf("\n\n 10.读者申请借书");
printf("\n\n 11.读者申请还书");
printf("\n\n 12.结束程序");
printf("\n\n 请输入您要执行的指令:");
scanf_s("%d", &num);
printf("\n\n");
switch (num)
{
case 1:
system("cls");
InputBook();
break;
case 2:
system("cls");
DelBooks();
break;
case 3:
system("cls");
InputReader();
break;
case 4:
system("cls");
DelReader();
break;
case 5:
system("cls");
OutputReader();
break;
case 6:
system("cls");
InputVipReader();
break;
case 8:
system("cls");
FindBooks();
break;
case 9:
system("cls");
OutputBooks();
break;
case 10:
system("cls");
BorrowBooks();
break;
case 11:
system("cls");
ReturnBooks();
break;
case 12:
system("cls");
printf("**********************************************\n");
printf("**********************************************\n");
printf("************ **************\n");
printf("************ 谢谢使用,拜~~ **************\n");
printf("************ **************\n");
printf("**********************************************\n");
printf("**********************************************\n");
Sleep(1000);

break;
default:

break;
}


system("pause");
return 0;
}
int InputBook()//输入书籍信息
{
int i = 1;

int n;
printf("请输入你需要录入书籍的数量:");
scanf_s("%d", &n);

printf(" 请输入第%d个书籍信息!\n", i);

printf("请输入书籍编号:");

scanf_s("%d", &Books[i].BookNum);
while (Books[i].BookNum < 0 || Books[i].BookNum>20)
{

printf(" 输入错误!\n");
printf("请输入书籍编号:");
scanf_s("%d", &Books[i].BookNum);
}



printf("请输入书籍名字:");
getchar();
fgets(Books[i].BookName, 10, stdin);


printf("请输入出版社名字:");
getchar();
fgets(Books[i].BookPress, 10, stdin);


printf("请输入作者名字:");
getchar();
fgets(Books[i].author, 10, stdin);





printf("请输入该图书状态:");
getchar();
fgets(Books[i].BookNow, 100, stdin);









i++; //输入完成后 自加一次 给下个结构体赋值


if (i > n) //如果满足条件 赋值完成 退出函数
{
system("cls");
book_caidan();
return 1;
}



}

void 书籍信息(int i)
{


printf("*************书籍信息*****************\n");
printf(" 书籍编号: %d\n", Books[i].BookNum);
printf(" 书籍名字: %s\n", Books[i].BookName);
printf(" 书籍出版社: %s\n", Books[i].BookPress);
printf(" 作者名字: %s\n", Books[i].author);
printf(" 书籍状态: %s\n", Books[i].BookNow);
printf(" 返回按0\n");
printf("**************************************\n");
int x;
scanf_s("%d", &x);
while (x != 0)
{
scanf_s("%d", &x);
}
if (x == 0)
{
system("cls");
book_caidan();
}

}


int DelBooks()//删除书籍信息
{

}
int InputReader()//输入读者信息
{
return 3;
}
int DelReader()//删除读者信息
{
return 4;
}
int OutputReader()//输出读者信息
{
return 5;
}
int InputVipReader()//输入会员读者信息
{
return 6;
}
int DelVipReader()//删除会员读者信息
{
return 7;
}
int FindBooks()//查找书籍
{
int x;
printf("请输入书籍编号:");
scanf_s("%d", &x);
system("cls");
书籍信息(x);
return 8;
}
int OutputBooks()//输出书籍信息
{
for (int i = 1; i < 21; i++)
{
printf("***********************\n");
printf("书籍名称:%s\n", Books[i].BookName);
printf("书籍编号:%d\n", Books[i].BookNum);
printf("书籍出版社:%s\n", Books[i].BookPress);
printf("书籍作者:%s\n", Books[i].author);
printf("书籍状态:%s\n", Books[i].BookNow);
printf("***********************\n");

}
printf(" 返回按0\n");
printf("**************************************\n");
int x;
scanf_s("%d", &x);
while (x != 0)
{
scanf_s("%d", &x);
}
if (x == 0)
{
system("cls");
book_caidan();
}
return 9;
}
int BorrowBooks()//借书信息
{
return 10;
}
int ReturnBooks()//还书信息
{
return 11;
}






int main()
{
system("color E0");
book_caidan();


}

豆小匠 2019-03-16
  • 打赏
  • 举报
回复
可能是数组定义太小了,发一下源码?

33,311

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 新手乐园
社区管理员
  • 新手乐园社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧