| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 502 人关注过本帖
标题:改改。谢谢啦
只看楼主 加入收藏
肖建峰
Rank: 1
来 自:江西
等 级:新手上路
帖 子:3
专家分:0
注 册:2011-12-23
结帖率:0
收藏
已结贴  问题点数:20 回复次数:6 
改改。谢谢啦
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#define N 100
#define SF scanf
#define PF printf
struct message
{
    char name;        //姓名
    char sex;          //性别
    int  SN; int booknum;        //书
    char bookname[20];  //书名
    char authorname[20];//作者
    char cbs[20];       //出版社
    int price;         //价格   
};struct message message[N];
int luru(struct message * p_message,int t)
{
    while(1)
    {  char ch;
       int  i;
    PF("~~~~~~~~~~~~~~~开始输入信息~~~~~~~~~~~~~\n");

    PF("请输入你的姓名:");
    SF("%c",&p_message->name);PF("\n");
    PF("请输入你的性别:");
    SF("%c",&p_message->sex);PF("\n");
    PF("请输入你的学号:");
    SF("%d",&p_message->SN);PF("\n");
    PF("请输入书的编号:\n");
    SF("%d",&p_message->booknum);PF("\n");//book[i].booknum
    PF("请输入出版社:\n");
    SF("%s",p_message->cbs);PF("\n");//
    PF("请输入图书价格:");
    SF("%d",&p_message->price);PF("\n");
    PF("请输入书名:\n");
    SF("%s",p_message->bookname);PF("\n");
    getchar( );//屏蔽回车
    PF("请输作者名:\n");
    gets(p_message->authorname);
    ++i;
    PF("是否继续输入,请选择(y/n):");
    SF("%c",&ch);
    if(ch=='n')break;
    else p_message++;
    }

};


   
   
   

    return (i);        
}



void paixu(struct books book[],int i)//按书号进行排序  
{   
    int n,a,temp;
    char t1[20],t2[20],t3[20];
    for(n=0;n<i-1;n++)//趟数
        for(a=0;a<i-1-n;a++)//每趟的次数
            if(book[a].booknum>book[a+1].booknum)//整型的比较
            {   
                {temp=book[a].booknum;book[a].booknum=book[a+1].booknum;book[a+1].booknum=temp;}//书号换位
                {strcpy(t1,book[a].bookname);strcpy(book[a].bookname,book[a+1].bookname);strcpy(book[a+1].bookname,t1);}//书名换位
                {strcpy(t2,book[a].cbs);strcpy(book[a].cbs,book[a+1].cbs);strcpy(book[a+1].cbs,t2);}//出版社换位
                {temp=book[a].price;book[a].price=book[a+1].price;book[a+1].price=temp;}//价格换位
                {strcpy(t3,book[a].authorname);strcpy(book[a].authorname,book[a+1].authorname);strcpy(book[a+1].authorname,t3);}//书作者换位
            }
            system("cls");
            PF("书号\t书名\t出版社\t价格\t作者\n");
            for(a=0;a<i;a++)
                PF("%d\t%s\t%s\t%d\t%s\n",book[a].booknum,book[a].bookname,book[a].cbs,book[a].price,book[a].authorname);
            
}

void cx1(struct message message[],int i)//书名查询
{
    int a;
    char name[20];
    system("cls");
    PF("|按书名查询|\n");
    SF("%s",&name);
    for(a=0;a<i;a++)
        if(strcmp(name,book[a].bookname)==0)
        {
            PF("书号\t书名\t出版社\t价格\t作者\n");
            PF("%d\t%d\t%d\t%.2f\t%s\n",book[a].booknum,book[a].bookname,book[a].cbs,book[a].price,book[a].authorname);
        }
        else PF("没有你要的查询结果\n");
}
void cx2(struct message message[],int i)//作者名查询
{
    int a;char g[20];
    system("cls");
    PF("|按作者名查询|\n");
    scanf("%s",&g);
    for(a=0;a<i;a++)
        if(strcmp(g,book[a].authorname)==0)
        {
            PF("书号\t书名\t出版社\t价格\t作者\n");
            PF("%d\t%d\t%d\t%.2f\t%s\n",book[a].booknum,book[a].bookname,book[a].cbs,book[a].price,book[a].authorname);
        }
        else PF("没有你要的查询结果\n");
}

