廣告廣告
  加入我的最愛 設為首頁 風格修改
首頁 首尾
 手機版   訂閱   地圖  簡體 
您是第 4028 個閱讀者
 
發表文章 發表投票 回覆文章
  可列印版   加為IE收藏   收藏主題   上一主題 | 下一主題   
Starshing
數位造型
個人文章 個人相簿 個人日記 個人地圖
路人甲
級別: 路人甲 該用戶目前不上站
推文 x0 鮮花 x0
分享: 轉寄此文章 Facebook Plurk Twitter 複製連結到剪貼簿 轉換為繁體 轉換為簡體 載入圖片
推文 x0
[C/C++][求助] 請問我這個交友系統問題出在哪
#include <stdlib.h>
#include <string.h>
#include <stdio.h>

#define NAMELENGTH 10 /* 英文姓名字數(中文至多五個字) */
#define HABITNO 20 /* 問卷中興趣的總數+1 */
#define STARNO 13 /* 星座中文最多3個字 */
#define BLOODNO 5 /* 血型最多兩個英文字 */
#define LIVELENGTH 6 /* 居住地字數設定 */

#define LIMIT 100 /* 參加男女的人數上限 */
#define MIN 1 /* 參加者至少可選到的朋友人數 */
#define MAX 12 /* 參加者至多可選到的朋友人數 */
void function1(int habit,int star,int blood,
int live);

static char name, habit; /* 姓名及興趣 */
static char star; /* 星座 */
static char blood; /* 血型 */
static char live; /* 居住地 */
static char gender; /* 性別 */

static struct record {
char name; /* 姓名 */
char habit; /* 興趣 */
char star; /* 星座 */
char blood; /* 血型 */
char live; /* 居住地 */
int candidate_no; /* 候選人數 */
int candidate; /* 候選人索引 */
} male, female; /* 男女參加者基本資料 */

static int male_count=0, female_count=0; /* 計算男女參加人數 */

FILE *datafile; /* 參加者資料存檔 */


/* 輸入資料 */
void input_raw_data()
{
if ((datafile = fopen("datafile","r")) == NULL)
{
/* 如果檔案不存在則新增 */
datafile = fopen("datafile","w");
}
else
{
/* 檔案已經存在則附加在後面 */
datafile = fopen("datafile","a");
}

printf("Please input one record at a time.\n"); /* 提示 */
printf("Name:");
scanf("%s",name);
printf("Gender(M or F):");
scanf("%s",&gender);
char cc;
int i=0,j=1,num_elem;
FILE *inptr;
inptr=fopen ("INPUT.DAT","r");
while(fscanf(inptr,"%c",&cc)!=EOF)i++;
num_elem=i;
for(j=0;j<num_elem;j++)
{
printf("%c",cc);
}
fclose(inptr);
printf("Habit:%s",habit);
scanf("%s",habit);
char dd;
int a=0,b=1,num_elem1;
FILE *input;
input=fopen ("INFILE.DAT","r");
while(fscanf(input,"%c",&dd)!=EOF)a++;
num_elem1=a;
for(b=0;b<num_elem1;b++)
{
printf("%c",dd);
}
fclose(input);

printf("Star:"); /* 提示 */
scanf("%s",star);/* 輸入資料 */

char ee;
int c=0,d=1,num_elem2;
FILE *in;
in=fopen ("IN.DAT","r");
while(fscanf(in,"%c",&ee)!=EOF)c++;
num_elem2=c;
for(d=0;d<num_elem2;d++)
{
printf("%c",ee);
}
fclose(in);
printf("血型:");
scanf("%s",blood);
printf("Name:%s Gender:%c Habit:%s Star:%s 血型:%s\n",name,gender,habit,star,blood);
fprintf(datafile,"%s %c %s %s %s\n",name,gender,habit,star,blood); /* 寫入檔案 */
fclose(datafile); /* 存檔並關閉檔案 */
}

