SDUT-Re的故事之北京赛区报名

来源:互联网 发布:淘宝买精密管没事吧 编辑:程序博客网 时间:2024/05/03 02:52

Re的故事之北京赛区报名

题目描述

Re带着俩队友来到了北京;这次,老师因为有课所以没有跟我们一起来;So,我们可以疯一天啦;不过这个恶心的报名环节真的是很让我受伤啊;ACM这么高大上的东西怎么能手写报名呢,简直不让我这字写得奇丑的活啊;所以,我决定集合所有程序猿的智慧来打造一个报名系统:

这个系统必须能实现如下操作:

Add:添加队伍信息;

Search:查找并输出队伍信息;

Change:更改队伍信息;

Pay:缴费;

Ticket:领餐券;

 

队伍的信息包括,队伍名name,学校名school,队员名A,B,C;教练名D;是否缴费,是否已领餐券;

输入

 

 

输入一个整数n表示共有几步操作;

接下来的n行,每一刚输入一个操作指令;

 

Add,添加队伍信息;其后应该紧跟队伍名name,学校名school,队员名A,B,C;以及教练名D中间用空格隔开;

Search,查找并输出队伍信息;其后应该紧跟要查找的队伍名name;该队已经注册,则输出该对信息,输出格式如下:

/-----/

Name: name

School: school

Team member: A,B,C

Coach: D

/-----/

如果该队没有注册信息,则输出No registration

Change,更改队伍信息;其后紧跟要修改的项目(Name,School,Team_member,Coach),然后要更改为什么信息;如果该队没有注册则输出No registration

Pay,缴费,其后应紧跟队伍名,如果该队没有注册则输出No registration;如果之前已经交费了则输出“Already paid”

Ticket,领餐券,其后应紧跟队伍名,如果该队没有注册则输出No registration;如果之前已经领过餐券了则输出“Has received”

输出

 

示例输入

12Add Triple_S SDUT Xiangshuo_Zeng Chengfei_Shang Jiacai_Sun Xiaohong_LiuAdd Soul_V SDUT Haibo_Chen Sijun_Ye Zheng_Wang Xiaohong_LiuSearch Triple_SSearch OrzPay Soul_VPay OrzPay Soul_VTicket Triple_STicket OrzTicket Triple_SChange Soul_V Team_member Haibo_Chen Mingcheng_Zhang Hui_YangSearch Soul_V

示例输出

/-----/Name: Triple_SSchool: SDUTTeam member: Xiangshuo_Zeng,Chengfei_Shang,Jiacai_SunCoach: Xiaohong_Liu/-----/No registrationNo registrationAlready paidNo registrationHas received/-----/Name: Soul_VSchool: SDUTTeam member: Haibo_Chen,Mingcheng_Zhang,Hui_YangCoach: Xiaohong_Liu/-----/

提示

 请不要用gets读入
#include<stdio.h>#include<string.h>int main(){struct Team {char Tname[3][50];};struct node{char name[50];char school[50];struct Team member;char coach[50];}node1,node2;int a,b=0,i,p1=0,p2=0,t1=0,t2=0;char No[110][50],over[2][50];scanf("%d",&a);for(i=0;i<a;i++){scanf("%s",No[i]);if(strcmp(No[i],"Add")==0){if(b==0){scanf("%s %s %s %s %s %s",node1.name,node1.school,node1.member.Tname[0],node1.member.Tname[1],node1.member.Tname[2],node1.coach);b=1;}elsescanf("%s %s %s %s %s %s",node2.name,node2.school,node2.member.Tname[0],node2.member.Tname[1],node2.member.Tname[2],node2.coach);}if(strcmp(No[i],"Search")==0){scanf("%s",over[0]);if(strcmp(over[0],node1.name)==0){printf("/-----/\n");printf("Name: %s\nSchool: %s\nTeam member: %s,%s,%s\nCoach: %s\n",node1.name,node1.school,node1.member.Tname[0],node1.member.Tname[1],node1.member.Tname[2],node1.coach);printf("/-----/\n");}else if(strcmp(over[0],node2.name)==0){printf("/-----/\n");printf("Name: %s\nSchool: %s\nTeam member: %s,%s,%s\nCoach: %s\n",node2.name,node2.school,node2.member.Tname[0],node2.member.Tname[1],node2.member.Tname[2],node2.coach);printf("/-----/\n");}elseprintf("No registration\n");}if(strcmp(No[i],"Change")==0){scanf("%s",over[0]);if(strcmp(over[0],node1.name)==0){scanf("%s",over[0]);if(strcmp(over[0],node1.name)==0){scanf("%s",over[0]);if(strcmp(over[0],"Name")==0){scanf("%s",node1.name);}else if(strcmp(over[0],"School")==0){scanf("%s",node1.school);}else if(strcmp(over[0],"Team_member")==0){scanf("%s %s %s",node1.member.Tname[0],node1.member.Tname[1],node1.member.Tname[2]);}else if(strcmp(over[0],"Coach")==0){scanf("%s",node1.coach);}}}else if(strcmp(over[0],node2.name)==0){scanf("%s",over[0]);if(strcmp(over[0],"Name")==0){scanf("%s",node2.name);}else if(strcmp(over[0],"School")==0){scanf("%s",node2.school);}else if(strcmp(over[0],"Team_member")==0){scanf("%s %s %s",node2.member.Tname[0],node2.member.Tname[1],node2.member.Tname[2]);}else if(strcmp(over[0],"Coach")==0){scanf("%s",node2.coach);}}elseprintf("No registration\n");}if(strcmp(No[i],"Pay")==0){scanf("%s",over[0]);if(strcmp(over[0],node1.name)==0){if(p1==0){p1=1;}else printf("Already paid\n");}else if(strcmp(over[0],node2.name)==0){if(p2==0){p2=1;}else printf("Already paid\n");}elseprintf("No registration\n");}if(strcmp(No[i],"Ticket")==0){scanf("%s",over[0]);if(strcmp(over[0],node1.name)==0){if(t1==0){t1=1;}else printf("Already paid\n");}else if(strcmp(over[0],node2.name)==0){if(t2==0){t2=1;}else printf("Has received\n");}elseprintf("No registration\n");}}return 0;}

0 0
原创粉丝点击