求大牛帮忙改一个c的图书管理程序
#include<stdio.h>#include<string.h>
#include<iostream>
void welcome()
{
system("color F8");
printf("┴┬┴┬/ ̄\_/ ̄\ \n");
printf("\n");
printf("┬┴┬┴▏ ▏▔▔▔▔\");printf(" 〓━〓━〓━〓━〓 〓━〓━〓━〓━〓━〓\n");
printf("\n");
printf("┴┬┴/\ / ﹨");printf(" 〓 欢迎使用图书管理系统(QIN 1.0版) 〓\n");
printf("\n");
printf("┬┴∕ / )");printf(" 〓━〓━〓━〓 〓━〓━〓━〓━〓━〓━〓\n");
printf("\n");
printf("┴┬▏ ● ▏\n");
printf("\n");
printf("┬┴( ▔█◤\n ");
printf("\n");
printf("┴◢██◣ \__/");printf(" 制造者:朱博俊\n");
printf("\n");
printf("┬█████◣ /");printf("\t _╱╲↗ \n");
printf("\n");
printf("┴█████████████◣");printf("\t _╱╲↗ \n");
printf("\n");
printf("◢██████████████▆▄\n");
printf("\n");
printf("◢██████████████▆▄\n");
printf("\n");
printf("█◤◢██◣◥█████████◤\\n");
printf("\n");
printf("按回车继续……");
fflush(stdin);
getchar();
}
struct node{
int day,t,time,flag;
char book[20];
char auther[20];
char danwei[20];
double money;
}a[10000];/*day借阅日期,time是出版日期,t是库存,book是数组,danwei是出版单位,money是单价*/
int main()
{
int i,k=0,n,m,flag,tt,p,time,x;/*time是临时变量,m是借阅数量*/
char ch,str[20],str1[20],str2[20];/*str1,2,3分别代表书名,作者名,出版单位*/
double money;
welcome();
while(1){
flag=0;/*控制有无库存*/
printf("1.采编入库\n");
printf("2.借阅\n");
printf("3.归还\n");
printf("4.清除库存\n");
printf("5.查询功能\n");
printf("0.结束\n");
ch=getchar();
system("cls");
if(ch=='0')break;/*结束功能*/
if(ch=='1'){/*采编入库功能*/
printf("输入书名,作者名,采编数量,出版单位,出版时间,单价:\n");
scanf("%s",str);
scanf("%s",str1);
scanf("%d",&n);
scanf("%s",str2);
scanf("%d",&time);
scanf("%s",&money);
for(i=0;i<k;i++)
if(strcmp(str,a[i].book)==0||strcmp(str1,a[i].auther)==0){
a[i].t+=n;flag=1;break;
}/*如果有库存,则库存加1*/
if(flag==0){
a[k].t=n;
a[k].day=0;
strcpy(a[k].danwei,str2);
strcpy(a[k].book,str);
strcpy(a[k].auther,str1);
k++;
}/*如果没有库存,新建一个库存*/
printf("入库成功\n");
getchar();
}
if(ch=='2'){/*借阅功能*/
printf("输入书名,出借日期和借阅数量:\n");
scanf("%s",str);
scanf("%d",&m);
scanf("%d",&n);
for(i=0;i<k;i++)
if(strcmp(str,a[i].book)==0){
if(a[i].t<n)/*当库存不足时*/
printf("库存不足\n");
else{
a[i].t-=n;
a[i].day=m;
printf("成功借阅,请与30天之内归还。\n");
}/*成功借出时库存减一*/
break;
}
getchar();
}
if(ch=='3'){/*归还书本*/
printf("输入书名,归还日期和归还数量:\n");
scanf("%s",str);
scanf("%d",&m);
scanf("%d",&n);
for(i=0;i<k;i++)
if(strcmp(str,a[i].book)==0){
if(a[i].day==0)/*判断该书有无借出记录*/
printf("该书无出借记录\n");
else{
a[i].t+=n;
if(n-a[i].day>30)
printf("借阅超过30天,需要罚款\n");
a[i].day=0;/*清除借阅时间*/
printf("还书成功\n");
}
break;
}
getchar();
}
if(ch=='4'){/*清除库存功能*/
printf("输入书名:\n");
scanf("%s",str);
flag=0;
for(i=0;i<k;i++)
{
if(strcmp(str,a[i].book)==0)
{
p=i;
for(i=p;i<k-1;i++)
{
a[i]=a[i+1];
}
k--;
flag=1;
break;
}
else
{
continue;
}
}
if(flag==0)
{
printf("查无此书\n");
}
else
{
printf("清除成功\n");
}
system("pause");
}
if(ch=='5'){/*查询功能*/
printf("选择查询方式:1按书名查询,2按作者名查询\n");
scanf("%d",&x);
if(x==1){
tt=0;
printf ("输入书名:\n");
scanf("%s",str);
for(i=0;i<k;i++){
if(strcmp(str,a[i].book)==0){
tt=1;
break;
}
}
if(tt)
printf("%s %s 余量%d\n",a[i].book,a[i].auther,a[i].t);
else printf("查无此书\n");
getchar();
}
if(x==2){
tt=0;
printf ("输入作者名:\n");
scanf("%s",str1);
for(i=0;i<k;i++)
if(strcmp(str1,a[i].auther)==0){
tt=1;
break;
}
if(tt)
printf("%s %s 余量%d\n",a[i].book,a[i].auther,a[i].t);
else printf("查无此书\n");
getchar();
}
}
}
}
--------------------编程问答-------------------- 代码好长,不好看. --------------------编程问答-------------------- 没说怎么改,没说哪儿错了.
没说需求.
哟............... --------------------编程问答-------------------- ???这是什么意思? --------------------编程问答-------------------- 楼主智力小于100,鉴定完毕。 --------------------编程问答-------------------- 除了 scanf 和 printf 再没看到别的
--------------------编程问答-------------------- ?????神马问题????? --------------------编程问答-------------------- 这个代码肿么了 就只是说io么~ --------------------编程问答-------------------- 你们也不看看结贴率。
唉。
欢迎光临我的博客 --------------------编程问答--------------------
这是他的第一帖啊,肯定是0%了
补充:.NET技术 , C#