项目3456出不来结果,但是检查了函数也没能发现错误
1 #include <stdio.h>
#include <stdlib.h>
#include <string.h>
int a;
struct datebate{ //定义的数据组
int num1; //书号
char num2[100]; //书名
char num3[100]; //作者
int num4; //数量
char jianjie[10000];//简介
double jg; //价格
}jy[100];
int add(int a){ //录入书号、作者、数量、价格 、简介
int i=0;
int j=0;
int c;
int num1;
int b=a;
printf("请您输入这本书籍的相关信息_____________\n");
for(i=a;i<100;i++){
printf("这本书的序号:_____________\n");
scanf("%d",&num1);
jy[i].num1=num1;
printf("这本书的书名:_____________\n");
getchar();
gets(jy[i].num2);
printf("这本书的作者:_____________\n");
scanf("%s",&jy[i].num3);
printf("这本书的数量:_____________\n");
scanf("%d",&jy[i].num4);
printf("这本书的价格:_____________\n");
scanf("%lf",&jy[i].jg);
printf("这本书的简介:_____________ (五十字以内)\n");
getchar();
gets(jy[i].jianjie);
printf("您是否要继续录入信息?\n");
printf("【1是】 【0否】\n");
scanf("%d",&c);
b++;
if(c==0){
break;
}
}
printf("记录输入信息成功。"); //输入完成
getchar();
getchar();
return b;
}
int cx(int e,int a){ //按照书号查询信息
int pd=-1;
int i=0;
for(i=0;i<a;i++)
{
if(jy[i].num1==e)
{
pd=i;
break;
}
}
return pd;
}
int del(int a){ //删除book信息
int num5;
int i=0;
int pd;
int c;
printf("请输入要删除的书籍的书号:_____________\n");
scanf("%d",&num5);
pd=cx(num5,a);
if(pd==-1)
{
printf("要删除的书籍信息不存在\n");
}
else
{
printf("要删除的书籍信息:\n");
printf("\t书号:%d\t书名:%s\t作者:%s\t数量:%d\t价格:%.2lf\t简介:%s\n",jy[pd].num1,jy[pd].num2,jy[pd].num3,jy[pd].num4,jy[pd].jg,jy[pd].jianjie);
printf("是否删除?\n");
printf("【1是】 【0否】\n");
scanf("%d",&c);
if(c==0) {
return a;
}
else{
for(i=pd;i<a-1;i++){
jy[i]=jy[i+1];
}
a--;
printf("书籍信息删除成功\n");
}
}
getchar();
getchar();
return a;
}
void show(int a){
int i=0;
if(a>0){
for(i=0;i<a;i++){
printf("\t书号:%d\t书名:%s\t作者:%s\t数量:%d\t价格:%.2lf\t简介:%s\n",jy[i].num1,jy[i].num2,jy[i].num3,jy[i].num4,jy[i].jg,jy[i].jianjie);
}
}
}
void cx2(int a){
int i=0;
int count=0;
int pd;
char num6[100];
printf("请输入要查找书籍的书号:");
scanf("%d",&num6[i]);
pd=cx(num6[i],a);
if(pd==-1)
printf("查找的书籍信息不存在,请重新输入书号\n");
else
{
printf("该书籍的信息如下:\n\n");
printf("\t书号:%d\t书名:%s\t作者:%s\t数量:%d\t价格:%.2lf\t简介:%s",jy[pd].num1,jy[pd].num2,jy[pd].num3,jy[pd].num4,jy[pd].jg,jy[pd].jianjie);
printf("\n该书籍信息查询完成,按任意键返回主菜单.....");
}
getchar();
}
void xg(int a){
int i=0;
int count=0;
int pd;
int m;
int pd2[8];
printf("请输入要修改书籍的书号:\n");
printf("如果此项信息需要修改,则请摁【 1 】,反之则请摁【 0 】\n");
scanf("%d",&m);
printf("这本书的书名:_____________\n");
scanf("%d",&pd2[0]);
if(pd2[0]==1) {
getchar();
gets(jy[m].num2);}
printf("这本书的作则:_____________\n");
scanf("%d",&pd2[1]);
if(pd2[1]==1) {
getchar();
gets(jy[m].num3);}
printf("这本书的数量:_____________\n");
scanf("%d",&pd2[2]);
if(pd2[2]==1){
scanf("%d",&jy[m].num4);}
printf("这本书的价格:_____________\n");
scanf("%d",&pd2[3]);
if(pd2[3]==1){
scanf("%lf",&jy[m].jg);}
printf("这本书的简介:_____________ (五十字以内)\n");
scanf("%d",&pd2[4]);
if(pd2[4]==1){
getchar();
gets(jy[m].jianjie);}
printf("修改信息成功。");
getchar();
getchar();
}
void px (){
int j;
int i=0;
int min;
int wooc;
for(i=0;i<100;i++)
{
min=i;
for(j=i+1;j<100;j++)
{
if(jy[min].jg>jy[j].jg)
min=j;
}
wooc=jy[min].jg;
jy[min].jg=jy[i].jg;
jy[i].jg=wooc;
}
for(i=0;i<a;i++){
printf("\t书号:%d\t书名:%s\t作者:%s\t数量:%d\t价格:%.2lf\t简介:%s\n",jy[i].num1,jy[i].num2,jy[i].num3,jy[i].num4,jy[i].jg,jy[i].jianjie);
}}
void caidan(){
printf("欢迎使用小型图书管理系统\n");
printf("本系统包括下列功能:\n");
printf("(按下键盘上对应数字选择相应功能)\n");
printf("(本系统包括:图书信息管理,图书的基本信息包括书号、书名、作者、单价、数量、简介)\n");
printf("【1】, 书籍信息的录入 \n");
printf("【2】. 删除指定书号的记录 \n");
printf("【3】. 修改或补充指定书号的记录 \n");
printf("【4】. 浏览本系统的全部书籍 \n");
printf("【5】. 按书号查询功能 \n");
printf("【6】. 按单价排序功能 \n");
printf("【7】. 退出本系统 \n");
}
int main(){
int a;
int c=0;
int count=0;
while(1)
{
system("cls");
caidan();
scanf("%d",&c);
switch(c)
{
case 1:
count=add(count);
break;
case 2:
count=del(count);
break;
case 3:
xg(count);
break;
case 4:
show(count);
break;
case 5:
cx2(count);
break;
case 6:
px(count);
break;
case 7:
printf("欢迎您再次使用本系统\n");
exit(0);
}
}
}