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语言 电话簿管理系统相关文档

Letbox(35美元/年),美国洛杉矶VPS终身7折

Letbox 云服务商在前面的文章中其实也有多次介绍,这个服务商其实也算是比较老牌的海外服务商,几年前我也一直有使用过他们家的VPS主机,早年那时候低至年付15-35美元左右的VPS算式比较稀缺的。后来由于服务商确实比较多,而且也没有太多的网站需要用到,所以就没有续费,最近这个服务商好像有点活动就躁动的发布希望引起他人注意。这不有看到所谓的家中有喜事,应该是团队中有生宝宝了,所以也有借此来发布一些...

Hostinger 限时外贸美国主机活动 低至月12元且赠送1个COM域名

Hostinger 商家我们可能一些新用户不是太熟悉,因为我们很多新人用户都可能较多的直接从云服务器、独立服务器起步的。而Hostinger商家已经有将近十年的历史的商家,曾经主做低价虚拟主机,也是比较有知名度的,那时候也有接触过,不过一直没有过多的使用。这不这么多年过去,Hostinger商家一直比较稳妥的在运营,最近看到这个商家在改版UI后且产品上也在活动策划比较多。目前Hostinger在进...

享有云:美国BGP云服务器低至20元/月起,首月打折;香港2核2G2M仅50元/月起

享有云怎么样?享有云是一家新的国内云服务器商家,目前提供国内、香港及海外地区的云服务器,拥有多线路如:BGP线路、CN2线路、高防等云服务器,并且提供稳定、安全、弹性、高性能的云端计算服务,实时满足您的多样性业务需求。目前,美国bgp云服务器,5M带宽,低至20元/月起,270元/年起,首月打折;香港2核2G2M仅50元/月起,450元/年起!点击进入:享有云官方网站地址享有云优惠活动:一、美国B...

booklink为你推荐
http://www.huajinsc.cn/设备ipad支持ipad支持ipadipad连不上wifiipad2 wifi连接不上,刚连上就弹出一个 success页面重庆电信网速测试电信100M下载速度多少M,为什么我家里电信100M下载速度最快5M美妙,是不是严重缩水联通版iphone4s怎样看苹果4S是联通版还是电信版联通iphone4联通iphone4跟苹果的iphone4有什么不一样? 比如少了什么功能? 还是什么的?win7关闭135端口如何关闭135端口,关闭它有什么影响么?css3按钮HTML中,怎么表示一个图片按钮
域名系统 3322动态域名注册 天津服务器租赁 什么是二级域名 免费申请域名和空间 站群服务器 主机屋免费空间 xen debian7 卡巴斯基永久免费版 150邮箱 圣诞促销 静态空间 ledlamp 如何登陆阿里云邮箱 google搜索打不开 腾讯云平台 windowsserver2012r2 windowsserverr2 cloudflare 更多