void chaxun(struct message message[],int i)//查询
{   
    int x;
    system("cls");
    PF("~~~~~~~~~~~~~~~~图书信息查询~~~~~~~~~~~~~~~\n");
    PF("********请选择查询方式********\n");
    PF("|1.按书名查询|\n");
    PF("|2.按作者名查询|\n");
    PF("请输入你选择___");
    SF("%d",&x);
    switch(x)
    {
    case 1:cx1(book,i);break;//调用cx1函数完成按书名查询
    case 2:cx2(book,i);break;//调用cx2函数完成按作者查询
        
    default :PF("输入有误,请重新输入!\n");break;
    }
   
   
}
int sm(struct books shu[],int i)//按书名删除
{
    char book[20];int a,h,m;
fanhui:printf("请你输入想要删除图书的名称\n");
       SF("%s",book);//接收书名
       for(a=0;a<i;a++)
           if(strcmp(book,shu[a].bookname)==0)
           {
               PF("书号\t书名\t出版社\t价格\t作者\n");
               PF("%d\t%d\t%d\t%.2f\t%s\n",shu[a].booknum,shu[a].bookname,shu[a].cbs,shu[a].price,shu[a].authorname);
               PF("你确定要删除以上信息吗?\n");
               PF("|1.是,确认删除\n");
               PF("|2.否,返回上一层\n");
               PF("|3.返回主菜单\n");
               SF("%d",&h);
               SF("%d",&h);
               switch(h)
               {
               case 1:for(m=0;m<i;m++)
                      {
                          if(a==m&&a<i-1)
                          {
                              m=m+1;
                          }
                          if(a==m&&m==i-1)
                              i--;
                      }
                   return --i;break;
               case 2:system("cls");
                   goto fanhui;break;//返回
               case 3:system("cls");break;
               default :PF("输入有误,请重新输入!\n");break;
                  
               }
           }
           if(strcmp(book,shu[a].bookname)!=0) printf("您要删除的图书信息不存在\n");
           return i;
}
int del(struct books shu[],int i)//删除信息
{
    int h;
    system("cls");
    PF("~~~~~~~~~~~~~~~~图书信息删除~~~~~~~~~~~~~~~\n");
    PF("|1.图书的书号|\n");
    PF("|2.图书的书名|\n");
    SF("%d",&h);
    switch(h)
    {
        //case 1:    system("cls");i=fl(shu,i);break;//按书号删除
    case 2:    system("cls");i=sm(shu,i);break;//按书名删除
    default :PF("输入有误,请重新输入!\n");break;
    }
    return i;
}
int charu(struct books shu[],int i)//插入信息
{
    system("cls");
    PF("~~~~~~~~~~~~~~~开始插入信息~~~~~~~~~~~~~\n");
    PF("请输书号\n");
    SF("%d",&shu[i].booknum);
    PF("请输入书名\n");
    SF("%d",&shu[i].bookname);
    PF("请输入价格\n");
    SF("%f",&shu[i].price);
    PF("请输入出版社\n");
    SF("%s",&shu[i].cbs);
    getchar( );//屏蔽回车
    PF("请输作者名\n");
    gets(shu[i].authorname);
    i++;
    system("cls");
    PF("插入信息成功\n");
    return i;        
   
}


void main()
{
    int choice,n=0;
    for( ; ; )
    {   
        system("cls");
        {
            PF("\t\t*****************图书信息管理系统*****************\n");
            PF("\t\t*\t\t|1.学生信息输入                  *\n");
            PF("\t\t*\t\t|2.图书信息录入                  *\n");
            PF("\t\t*\t\t|3.图书信息浏览                  *\n");
            PF("\t\t*\t\t|4.图书信息查询                  *\n");
            PF("\t\t*\t\t|5.图书信息的删除                *\n");
            PF("\t\t*\t\t|6.图书信息的插入                *\n");
            PF("\t\t*\t\t|7.退出系统                      *\n");
            PF("\t\t*****************图书信息管理系统*****************\n\n\n");
            PF("\t\t请输入以上序号进行选择:\n");
            SF("%d",&choice);
        }
        switch(choice)
        {        case 1:n=luru(message,n);//录入  book[0]
            system("pause");break;
        case 2:paixu(message,n);//liulan(book,n);//浏览
            system("pause");break;
        case 3:chaxun(book,n);//查询
            system("pause");break;
        case 4:n=del(book,n);
            system("pause");break;
        case 5:n=charu(book,n);
            system("pause");break;
        case 6:exit(0);
            system("pause");
        default :PF("输入有误,请重新输入!\n");
            system("pause");break;
        }
    }

}





帮忙改改啦
搜索更多相关主题的帖子: 价格 信息 message include 出版社 
2011-12-27 12:36
vandychan
Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15
等 级:贵宾
威 望:18
帖 子:2296
专家分:6418
注 册:2010-8-20
收藏
得分:4 
不改 不谢

到底是“出来混迟早要还”还是“杀人放火金腰带”?
2011-12-27 13:03
laoyang103
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:内蒙古包头
等 级:贵宾
威 望:19
帖 子:3082
专家分:11056
注 册:2010-5-22
收藏
得分:4 
兄弟写个程序写了很久吧  辛苦

