C_and_CPP 板


LINE

真的事麻煩各位大大了~~ 小弟的春假完全貢獻給程式設計了 無奈 時間不多 學程設真的好需要時間 可是偏偏主科有4科@@ #include <stdio.h> #include <stdlib.h> #include<time.h> #include<string.h> void history_brd(int w_t,int l_t,double p);//寫入排行榜 void view_history();//讀出排行榜 void game(int w_t,int l_t) { //int w_t=0;int l_t=0; char history,brd_choice; int x; float p; do{ int s; int w=0,l=0,n1; printf("請輸入你要的局數(一場)\n"); scanf("%d",&n1); n1=(n1+1)/2; do{ srand(time(NULL)); int n=rand()%3+1; printf("%d",n); printf("(1剪刀 (2石頭 (3布\n"); printf("請輸入你的選擇\n"); scanf("%d",&s); if(n==1&&s==1) { printf("你出剪刀!!\n"); printf("電腦出剪刀\n"); printf("平手唷!!!\n"); } else if(n==1&&s==2) { printf("你出石頭!!\n"); printf("電腦出剪刀\n"); printf("你贏囉!!\n"); w=w+1; } else if(n==1&&s==3) { printf("你出布\n"); printf("電腦出剪刀\n"); printf("你輸囉!!!\n"); l=l+1; } else if(n==2&&s==2) { printf("你出石頭!!\n"); printf("電腦出石頭\n"); printf("平手唷!!!\n"); } else if(n==2&&s==1) { printf("你出剪刀!!\n"); printf("電腦出石頭\n"); printf("你輸囉!!\n"); l=l+1; } else if(n==2&&s==3) { printf("你出布!!\n"); printf("電腦出石頭\n"); printf("你贏囉!!!\n"); w=w+1; } else if(n==3&&s==3) { printf("你出布!!\n"); printf("電腦出布\n"); printf("平手唷!!!\n"); } else if(n==3&&s==2) { printf("你出石頭!!\n"); printf("電腦出布\n"); printf("你輸囉!!\n"); l=l+1; } else if(n==3&&s==1) { printf("你出剪刀!!\n"); printf("電腦出布\n"); printf("你贏囉!!!\n"); w=w+1; } }while( w<n1 && l<n1); if(w==n1) { printf("你贏了此場\n"); w_t=w_t+1; } else if(l==n1) { printf("你輸了此場\n"); l_t=l_t+1; } printf("想繼續玩請按1\n"); scanf("%d",&x); printf("你目前的戰績為%d勝%d敗\n",w_t,l_t); }while(x==1); p=(w_t/(l_t+w_t))*100; printf("你的最終戰績為%d勝%d敗勝率%6f\n",w_t,l_t,p); printf("\n是否要加入歷史排行榜?(y/n)"); fflush(stdin); scanf("%c",&history); if(history == 'y') { history_brd( w_t, l_t,p); printf("是否觀看歷史排行榜 ? (y/n)"); fflush(stdin); scanf("%c",&brd_choice); if(brd_choice == 'y') { view_history(); } } system("pause"); } void new_player() { char name[99]; printf("請輸入你的名子"); scanf("%s",&name[99]); } int main() { int s1; printf("歡迎來到猜拳遊戲\n"); printf("請輸入你的選擇\n"); printf("(1.進入遊戲(2.載入遊戲(3.觀看排行榜\n"); scanf("%d",&s1); if(s1==1) { new_player(); int w_t=0; int l_t=0; game( w_t,l_t); } /*if(s1==2) { }*/ if(s1==3) { view_history() ; } system("pause"); return 0; } void history_brd(int w_t,int l_t,double p) { FILE *out; char name[50]; time_t timep; time (&timep); out = fopen("board.bin","a+"); printf("\n請輸入你的姓名 : "); scanf("%s",name); fprintf(out,"%s總共在猜拳遊戲中%d勝%d敗勝率%f時間 %s",name,w_t,l_t,p,ctime(&timep)); fclose(out); } void view_history() { char list[200]; FILE *inp; inp = fopen("board.bin","a+"); system("cls"); while(fscanf(inp,"%s", &list) != EOF) { printf("%s\n",list); memset(list,0,sizeof(char)*200); fgets(list,199,inp); printf("%s\n",list); } fclose(inp); system("pause"); } 這個是我目前作業的半完成品 助教說在排行榜要依勝率排行(就是小弟的變數P) 助教有提示跟fseek有關..... 小弟不才 不會用 有好心人可以提示一下 或者教一下嘛 ---------------------------------------------------- 對程設來說我就像塊海綿 助教倒了半瓶水 可是偏偏要我擠出一杯水 我該如何是好 ---------------------------------------------------- --



