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

Virmach款低价VPS可选可以选择多个机房,新增多款低价便宜VPS主机7.2美元起

Virmach商家我们是不是比较熟悉?速度一般,但是人家价格低,而且机房是比较多的。早年的时候有帮助一个有做外贸也许需要多个机房且便宜服务商的时候接触到这个商家,有曾经帮助够买过上百台这样的低价机器。这里需要提醒的,便宜但是速度一般,尤其是中文业务速度确实不快,如果是外贸业务,那肯定是没有问题。这几天,我们有看到Virmach推出了夏季优惠促销,VPS首年8折,最低年付仅7.2美元,多机房可选,如...

Vultr新注册赠送100美元活动截止月底 需要可免费享30天福利

昨天晚上有收到VULTR服务商的邮件,如果我们有清楚的朋友应该知道VULTR对于新注册用户已经这两年的促销活动是有赠送100美元最高余额,不过这个余额有效期是30天,如果我们到期未使用完的话也会失效的。但是对于我们一般用户来说,这个活动还是不错的,只需要注册新账户充值10美金激活账户就可以。而且我们自己充值的余额还是可以继续使用且无有效期的。如果我们有需要申请的话可以参考"2021年最新可用Vul...

美国G口/香港CTG/美国T级超防云/物理机/CDN大促销 1核 1G 24元/月

[六一云迎国庆]转盘活动实物礼品美国G口/香港CTG/美国T级超防云/物理机/CDN大促销六一云 成立于2018年,归属于西安六一网络科技有限公司,是一家国内正规持有IDC ISP CDN IRCS电信经营许可证书的老牌商家。大陆持证公司受大陆各部门监管不好用支持退款退现,再也不怕被割韭菜了!主要业务有:国内高防云,美国高防云,美国cera大带宽,香港CTG,香港沙田CN2,海外站群服务,物理机,...

booklink为你推荐
accessroutegeneratingcsscyclesios8支持ipad支持ipadcss3圆角css实现圆角的几种方法是什么?win7关闭445端口win7系统怎么关闭445和135这两个端口127.0.0.1127.0.0.1打不开iphonewifi苹果手机怎样设置Wi-Fi静态IP?联通iphone4联通iphone4合约
虚拟主机代理 下载虚拟主机 日本动态vps 抢票工具 淘宝双十一2018 国外在线代理 免费mysql 申请个人网站 vip购优汇 柚子舍官网 asp免费空间申请 nerds 申请网页 360云服务 1美元 万网服务器 优惠服务器 cpu使用率过高怎么办 美国服务器 ping值 更多