既然已经写出来了  为啥就不能自己去修改呢

                                         
===========深入<----------------->浅出============
2011-12-27 14:34
hellovfp
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:禁止访问
威 望:30
帖 子:2976
专家分:7697
注 册:2009-7-21
收藏
得分:4 
自己慢慢改吧,不要懒。。

我们都在路上。。。。。
2011-12-27 15:52
kennel2009
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:45
专家分:157
注 册:2011-12-13
收藏
得分:4 
代码没发全,
struct books没定义,发个完整的呗.
先送点辛苦分呗.
2011-12-27 20:17
燃高
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:67
专家分:140
注 册:2011-12-13
收藏
得分:4 
我发现太多的错误了!!你自己先改改吧!!
2011-12-28 00:49
燃高
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:67
专家分:140
注 册:2011-12-13
收藏
得分:0 

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<math.h>
#define N 100
#define SF scanf
#define PF printf
struct message
{
    char name[20];        //姓名
    char sex;          //性别
    int  SN; int booknum;        //书
    char bookname[20];  //书名
    char authorname[20];//作者
    char cbs[20];       //出版社
    float price;         //价格   
};struct message message[N];
int luru(struct message * p_message,int t)
{
    while(1)
    {  char ch;
       int  i;
    PF("~~~~~~~~~~~~~~~开始输入信息~~~~~~~~~~~~~\n");

    PF("请输入你的姓名:\n");
    SF("%s",p_message->name);
    PF("请输入你的性别:\n");
    SF("%c",&p_message->sex);
    PF("请输入你的学号:\n");
    SF("%s",&p_message->SN);
    PF("请输入书的编号:\n");
    SF("%d",&p_message->booknum);
    PF("\n");//book[i].booknum
    PF("请输入出版社:\n");
    SF("%s",p_message->cbs);
    PF("\n");//
    PF("请输入图书价格:\n");
    SF("%f",&p_message->price);
    PF("\n");
    PF("请输入书名:\n");
    SF("%s",p_message->bookname);
    PF("\n");
    getchar( );//屏蔽回车
    PF("请输作者名:\n");
    gets(p_message->authorname);
    ++i;
    PF("是否继续输入,请选择(y/n):");
    SF("%c",&ch);
    if(ch=='n')break;
    else p_message++;
    }

};


void paixu(struct message book[],int i)//按书号进行排序  
{   
    int n,a,temp;
    float d;
    char t1[20],t2[20],t3[20];
    for(n=0;n<i-1;n++)//趟数
        for(a=0;a<i-1-n;a++)//每趟的次数
            if(book[a].booknum>book[a+1].booknum)//整型的比较
            {   
                {temp=book[a].booknum;book[a].booknum=book[a+1].booknum;book[a+1].booknum=temp;}//书号换位
                {strcpy(t1,book[a].bookname);strcpy(book[a].bookname,book[a+1].bookname);strcpy(book[a+1].bookname,t1);}//书名换位
                {strcpy(t2,book[a].cbs);strcpy(book[a].cbs,book[a+1].cbs);strcpy(book[a+1].cbs,t2);}//出版社换位
                {d=book[a].price;book[a].price=book[a+1].price;book[a+1].price=d;}//价格换位
                {strcpy(t3,book[a].authorname);strcpy(book[a].authorname,book[a+1].authorname);strcpy(book[a+1].authorname,t3);}//书作者换位
            }
            system("cls");
            PF("书号\t书名\t出版社\t价格\t作者\n");
            for(a=0;a<i;a++)
                PF("%d\t%s\t%s\t%d\t%s\n",book[a].booknum,book[a].bookname,book[a].cbs,book[a].price,book[a].authorname);
            
}

void cx1(struct message book[],int i)//书名查询
{
    int a;
    char name[20];
    system("cls");
    PF("|按书名查询|\n");
    SF("%s",name);
    for(a=0;a<i;a++)
        if(strcmp(name,book[a].bookname)==0)
        {
            PF("书号\t书名\t出版社\t价格\t作者\n");
            PF("%s\t%s\t%s\t%.2f\t%s\n",book[a].booknum,book[a].bookname,book[a].cbs,book[a].price,book[a].authorname);
        }
        else PF("没有你要的查询结果\n");
}
void cx2(struct message book[],int i)//作者名查询
{
    int a;
    char g[20];
    system("cls");
    PF("|按作者名查询|\n");
    scanf("%s",g);
    for(a=0;a<i;a++)
        if(strcmp(g,book[a].authorname)==0)
        {
            PF("书号\t书名\t出版社\t价格\t作者\n");
            PF("%s\t%s\t%s\t%.2f\t%s\n",book[a].booknum,book[a].bookname,book[a].cbs,book[a].price,book[a].authorname);
        }
        else PF("没有你要的查询结果\n");
}