/* 選擇候選人 */
int friends_selection()
{
/* 宣告與設定變數 */
int score, /* 分數表 */
highest_score, /* 分數表中, 最高分的配對組合的分數 */
id, /* 分數表中, 最高分的配對組合的男生索引 */
..

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




獻花 x0 回到頂端 [樓 主] From:臺灣中華HiNet | Posted:2007-06-04 01:05 |
ety 手機
數位造型
個人文章 個人相簿 個人日記 個人地圖
初露鋒芒
級別: 初露鋒芒 該用戶目前不上站
推文 x0 鮮花 x719
分享: 轉寄此文章 Facebook Plurk Twitter 複製連結到剪貼簿 轉換為繁體 轉換為簡體 載入圖片

哇...
你還能編譯它呀?
這程式我的 compiler 吃下後因錯誤過多根本吐不出執行檔...



簡易電腦擇友系統.cpp: In function `friends_selection':
簡易電腦擇友系統.cpp:296: warning: control reaches end of non-void function
簡易電腦擇友系統.cpp:121: warning: 'highest_score' might be used uninitialized in this function
簡易電腦擇友系統.cpp:122: warning: 'id' might be used uninitialized in this function
簡易電腦擇友系統.cpp:123: warning: 'candidate_id' might be used uninitialized in this function
簡易電腦擇友系統.cpp:124: warning: 'm' might be used uninitialized in this function
簡易電腦擇友系統.cpp:124: warning: 'n' might be used uninitialized in this function
簡易電腦擇友系統.cpp:125: warning: 'a1' might be used uninitialized in this function
簡易電腦擇友系統.cpp:125: warning: 'b1' might be used uninitialized in this function
簡易電腦擇友系統.cpp: In function `main':
簡易電腦擇友系統.cpp:380: warning: control reaches end of non-void function
簡易電腦擇友系統.cpp: At top level:
簡易電腦擇友系統.cpp:33: warning: 'live' defined but not used

看來我是老古板了, 該換 compiler...

表情


獻花 x0 回到頂端 [1 樓] From:臺灣和信超媒體寬帶網 | Posted:2007-06-04 01:24 |
GNUGCC
個人文章 個人相簿 個人日記 個人地圖
小人物
級別: 小人物 該用戶目前不上站
推文 x0 鮮花 x11
分享: 轉寄此文章 Facebook Plurk Twitter 複製連結到剪貼簿 轉換為繁體 轉換為簡體 載入圖片

如果可以執行表示程式沒有語法的錯誤而是錯在邏輯...
你最好檢查一下你的程式邏輯或是可以大概描述一下
程式邏輯的內容是什麼比較好分析出錯誤原因...


獻花 x0 回到頂端 [2 樓] From:臺灣中華電信HINET | Posted:2007-06-04 02:57 |
a86980
個人文章 個人相簿 個人日記 個人地圖
小有名氣
級別: 小有名氣 該用戶目前不上站
推文 x64 鮮花 x1308
分享: 轉寄此文章 Facebook Plurk Twitter 複製連結到剪貼簿 轉換為繁體 轉換為簡體 載入圖片

看了一下主程式

應該輸入

複製程式
void main(void)

其他的因為compiler問題一堆

可能是不一樣的compiler吧


獻花 x0 回到頂端 [3 樓] From:臺灣 | Posted:2007-06-04 11:27 |
ety 手機
數位造型
個人文章 個人相簿 個人日記 個人地圖
初露鋒芒
級別: 初露鋒芒 該用戶目前不上站
推文 x0 鮮花 x719
分享: 轉寄此文章 Facebook Plurk Twitter 複製連結到剪貼簿 轉換為繁體 轉換為簡體 載入圖片

a86980 兄, 您是指我的 compiler 嗎? XD


獻花 x0 回到頂端 [4 樓] From:臺灣和信超媒體寬帶網 | Posted:2007-06-04 22:02 |
a86980
個人文章 個人相簿 個人日記 個人地圖
小有名氣
級別: 小有名氣 該用戶目前不上站
推文 x64 鮮花 x1308
分享: 轉寄此文章 Facebook Plurk Twitter 複製連結到剪貼簿 轉換為繁體 轉換為簡體 載入圖片

下面是引用ety於2007-06-04 22:02發表的 :
a86980 兄, 您是指我的 compiler 嗎? XD
不是啦

我 compiler 時也是出現一推問題

所以應該是他的 compiler 與我們不同吧


獻花 x0 回到頂端 [5 樓] From:臺灣 | Posted:2007-06-04 22:35 |
ety 手機
數位造型
個人文章 個人相簿 個人日記 個人地圖
初露鋒芒
級別: 初露鋒芒 該用戶目前不上站
推文 x0 鮮花 x719
分享: 轉寄此文章 Facebook Plurk Twitter 複製連結到剪貼簿 轉換為繁體 轉換為簡體 載入圖片

GNUGCC 他有提到 "如果可以執行表示程式沒有語法的錯誤而是錯在邏輯..."

我很同意他的看法!

作者既然能 compile, 想必作者的 compiler 接受作者的語法, 或許作者給我們看程式報告會比較好! 希望能由作者的報告看出他的演算法有無問題... 不然, 我們並不熟悉作者的程式環境, 這洋洋灑灑的好幾十行程式碼我們很難幫忙 Debug!

不知道作者是用哪一個 compiler?
Turbo C ? 還是 Visual C++ ?


獻花 x0 回到頂端 [6 樓] From:臺灣和信超媒體寬帶網 | Posted:2007-06-04 23:14 |
gamewalk
數位造型
個人文章 個人相簿 個人日記 個人地圖
初露鋒芒
級別: 初露鋒芒 該用戶目前不上站
推文 x0 鮮花 x18
分享: 轉寄此文章 Facebook Plurk Twitter 複製連結到剪貼簿 轉換為繁體 轉換為簡體 載入圖片

我用 Visual C++ 6.0 可以編譯喔....但是看到不少Warning幾乎都是沒初始化就直接使用的問題,

我先講一下我目前找到的問題是你friends_selection這個函式裡你在讀datafile檔時,你是用格式

化輸入fscanf(datafile,"%s %c %s %s",name,&gender,habit,star) 一次讀取四樣東西,但是

你datafile內的格式卻是每個人的資料有五樣東西,也就是會發生讀第二個人的資料時會從第一個人

資料的第五個開始...不曉得你是不是少放了什麼...不過就算改了程式運作時還是會再有一邊出錯,你

可不可以解釋一下你在計算興趣 星座 寫型相似度這邊計算加分的機制是什麼可不可以解釋一下我看

不太懂 ~"~ 裡面有些地方感覺怪怪的在for i for j 內用到 m n 然後 for m for n 內用到 i j a1 b1

最後 for a1 for b1內又用到 m n ....還有你在該函式最後面while(min < MIN)裡面的第一次

highest_score好像沒有初始化成 -1,但是在檢查highest_score完以後才有highest_score = -1;

建議可以把highest_score = -1擺在while一進來的時候...我目前只知道這些 其他不知道還有沒有問題....


獻花 x0 回到頂端 [7 樓] From:臺灣永大數位動力公司 | Posted:2007-06-05 00:08 |
ety 手機
數位造型
個人文章 個人相簿 個人日記 個人地圖
初露鋒芒
級別: 初露鋒芒 該用戶目前不上站
推文 x0 鮮花 x719
分享: 轉寄此文章 Facebook Plurk Twitter 複製連結到剪貼簿 轉換為繁體 轉換為簡體 載入圖片

唔 ~ 終於有高手出來解答了 ~

表情


獻花 x0 回到頂端 [8 樓] From:臺灣和信超媒體寬帶網 | Posted:2007-06-05 00:39 |

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