booklinkc语言 电话簿管理系统

booklink  时间:2021-04-11  阅读:()

简单图书管理系统

#include"stdio.h" #include"stdlib.h" #include"string.h" #include"conio.h"

//结构体声明

struct List { char name[20]; struct List *next; }; typedef struct List book; typedef book *link;

//函数声明

void menu(); void display(link head); link addbook(link head); void found(link head); link delbook(link head);

//主函数

main() { int n; link head=NULL; while(1) { menu(); scanf("%d",&n); switch(n) { case 0: exit(0); case 1: head=addbook(head);break; case 2: display(head);break; case 3: found(head);break; case 4: head=delbook(head);break; default:printf("请正确输入 ");break; } system("pause"); system("cls"); } }

//菜单函数定义

void menu() { printf("******************************** "); printf("*** 1 新增图书 *** "); printf("*** 2 显示图书目录 *** "); printf("*** 3 查找图书 *** "); printf("*** 4 删除图书 *** "); printf("*** 0 推出系统 *** "); printf("******************************** "); printf("请选择(0—4)项 "); }

//增加节点定义

link addbook(link head) { link p,q; p=(link)malloc(sizeof(book)); printf("请输入书名 "); fflush(stdin); gets(p->name); p->next=NULL; if(head==NULL) head=p; else { for(q=head;q->next!=NULL;q=q->next) continue; q->next=p; } printf("新书名字为 %s ",p->name); return head; }

//显示当前信息函数定义

void display(link head) { link p; int n=0; for(p=head;p!=NULL;p=p->next) { printf("书名《 %s 》 ",p->name); n++; } if(n==0) printf("现在没有图书 "); else printf("现在一共有%d本图书 ",n);

}

//查找函数定义

void found(link head) { link p; char name[20]; int n=0; fflush(stdin); printf("请输入要查找的书名 "); gets(name); for(p=head;p!=NULL;p=p->next) { if(strcmp(p->name,name)==0) { printf("找到书名 《 %s 》 的图书 ",p->name); n=1; break; } } if(n==0) printf("没有此图书 "); }

//删除节点函数定义

link delbook(link head) { link p=head,q; char name[20]; int n=0; fflush(stdin); printf("请输入要删除的图书名字: "); gets(name); if(strcmp(p->name,name)==0) { head=p->next; free(p); printf("已删除 "); return head; } else for(q=p,p=p->next;p!=NULL;q=q->next,p=p->next) { if(strcmp(p->name,name)==0) { q->next=p->next; free(p); printf("已删除 "); return head; } } printf("没有此图书 "); return head; }

如何通过豆瓣API获取图书和电影列表

豆瓣API提供了一种简单的方式可以直接在HTML页面中使用API,下面给出这种使用方式的简单示例。

1. 首先我们需要在HTML页面中做如下script标签:<script type="text/javascript" src=" /> 2. 然后就可以调用豆瓣API,其中通过定义callback函数来操作返回的JSON数据。

3. 此外,豆瓣也提供了解析函数来帮助你更容易地使用JSON格式的返回值。

使用豆瓣提供的解析函数,你需要在页面中添加script标签:<script type="text/javascript" src="。

4. 接下来你就可以使用豆瓣提供的解析函数来处理返回值,例如:var book = DOUBAN.parseSubject(result)。

5. 解析函数返回更容易使用的javascript对象,你可以这样得到书的封面图片:book.link.image 6. HTML页面使用API获得ID为xxxxx电影的信息并展示在页面上(注意将{yourapikey}替换为你的API Key)。

注:实现上,豆瓣API使用 JSONP 方式来支持跨域调用API 因此你也可以使用自己熟悉的javascript库来调用JSONP风格的豆瓣API. 此时,你需要将alt设置为xd同时提供callback参数。

另外部份的豆瓣功能及操作可登陆下面的网站/客户端:

电话簿c语言

下面这个是我以前做的,功能更多,可以参考一下. /* 数据描述:学号 姓名 班级 高数 英语 总分 程序完成功能: (1) 浏览数据 (2) 增加数据 (3) 修改数据 (4) 查询数据(按姓名,按总分) (5) 退出 */ #include #include #include using namespace std; class student { public: student(int , string ,int ,int ,int ); string getName(){return _name;}; int getID(){return _ID;}; void setID(int i){_ID=i;}; void setName(string); void setClass(int c){_class=c;}; void setMath(int m){_math=m;_total=_math+_english;}; void setEnglish(int e){_english=e;_total=_math+_english;} void print(); static int _stNum; private: int _ID; string _name; int _class; int _math; int _english; int _total; }; int student::_stNum=0; student::student(int id, string name, int iclass, int ma, int en) { _ID=id; _name=name; _class=iclass; _math=ma; _english=en; _total=_math+_english; _stNum++; }; void student::setName(string s) { _name=s; }; void student::print() { cout<<_ID <<" "<< _name <<" "<<_class <<" "<<_math <<" "<<_english <<" "<<_total < ec; printMenu(); cin>>order; while(order!=5) { switch(order) { case 1: if (ec.size()==0) { cout<<"ERR:---->No data in the system!"<>order; break; } else { vector::iterator iter=ec.begin(); vector::iterator iter_end=ec.end(); printHead(); for(;iter!=iter_end;iter++) { (*iter).print(); } printTail(ec.size()); printMenu(); cin>>order; break; } case 2: cout<<"Insert-->ID:"; cin>>tmp_ID; cout<<"Insert-->Name:"; cin>>tmp_name; cout<<"Insert-->Class:"; cin>>tmp_class; cout<<"Insert-->Mark of Math:"; cin>>tmp_math; cout<<"Insert-->Mark of English:"; cin>>tmp_english; ec.push_back(student(tmp_ID,tmp_name,tmp_class,tmp_math,tmp_english)); printMenu(); cin>>order; break; case 3: { string search_name; bool isFind=false; cout<<" Orignal_Update-->Name:"; cin>>search_name; vector::iterator iter=ec.begin(); vector::iterator iter_end=ec.end(); for(;iter!=iter_end;iter++) { if( (*iter).getName()==search_name ) { isFind=true; cout<<"New_Update-->ID:"; cin>>tmp_ID; cout<<"New_Update-->Name:"; cin>>tmp_name; cout<<"New_Update-->Class:"; cin>>tmp_class; cout<<"New_Update-->Mark of Math:"; cin>>tmp_math; cout<<"New_Update-->Mark of English:"; cin>>tmp_english; (*iter).setID(tmp_ID); (*iter).setName(tmp_name); (*iter).setClass(tmp_class); (*iter).setMath(tmp_math); (*iter).setEnglish(tmp_english); } } if(!isFind) { cout<<"There no student named "<>order; break; } case 4: string search_name; int search_ID; int name_ID=0; bool isFind=false; cout<<"-----------"<>name_ID; if (name_ID==1) { cout<<" Search-->name:"<>search_name; vector::iterator iter=ec.begin(); vector::iterator iter_end=ec.end(); for(;iter!=iter_end;iter++) { if( (*iter).getName()==search_name ) { if(!isFind) { cout<>order; break; } if (name_ID==2) { cout<<" Search-->ID:"<>search_ID; vector::iterator iter=ec.begin(); vector::iterator iter_end=ec.end(); for(;iter!=iter_end;iter++) { if( (*iter).getID()==search_ID) { if(!isFind) {cout<>order; break; } } } } void printMenu(void) { cout<1) {cout<c语言 电话簿管理系统#include<stdio.h> #include<stdlib.h> #include<string.h> #include <iostream> //主函数 int main() { LinkQueue Q; initAddressBook(Q); int flag=0; while(flag!=8) { printf("※※※※※主※※※※※菜※※※※※单※※※※※ "); printf("※1、增加联系人 2、删除联系人 ※ "); printf("※3、修改联系人 4、清空通讯录 ※ "); printf("※5、查找联系人 6、按组显示 ※ "); printf("※7、显示全部联系人 8、退出 ※ "); printf("※※※※※※※※※※※※※※※※※※※※※※※ "); printf("请输入编号(1-8): "); scanf("%d",&flag); if(flag<1||flag>8) { printf("输入错误请重新输入! "); continue; } else { switch(flag){ case 1: if(enAddressBook(Q)) printf("增加联系人成功! "); else printf("增加联系人失败! "); break; case 2: if(delPerson(Q)) printf("删除联系人成功! "); else printf("联系人删除失败! "); break; case 3: if(update(Q)) printf("修改联系人成功! "); else printf("修改联系人失败! "); break; case 4: if(clearAddressBook(Q)) printf("通讯录已清空! "); else printf("通讯录清空失败! "); break; case 5: findByName(Q); break; case 6: findByGroup(Q); break; case 7: disAll(Q); break; case 8: system("cls"); break; } } } printf("※※※※※感谢您使用本系统!※※※※※※ "); return 0; } //初始化通讯录 void initAddressBook(LinkQueue &Q) { Q.front=Q.rear=(QNode *)malloc(sizeof(QNode)); if(!Q.front) exit(1); else Q.front->next=NULL; } //清空通讯录 bool clearAddressBook(LinkQueue &Q) { system("cls"); while(addressBookLength(Q)!=0) { QNode *p; p=Q.front->next; Q.front->next=p->next; if(p==Q.rear) Q.rear=Q.front; free(p); } return true; } //通讯录当前人数 int addressBookLength(LinkQueue &Q) { int i=0; QNode *p; p=Q.front; if(Q.front==Q.rear) i=0; else { while(p!=Q.rear) { p=p->next; i++; } } return i; } //删除联系人 bool delPerson(LinkQueue &Q) { char _name[20]; system("cls"); printf("请输入要删除的联系人的姓名: "); scanf("%s",_name); QNode *p,*q; if(Q.front==Q.rear) { printf("通讯录为空! "); return false; } else { p=Q.front; q=Q.front->next; while(q!=Q.rear){ if(strcmp(q->name,_name)==0) { p->next=q->next; free(q);//删除节点 return true; } else { p=p->next; q=q->next; } } if((strcmp(q->name,_name)==0)) { free(q); Q.front=Q.rear; return true; } else { printf("无此联系人! "); return false; } } } //查找联系人 bool findByName(LinkQueue &Q) { system("cls"); if(Q.front==Q.rear) { printf("手机中无联系人! "); return false; } else { char _name[20]; printf("请输入要查询的联系人姓名: "); scanf("%s",_name); QNode *p; p=Q.front->next; while(p->next!=NULL) { if(strcmp(p->name,_name)==0) { printf("姓名:%s 号码:%s 分组:%s ",p->name,p->tel,p->group); return true; } p=p->next; } if(strcmp(p->name,_name)==0){ printf("姓名:%s 号码:%s 分组:%s ",p->name,p->tel,p->group); return true; } else { printf("查无此人! "); return false; } } } //按组显示联系人 bool findByGroup(LinkQueue &Q) { system("cls"); if(Q.front==Q.rear) { printf("手机中无联系人! "); return false; } else { char _group[20]; printf("请输入要查询的分组: "); scanf("%s",_group); QNode *p; p=Q.front->next; while(p->next!=NULL) { if(strcmp(p->group,_group)==0) { printf("姓名:%s 号码:%s ",p->name,p->tel); } p=p->next; } if(strcmp(p->group,_group)==0){ printf("姓名:%s 号码:%s ",p->name,p->tel); return true; } else { printf("无此分组! "); return false; } } } //增加联系人 bool enAddressBook(LinkQueue &Q) { system("cls"); QNode *p; p=(QNode *)malloc(sizeof(QNode)); if(!p) return false; else { printf("请输入联系人姓名: "); scanf("%s",p->name); printf("请输入联系人号码: "); scanf("%s",&p->tel); printf("请输入联系人分组: "); scanf("%s",p->group); if(Q.front->next==NULL) { Q.front->next=p; Q.rear=p; Q.rear->next=NULL; } else { p->next=NULL; Q.rear->next=p; Q.rear=p; } return true; } } //修改联系人 bool update(LinkQueue &Q) { system("cls"); if(Q.front==Q.rear) { printf("手机中无联系人! "); return false; } else { char _name[20]; printf("请输入要修改的联系人姓名: "); scanf("%s",_name); QNode *p; p=Q.front->next; while(p->next!=NULL) { if(strcmp(p->name,_name)==0) { printf("请输入新联系人姓名: "); scanf("%s",p->name); printf("请输入新联系人号码: "); scanf("%s",&p->tel); printf("请输入新联系人分组: "); scanf("%s",p->group); return true; } p=p->next; } if(strcmp(p->name,_name)==0){ printf("请输入新联系人姓名: "); scanf("%s",p->name); printf("请输入新联系人号码: "); scanf("%s",&p->tel); printf("请输入新联系人分组: "); scanf("%s",p->group); return true; } else { printf("查无此人! "); return false; } } } //显示所有联系人 void disAll(LinkQueue &Q) { system("cls"); int i=0; QNode *p; p=Q.front->next; if(Q.front==Q.rear) printf("无联系人! "); else { printf(" 姓名 号码 分组 "); while(p!=NULL){ printf("%15s %15s %15s ",p->name,p->tel,p->group); p=p->next; } } }

  • booklinkc语言 电话簿管理系统相关文档