void chaxun(struct message book[],int i)//查询
{   
    int x;
    system("cls");
    PF("~~~~~~~~~~~~~~~~图书信息查询~~~~~~~~~~~~~~~\n");
    PF("********请选择查询方式********\n");
    PF("|1.按书名查询|\n");
    PF("|2.按作者名查询|\n");
    PF("请输入你选择___");
    SF("%d",&x);
    switch(x)
    {
    case 1:cx1(book,i);break;//调用cx1函数完成按书名查询
    case 2:cx2(book,i);break;//调用cx2函数完成按作者查询
        
    default :PF("输入有误,请重新输入!\n");break;
    }
   
   
}
int sm(struct message shu[],int i)//按书名删除
{
    char book[20];int a,h,m;
fanhui:printf("请你输入想要删除图书的名称\n");
       SF("%s",book);//接收书名
       for(a=0;a<i;a++)
           if(strcmp(book,shu[a].bookname)==0)
           {
               PF("书号\t书名\t出版社\t价格\t作者\n");
               PF("%d\t%s\t%s\t%.2f\t%s\n",shu[a].booknum,shu[a].bookname,shu[a].cbs,shu[a].price,shu[a].authorname);
               PF("你确定要删除以上信息吗?\n");
               PF("|1.是,确认删除\n");
               PF("|2.否,返回上一层\n");
               PF("|3.返回主菜单\n");
               SF("%d",&h);
               SF("%d",&h);
               switch(h)
               {
               case 1:for(m=0;m<i;m++)
                      {
                          if(a==m&&a<i-1)
                          {
                              m=m+1;
                          }
                          if(a==m&&m==i-1)
                              i--;
                      }
                   return --i;break;
               case 2:system("cls");
                   goto fanhui;break;//返回
               case 3:system("cls");break;
               default :PF("输入有误,请重新输入!\n");break;
                  
               }
           }
           if(strcmp(book,shu[a].bookname)!=0) printf("您要删除的图书信息不存在\n");
           return i;
}
int del(struct message shu[],int i)//删除信息
{
    int h;
    system("cls");
    PF("~~~~~~~~~~~~~~~~图书信息删除~~~~~~~~~~~~~~~\n");
    PF("|1.图书的书号|\n");
    PF("|2.图书的书名|\n");
    SF("%d",&h);
    switch(h)
    {
        //case 1:    system("cls");i=fl(shu,i);break;//按书号删除
    case 2:    system("cls");i=sm(shu,i);break;//按书名删除
    default :PF("输入有误,请重新输入!\n");break;
    }
    return i;
}
int charu(struct message shu[],int i)//插入信息
{
    system("cls");
    PF("~~~~~~~~~~~~~~~开始插入信息~~~~~~~~~~~~~\n");
    PF("请输书号\n");
    SF("%d",&shu[i].booknum);
    PF("请输入书名\n");
    SF("%s",shu[i].bookname);
    PF("请输入价格\n");
    SF("%f",&shu[i].price);
    PF("请输入出版社\n");
    SF("%s",shu[i].cbs);
    getchar( );//屏蔽回车
    PF("请输作者名\n");
    gets(shu[i].authorname);
    i++;
    system("cls");
    PF("插入信息成功\n");
    return i;        
   
}


void main()
{
    int choice,n=0;
    struct message message[20] ,book[20];
    for( ; ; )
    {   
        system("cls");
        {
            PF("\t\t*****************图书信息管理系统*****************\n");
            PF("\t\t*\t\t|1.学生信息输入                  *\n");
            PF("\t\t*\t\t|2.图书信息录入                  *\n");
            PF("\t\t*\t\t|3.图书信息浏览                  *\n");
            PF("\t\t*\t\t|4.图书信息查询                  *\n");
            PF("\t\t*\t\t|5.图书信息的删除                *\n");
            PF("\t\t*\t\t|6.图书信息的插入                *\n");
            PF("\t\t*\t\t|7.退出系统                      *\n");
            PF("\t\t*****************图书信息管理系统*****************\n\n\n");
            PF("\t\t请输入以上序号进行选择:\n");
            SF("%d",&choice);
        }
        switch(choice)
        {        case 1:n=luru(&message,n);//录入  book[0]
            system("pause");break;
        case 2:paixu(&message,n);//liulan(book,n);//浏览
            system("pause");break;
        case 3:chaxun(message,n);//查询
            system("pause");break;
        case 4:n=del(message,n);
            system("pause");break;
        case 5:n=charu(message,n);
            system("pause");break;
        case 6:exit(0);
            system("pause");
        default :PF("输入有误,请重新输入!\n");
            system("pause");break;
        }
    }
这个是语法没有错误了!!但不知道算法存在问题不呢!!自己看看吧!!
}

2011-12-28 10:35
快速回复:改改。谢谢啦
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.079654 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved