[问题] 关于结构传递问题

楼主: 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