※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 218.172.97.92
1F:→ tsaiminghan:fseek都給了,上網查一下用法吧。 04/04 23:09
2F:→ a1013944:查了 無頭緒>< 04/04 23:10
3F:→ tsaiminghan:我查了一下,fseek是改變讀取的位置 04/04 23:43
4F:推 TroyLee:用口水補那半瓶水 04/04 23:43
5F:→ tsaiminghan:或許助教是想要loop把資料一筆一筆列出來? 04/04 23:45
6F:→ tsaiminghan:不過覺得這方法太爛了,應該不是想這樣用吧 04/04 23:47
7F:推 typeotoco:可是學程式就是要一直找資料 04/05 00:05
8F:→ tsaiminghan:試了一下fseek改變位之後,寫下去的話,會把原來資料 04/05 00:12
9F:→ tsaiminghan:蓋掉,所以不能插入資料,我看還是每次記錄的時候 04/05 00:13
10F:→ tsaiminghan:就開新檔->把此次資料寫入正確位置->存檔->把舊檔砍了 04/05 00:15
11F:→ tsaiminghan:新檔改名,讓檔案一直保持排序的狀態比較方便 04/05 00:16
12F:→ tsaiminghan:補一下,先讀舊檔->新資料在正確的時候加到新檔中-> 04/05 00:17







like.gif 您可能會有興趣的文章
icon.png[問題/行為] 貓晚上進房間會不會有憋尿問題
icon.pngRe: [閒聊] 選了錯誤的女孩成為魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一張
icon.png[心得] EMS高領長版毛衣.墨小樓MC1002
icon.png[分享] 丹龍隔熱紙GE55+33+22
icon.png[問題] 清洗洗衣機
icon.png[尋物] 窗台下的空間
icon.png[閒聊] 双極の女神1 木魔爵
icon.png[售車] 新竹 1997 march 1297cc 白色 四門
icon.png[討論] 能從照片感受到攝影者心情嗎
icon.png[狂賀] 賀賀賀賀 賀!島村卯月!總選舉NO.1
icon.png[難過] 羨慕白皮膚的女生
icon.png閱讀文章
icon.png[黑特]
icon.png[問題] SBK S1安裝於安全帽位置
icon.png[分享] 舊woo100絕版開箱!!
icon.pngRe: [無言] 關於小包衛生紙
icon.png[開箱] E5-2683V3 RX480Strix 快睿C1 簡單測試
icon.png[心得] 蒼の海賊龍 地獄 執行者16PT
icon.png[售車] 1999年Virage iO 1.8EXi
icon.png[心得] 挑戰33 LV10 獅子座pt solo
icon.png[閒聊] 手把手教你不被桶之新手主購教學
icon.png[分享] Civic Type R 量產版官方照無預警流出
icon.png[售車] Golf 4 2.0 銀色 自排
icon.png[出售] Graco提籃汽座(有底座)2000元誠可議
icon.png[問題] 請問補牙材質掉了還能再補嗎?(台中半年內
icon.png[問題] 44th 單曲 生寫竟然都給重複的啊啊!
icon.png[心得] 華南紅卡/icash 核卡
icon.png[問題] 拔牙矯正這樣正常嗎
icon.png[贈送] 老莫高業 初業 102年版
icon.png[情報] 三大行動支付 本季掀戰火
icon.png[寶寶] 博客來Amos水蠟筆5/1特價五折
icon.pngRe: [心得] 新鮮人一些面試分享
icon.png[心得] 蒼の海賊龍 地獄 麒麟25PT
icon.pngRe: [閒聊] (君の名は。雷慎入) 君名二創漫畫翻譯
icon.pngRe: [閒聊] OGN中場影片:失蹤人口局 (英文字幕)
icon.png[問題] 台灣大哥大4G訊號差
icon.png[出售] [全國]全新千尋侘草LED燈, 水草

請輸入看板名稱,例如:BabyMother站內搜尋

TOP