| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1936 人关注过本帖
标题:关于小型图书馆书目检索系统原型怎么设计啊
只看楼主 加入收藏
lnea
Rank: 1
等 级:新手上路
帖 子:15
专家分:7
注 册:2012-12-13
结帖率:33.33%
收藏
已结贴  问题点数:20 回复次数:11 
关于小型图书馆书目检索系统原型怎么设计啊
奥用C来写关于小型图书馆书目检索系统原型,数据结构才学了半个学期,C也才学一个学期,不懂怎么下手啊,望指教啊,能出点块就更好了,仅限C的,               
 
补充。。。
具体要求是这样,要求有简单人机交互界面,建立书名关键词索引,使读者容易从关键词索引表中查询到他所感兴趣的书目。要求:仅限C语言实现,可选用自己熟悉的C语言编程工具。

[ 本帖最后由 lnea 于 2012-12-14 21:41 编辑 ]
搜索更多相关主题的帖子: 图书馆 C语言 
2012-12-13 17:19
crystall
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:7
帖 子:184
专家分:809
注 册:2012-12-1
收藏
得分:0 
把所有要求都贴出来呗,细分,一个功能一个功能去完成。
2012-12-13 17:26
yaobao
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:蒙面侠
威 望:4
帖 子:1854
专家分:4121
注 册:2012-10-25
收藏
得分:10 
程序代码:
 
#include <stdio.h>   
#include <stdlib.h>   
#include <string.h>   
struct addr  
{  
    char name[30];  
    char street[40];  
    char city[20];  
    char state[3];  
    char tel[11];  
    struct addr *next; 

 }record;  
struct addr *head,*start;  
struct addr *last;  
int menu_select();  
void enter();  
void deleted();  
void search();  
void main()  
{  
    char s[80],choice;  
    struct addr *info;  
    start=last=NULL;  
  
        switch(menu_select())  
    {  
    case 1:enter();  
        break;  
    case 2:deleted();  
        break;  
    case 3:search();  
        break;  
    case 4:exit(0);  
    }  
}  
  
int menu_select()  
{  
    char s[80];  
    int c;  
    printf("1__Enter a name\n");  
    printf("2__Delete a record\n");  
    printf("3__Search\n");  
    printf("4__Quit\n");  
    do  
    {  
        printf("\n Enter  your choice:");  
        gets(s);  
        c=atoi(s);  
    }while(c<1||c>4);  
    return(c);  
}  
  
struct addr* des_store(struct addr *i,struct addr *top)  
{  
    if(!last)  
    {  
        last=i;  
        return(i);  
    }  
    else  
    {  
        top->next=i;  
        i->next=NULL;  
        last=i;  
        return(i);  
    }  
}  
void enter()  
{  
    struct addr *info;  
    void inputs(char *,char *,int );  
    int n;  
    for(n=0;n<2;n++)  
    {  
        info=(struct addr *)malloc(sizeof(record));  
        if(info==NULL)  
        {   
            printf("\n out of memory");  
            return;  
        }  
        inputs("enter name:",info->name,30);  
        if(info->name[0]=='0')  
            break;  
        else  
        {  
            inputs("enter street:",info->street,40);  
            inputs("enter city:",info->city,20);  
            inputs("enter state:",info->state,3);  
            inputs("enter tel:",info->tel ,11);  
            start=des_store(info,start);  
            if(n==0)  
                head=start;  
        }  
    }  
}  
      
void inputs(char *p1,char* s,int count)  
{  
    char p[40];  
    do  
    {  
        printf("%s",p1);  
        gets(p);  
        if (strlen(p)>count)  
            printf("\n too long\n");  
    }while(strlen(p)>count);  
    strcpy(s,p);  
}  
  
void display(struct addr *info)  
{  
    printf("%s\n",info->name);  
    printf("%s\n",info->street);  
    printf("%s\n",info->city);  
    printf("%s\n",info->tel);  
    printf("\n\n");  
}  
  
struct addr *find(char *name)  
{  
    struct addr *info;  
    info=head;  
    while(info)  
    {  
        if(!strcmp(name,info->name))  
            return(info);  
        else  
            info=info->next;  
    }  
    return(info);  
}  
  
void search()  
{  
    char name[40];  
    struct addr *info;  
    printf("enter name to find:");  
    gets(name);  
    if((info=find(name))==NULL)  
        printf("not found\n");  
    else  
        display(info);  
}  
  
void deleted()  
{  
    char s[80];  
    struct addr*p1,*p2,*info;  
    printf("enter name:");  
    gets(s);  
    info=find(s);  
    if(info!=NULL)  
    {  
        if (head==info)  
        {  
            head=info->next;  
            printf("deleted:%s\n",info->name);  
            free(info);  
        }  
        else  
        {  
            p1=head->next;  
            while(info!=p1)  
            {  
                p2=p1;  
                p1=p1->next;  
            }  
            p2->next=p1->next;  
            printf("deleted:%s\n",info->name);  
            free(info);  
        }  
    }  
    else  
        printf("%s not find!\n",info->name);  
}  
这是管理通讯录的,我不帮你改了,你自己改改吧,应该不难

认认真真的学习,踏踏实实的走路:戒骄戒躁!!!
2012-12-13 18:15
小小战士
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:1
帖 子:569
专家分:1313
注 册:2012-11-3
收藏
得分:0 
一个菜单一个菜单的列出来,再进入子菜单,再列出来,各个菜单和子菜单都是函数调动的形式实现的

小小战士,战士中的战斗机!
2012-12-13 18:28
lnea
Rank: 1
等 级:新手上路
帖 子:15
专家分:7
注 册:2012-12-13
收藏
得分:0 
回复 2楼 crystall
要求有简单人机交互界面,建立书名关键词索引,使读者容易从关键词索引表中查询到他所感兴趣的书目。要求:仅限C语言实现,可选用自己熟悉的C语言编程工具。
2012-12-14 20:53
lnea
Rank: 1
等 级:新手上路
帖 子:15
专家分:7
注 册:2012-12-13
收藏
得分:0 
回复 2楼 crystall
要求有简单人机交互界面,建立书名关键词索引,使读者容易从关键词索引表中查询到他所感兴趣的书目。要求:仅限C语言实现,可选用自己熟悉的C语言编程工具。我用过的就是vc++
2012-12-14 20:54
_peak
Rank: 5Rank: 5
来 自:90后
等 级:禁止访问
帖 子:83
专家分:347
注 册:2012-12-12
收藏
得分:10 
把你的邮箱给我,我送你一套教程,希望对你有用

团结,进步,务实,创新!
2012-12-14 21:19
_peak
Rank: 5Rank: 5
来 自:90后
等 级:禁止访问
帖 子:83
专家分:347
注 册:2012-12-12
收藏
得分:0 
教程正在给你上传,如果看了教程还不能做出来的话,我可以给你代码,只要你能看得懂

团结,进步,务实,创新!
2012-12-14 21:29
lnea
Rank: 1
等 级:新手上路
帖 子:15
专家分:7
注 册:2012-12-13
收藏
得分:0 
回复 8楼 _peak
en ,现在晚了,刚才在看其他的代码,明天再看你给我的教程,不过很大可能还是要麻烦你诶。。。
2012-12-14 23:48
简简单单ly
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2012-11-29
收藏
得分:0 
回复 7楼 _peak
能不能把教程和代码也发给我
谢了
2012-12-15 11:31
快速回复:关于小型图书馆书目检索系统原型怎么设计啊
数据加载中...
 
   



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

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