SugarHosts糖果主机,(67元/年)云服务器/虚拟主机低至半价

SugarHosts 糖果主机商也算是比较老牌的主机商,从2009年开始推出虚拟主机以来,目前当然还是以虚拟主机为主,也有新增云服务器和独立服务器。早年很多网友也比较争议他们家是不是国人商家,其实这些不是特别重要,我们很多国人商家或者国外商家主要还是看重的是品质和服务。一晃十二年过去,有看到SugarHosts糖果主机商12周年的促销活动。如果我们有需要香港、美国、德国虚拟主机的可以选择,他们家的...

美国G口/香港CTG/美国T级超防云/湖北高防云服务器物理机促销活动 六一云

六一云 成立于2018年,归属于西安六一网络科技有限公司,是一家国内正规持有IDC ISP CDN IRCS电信经营许可证书的老牌商家。大陆持证公司受大陆各部门监管不好用支持退款退现,再也不怕被割韭菜了!主要业务有:国内高防云,美国高防云,美国cera大带宽,香港CTG,香港沙田CN2,海外站群服务,物理机,宿母鸡等,另外也诚招代理欢迎咨询。官网www.61cloud.net最新直销劲爆...

久久网云-目前最便宜的国内,香港,美国,日本VPS云服务器19.9元/月起,三网CN2,2天内不满意可以更换其他机房机器,IP免费更换!。

久久网云怎么样?久久网云好不好?久久网云是一家成立于2017年的主机服务商,致力于为用户提供高性价比稳定快速的主机托管服务,久久网云目前提供有美国免费主机、香港主机、韩国服务器、香港服务器、美国云服务器,香港荃湾CN2弹性云服务器。专注为个人开发者用户,中小型,大型企业用户提供一站式核心网络云端服务部署,促使用户云端部署化简为零,轻松快捷运用云计算!多年云计算领域服务经验,遍布亚太地区的海量节点为...

booklink为你推荐
经营策略iphone支持ipad支持ipadtraceroute网络管理工具traceroute是什么程序勒索病毒win7补丁求问win7 64位旗舰版怎么预防勒索病毒google中国地图求教谷歌中国地图~手机如何使用?google中国地图谷歌卫星地图中文版下载在哪下??win7关闭135端口win7下怎么关135和8909端口googleadsence谷歌adsense是被封了么?google分析google analysis干什么用的?
域名空间购买 linode日本 locvps highfrequency ion godaddy域名转出 ibox官网 anylink 699美元 169邮箱 中国电信测网速 河南移动网 hdd 免费网页空间 华为云服务登录 登陆空间 广州虚拟主机 创速 网络速度 免费主页空间 更多