第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

困擾好多天了,馬上答辯,求大神指點(diǎn)!

困擾好多天了,馬上答辯,求大神指點(diǎn)!

zxy1024 2016-06-23 16:43:48
讀取號碼到數(shù)組只能讀出一組,比較后怎么返回重新比較?代碼如下:#include<stdio.h> #include<sys/types.h> #include<sys/ipc.h> #include<sys/shm.h> #include<string.h> #define?SHMKEY?75 #define?CLIENTONE?100 #define?CLIENTTWO?150 #define?CLIENTTHREE?200 int?main()? { ?void?server(); ?void?client(); ?void?display(); ?FILE?*fp;? if((fp=fopen("Info.txt","rw+"))==NULL)? {?? printf("The?film?can?not?open!\n");??? }?? int?choice,i;?? char?ch[100],c;? ?fgets(ch,12,fp); ????????display();? ????????do? ???????{??? ????????printf("Please?choice?a?feature?:\n");? ????????scanf("%d",&choice);? ????????fflush(stdin);?? ????????while(choice!=1&&choice!=2&&choice!=3&&choice!=4)? ????????{?? ????????printf("Error?input,please?input?again:\n"); ????????scanf("%d",&choice); ????????fflush(stdin); ????????}? ???????if(choice==4)? ?????exit(); ???????else? ???????{?? while((i=fork())==-1); ??????????if(!i)?server(ch);? ????????else? ????????{?? while?((i=fork())==-1);? ??if(!i) ???client(choice);? ????????}?? ????????wait(0); ??wait(0);? }??? ???} ????while(choice!=4);? return?0;? } typedef?struct?addre? {? int?makr;? char?ch[50];? }addre;? addre?*addr1,*addr2,*addr3;? int?shmid,*addr;?? void?server(char?phonenumber[5][11]) {?? ????char?ch1[20];?? int?shmid1,shmid2,shmid3,shmid4;? int?i,m;?? shmid=shmget(SHMKEY,1024,0777|IPC_CREAT);? addr=shmat(shmid,0,0);? *addr=-1;?? while(*addr==-1);? if(*addr==1)? {?? shmid1=shmget(CLIENTONE,1024,0777|IPC_CREAT);? addr1=shmat(shmid1,0,0);?? printf("Please?input?your?favorite?cellphone?number:\n");? addr1->makr=-1;?? char?n; FILE?*fp;? fp=fopen("Info.txt","rw+"); int?choice,i;?? char?ch[100],c;? while(addr1->makr==-1);? if(addr1->makr==1)?? {??? ?for(i=0;i<5;++i) ?{ if(strcmp(phonenumber[i],addr1->ch)==0) { ??fgets(ch,12,fp);? printf("The?number?has??existed?,please?input?again!\n"); scanf("%s",&addr1->ch); } else?if(i=4) ?printf("The?number?is?OK!?Please?pay?cost?100?yuan!:\n");?? } } addr1->makr=-1;? while(addr1->makr==-1); if(addr1->makr==2)?? printf("The?deal,wish?you?happy!\n"); shmctl(shmid1,IPC_RMID,0);? }?? if(*addr==2)? {?? shmid2=shmget(CLIENTTWO,1024,0777|IPC_CREAT);? addr2=shmat(shmid2,0,0);?? printf("Please?input?your?cellphone?:\n");? addr2->makr=-1;?? while(addr2->makr==-1);? if(addr2->makr==1)?? printf("Input?Your?Payroll:\n");? addr2->makr=-1;?? while(addr2->makr==-1);? if(addr2->makr==2)?? printf("Top-up?complete!\n");? shmctl(shmid2,IPC_RMID,0);? }?? if(*addr==3)? {?? ????shmid3=shmget(CLIENTTHREE,1024,0777|IPC_CREAT);? addr3=shmat(shmid3,0,0);?? printf("Please?input?your?ID:\n");? addr3->makr=-1;?? while(addr3->makr==-1);? if(addr3->makr==1)?? printf("Please?input?your?phone?number:\n");? addr3->makr=-1;? while(addr3->makr==-1);? if(addr3->makr==2)?? printf("To?deal?with?complete,?wish?you?happy!\n");? shmctl(shmid3,IPC_RMID,0);? }?? shmctl(shmid,IPC_RMID,0);? }? void?client(int?choice)? {????????? ????????int?shmid1,shmid2,shmid3;? ????????int?payroll;?? char?ch1[20],ch2[50];?? shmid=shmget(SHMKEY,1024,0777|IPC_CREAT);? addr=shmat(shmid,0,0); ????????while(*addr!=-1); if(choice==1)? {???? ????????*addr=1;?? shmid1=shmget(CLIENTONE,1024,0777|IPC_CREAT);? addr1=shmat(shmid1,0,0);? while(addr1->makr!=-1);? scanf("%s",addr1->ch);? addr1->makr=1;?? while(addr1->makr!=-1);? printf("Already?pay?cos?100?yuan!\n");? addr1->makr=2;? }?? if(choice==2)? {?? *addr=2;?? shmid2=shmget(CLIENTTWO,1024,0777|IPC_CREAT);? addr2=shmat(shmid2,0,0);? while(addr2->makr!=-1);? scanf("%s",ch1);? addr2->makr=1;?? while(addr2->makr!=-1);? ????????scanf("%d",&payroll);? addr2->makr=2;? }?? ???????if(choice==3)? {????? *addr=3;?? shmid3=shmget(CLIENTTHREE,1024,0777|IPC_CREAT);? addr3=shmat(shmid3,0,0);? while(addr3->makr!=-1);? scanf("%s",ch1);? addr3->makr=1;?? while(addr3->makr!=-1);? scanf("%s",ch2);? addr3->makr=2;? }?? exit(0);? }?? void?display()? {?? printf("--------------------\n");? int?i;?? for(i=1;i<=15;++i)? {?? if(i==3||i==6||i==9||i==12)? {?? if(i==3)?? ??printf("|????1.purchase?Mobile?phone?card?|\n");? if(i==6)?? ??printf("|????2.Pre-paid?phone:???|\n");? if(i==9)???? printf("|????3.To?deal?with?net?silver:???|\n");? if(i==12) ?printf("|????4.back:?|\n");? }?? else?? printf("|??????????????????|\n");? }? printf("-------------------\n"); }問題出在server()函數(shù)。
查看完整描述

1 回答

?
易丿天

TA貢獻(xiàn)60條經(jīng)驗 獲得超48個贊

最外層套一個while循環(huán)判斷一下不就行了

查看完整回答
反對 回復(fù) 2016-07-10
  • 1 回答
  • 1 關(guān)注
  • 1820 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號