[問題] 關於結構傳遞問題

作者: sorryandbye (隨g致富)   2014-08-11 16:15:55
開發平台(Platform): (Ex: VC++, GCC, Linux, ...) Dev C++
問題(Question):
餵入的資料(Input):自訂輸入資料
預期的正確結果(Expected Output):輸入資料後應可print輸入的資料
錯誤結果(Wrong Output):(null)
程式碼(Code):(請善用置底文網頁, 記得排版)
#include <stdlib.h>
#include <stdio.h>
typedef struct FRIEND
{
char name[10];
char fone[15];
char birth[15];
}FR;
FR enternew(void);
void show(FR[],int);
int main(void)
{
char ch;
int size=0,i;
FR f[20];
while(1)
{

printf("請問您要 1)輸出好友名單 2)新增好友資料
3)離開");
scanf("%s",&ch);
switch(ch)
{
case'1':if(size!=0)
{
show(f,size);
}
else
{
printf("目前尚無會員資料
");
};
break;
case'2':if(size>=20)
{
printf("名單已滿
");
}
else
{
enternew();
size++;
for(i=0;i<size;i++)
{
printf("%s",f[i]);
}
}
break;
case'3':break;
}
fflush(stdin);
}
system("pause");
return 0;
}
FR enternew(void)
{
FR temp;
printf("請輸入姓名");
scanf("%s",temp.name);
//getchar();
printf("請輸入電話");
scanf("%s",temp.fone);
//getchar();
printf("請輸入生日");
scanf("%s",temp.birth);
//getchar();
return temp;
}
void show(FR f[],int
size)
{
int i;
for(i=0;i<size;i++)
{
printf("=============================\n");
printf("%10s 的生日:
%-15s\n",f[i].name,f[i].birth);
printf("%10s 的電話:
%-15s\n",f[i].name,f[i].fone);
}
}
補充說明(Supplement):
學校沒有教C/C++
我們是教Labview......
自己看書學的
學得有點混亂.....
因為書中從struct講的有點過於簡單.....
煩請要鞭
鞭小力一點QAQ
我也才剛學沒幾個星期
我在想或許是結構傳遞錯誤
尤其是scanf("%s",temp.xxxx);
和printf("%10s 的生日: %-15s\n",f[i].xxxx,f[i].xxxx);這邊
作者: sorryandbye (隨g致富)   2014-08-11 16:25:00
我可能連陣列都沒學好= =指標也是......〒△〒
作者: kenn2001 (kenn )   2014-08-11 17:38:00
可以找書,我從來沒學過,我看一本書:第一次學C就上手
作者: sorryandbye (隨g致富)   2014-08-11 17:38:00
我剛好就是看這本= =內容還算淺顯,帶struct的那個part稍嫌不足:P但
作者: koka813 (shift)   2014-08-11 19:39:00
沒有人去接enternew這個function吧...話說我這邊看起來排版挺亂的,找地方貼code會比好看~你的f[] array沒去接enternew function丟出來的東西
作者: sorryandbye (隨g致富)   2014-08-11 21:37:00
↑對 我後來有發現囉:") 好像有推文吧(?)就是f[]=enternew()醬子這方面沒問題了v( ̄︶ ̄)y倒是 請教一下這樣算3*20維陣列嗎?(假設f[20])
作者: koka813 (shift)   2014-08-11 22:18:00
3這個數字是哪來的?是指struct裡面的林呈遠數嗎?成員數嗎?BTW,一般應該不是這樣算的吧XD 這樣算一維陣列..
作者: sorryandbye (隨g致富)   2014-08-11 23:08:00
謝過koka813囉:")
作者: xpop777 (Archie)   2014-08-12 09:47:00
f[3][20]
作者: kenn2001 (kenn )   2014-08-12 11:30:00
可以上網早答案
作者: sorryandbye (隨g致富)   2014-08-13 10:33:00
f[3][20]不就是一種2維陣列嗎?(對struct裡面的元素)對FR而言是一維陣列,這樣說算正確嗎?

Links booklink

Contact Us: admin [ a t ] ucptt.com