廣告廣告
  加入我的最愛 設為首頁 風格修改
首頁 首尾
 手機版   訂閱   地圖  簡體 
您是第 2127 個閱讀者
 
發表文章 發表投票 回覆文章
  可列印版   加為IE收藏   收藏主題   上一主題 | 下一主題   
scott5029
數位造型
個人文章 個人相簿 個人日記 個人地圖
路人甲
級別: 路人甲 該用戶目前不上站
推文 x0 鮮花 x2
分享: 轉寄此文章 Facebook Plurk Twitter 複製連結到剪貼簿 轉換為繁體 轉換為簡體 載入圖片
推文 x0
[C/C++][求助] 網路應用的問題
這是我們期末的一個實作 我把之前我發的重新修改了一遍

是想用server端輸入統一發票號讓client端來連線對獎

可是我寫到後面卡住了

因為我們要在linux環境執行 所以我有用nc localhost 的方式查有沒有連線

可是在client端輸入要對獎的號碼之後 就卡住了

大概是在241行 "while (j != 8)"那裡就不知道該怎麼解決了

(因為這個網站不支援中文,所以有要看原程式的人請站內或水球)

請問有人可以幫忙一下嗎??

while (j != 8)這裡是把client端的號碼接收進來檢查是否為數字並對獎

#include<stdio.h>
#include<sys/types.h>
#include<sys/socket.h>
#include<netinet/in.h>
#include<arpa/inet.h>
#include<unistd.h>
#include <stdio.h>
#include <string.h>
#define PORT 1234
#define MAXSOCKFD 10
/*----------------------------------------------------------------------------*/
/* 畫面上的文字顯示 */
char text={"特獎","頭獎","貳獎","參獎","肆獎","伍獎","陸獎","增開"};
char text3[]="請先輸入開獎號碼(0~9),輸入完請按下 Enter";
char text4[]="您輸入的開獎號碼中有不是數字的部分,請重新輸入";
char text5a[]="開/對獎號碼需要有 ";
char text5b[]=" 碼,您輸入的碼數只有 ";
char text5c[]=" 碼,請重新輸入";
char text6[]="請按任意鍵繼續 . . .";
char text7[]="請先輸入對獎號碼(0~9),輸入完請按下 Enter";
char text8[]="對獎";
char text9[]="恭喜你中";
/*----------------------------------------------------------------------------*/
/* 負責儲存開對獎號碼的字串陣列 */
char Special_award={0};
char First_prize={0};
char Chk_number={0};
int level={0},newsockfd;
char input={0};
char output={0};
char buffer1;
/*----------------------------------------------------------------------------*/
/* 列印畫面-開/對獎號碼 */
print_menu()
{
int i;
printf("%s : %-10s\t",text,Special_award);
for (i=0; i<3 ; i++)
{
printf("%s %d : %-10s\t",text,i+1,First_prize);
if ( i==1 ) printf("\n");
}
printf("\n\n");
printf("%s : %-10s\t",text8,Chk_number);
chk_print();
printf("\n\n");
}
/*---------------------------------------- ..

訪客只能看到部份內容,免費 加入會員 或由臉書 Google 可以看到全部內容




獻花 x0 回到頂端 [樓 主] From:臺灣亞太線上網絡 | Posted:2007-12-30 01:28 |
totsi
數位造型
個人文章 個人相簿 個人日記 個人地圖
小人物
級別: 小人物 該用戶目前不上站
推文 x0 鮮花 x53
分享: 轉寄此文章 Facebook Plurk Twitter 複製連結到剪貼簿 轉換為繁體 轉換為簡體 載入圖片

複製程式
while (j != 8)
{
  strcpy(input[i],abc);
  j=check_in(8);
}
是這邊的問題嗎?
在下在這邊看到的abc宣告成char[9]

但是你這邊是copy給input[ i ]一個char array?
這用法compile有過了嗎?

如果是每copy一個字元到abc後又在copy給同個index的array..
那最後丟給while (j !=8 )裡的check_in的input是input[ i ]還是input?

依照前面的check_in宣告應該是丟input去做判斷才對
那這樣的話應該不會return 8吧?
所以你應該就會掉入無窮迴圈的陷阱了 表情
因為他不會再回去更新下一筆abc

由於縮排不是很清楚..所以在下只能作以上的猜測..
因為不知道你的while ( j !=8)是在何時進行(for裡面還是for的外面?)

如果有打錯的話,麻煩請告知..謝謝 表情


恩...
獻花 x0 回到頂端 [1 樓] From:臺灣中華電信HINET | Posted:2008-01-02 11:01 |

首頁  發表文章 發表投票 回覆文章
Powered by PHPWind v1.3.6
Copyright © 2003-04 PHPWind
Processed in 0.022186 second(s),query:16 Gzip disabled
本站由 瀛睿律師事務所 擔任常年法律顧問 | 免責聲明 | 本網站已依台灣網站內容分級規定處理 | 連絡我們 | 訪客留言