当前位置: 代码迷 >> C语言 >> 帮忙看下问题出在哪里?
  详细解决方案

帮忙看下问题出在哪里?

热度:152   发布时间:2007-04-05 22:41:11.0
帮忙看下问题出在哪里?

include<stdio.h>
#define maxsize 100

struct student
{ char num[10];
char name[10];
char sex[2];
char tel[15];
char addr[50];
};
struct list
{ int len;
struct student stu[maxsize];
};


struct list ListInit(struct list L)
{ L.len=0;
return(L);
}


struct list ListCreate(struct list L)
{ int i=0;
char x1[10],x2[10],x3[2],x4[15],x5[50];
char ch;
do
{ printf("\nNum:"); fflush(stdin);
scanf("%c",&x1); fflush(stdin);
printf("\nName:");
scanf("%c",&x2); fflush(stdin);
printf("\nSex:");
scanf("%c",&x3); fflush(stdin);
printf("\nTel:");
scanf("%c",&x4); fflush(stdin);
printf("\nAddr:");
scanf("%c",&x5); fflush(stdin);
strcpy(L.stu[i].num,x1);
strcpy(L.stu[i].name,x2);
strcpy(L.stu[i].sex,x3);
strcpy(L.stu[i].tel,x4);
strcpy(L.stu[i].addr,x5);
i++;
ch=getchar();
} while(ch!='0');
L.len=i;
return(L);
}


void ListPrint(struct list L)
{ int i;
for(i=0;i<L.len;i++)
{ printf("\nNum:%s\nName:%s\nSex:%s\nTel:%s\nAddr:%s\n",L.stu[i].num,L.stu[i].name,L.stu[i].sex,L.stu[i].tel,L.stu[i].addr);
}
printf("\n");
}


void main()
{ struct list L;
L=ListInit(L);
L=ListCreate(L);
ListPrint(L);
}

输出好像还有点问题哦!
不知道哪里错误!郁闷了

搜索更多相关的解决方案: include  return  

----------------解决方案--------------------------------------------------------
就是输出得不到预想的结果
----------------解决方案--------------------------------------------------------
char x1[10],x2[10],x3[2],x4[15],x5[50];
char ch;
do
{ printf("\nNum:"); fflush(stdin);
scanf("%c",&x1); fflush(stdin);

下同.
----------------解决方案--------------------------------------------------------
输出还是有错误啊,得不 到预期结果
----------------解决方案--------------------------------------------------------

改过:

include<stdio.h>
#define maxsize 100

struct student
{ char num[10];
char name[10];
char sex[2];
char tel[15];
char addr[50];
};
struct list
{ int len;
struct student stu[maxsize];
};


struct list ListInit(struct list L)
{ L.len=0;
return(L);
}


struct list ListCreate(struct list L)
{ int i=0;
char x1[10],x2[10],x3[2],x4[15],x5[50];
char ch;
do
{ printf("\nNum:"); fflush(stdin);
scanf("%c",x1); fflush(stdin);
printf("\nName:");
scanf("%c",x2); fflush(stdin);
printf("\nSex:");
scanf("%c",x3); fflush(stdin);
printf("\nTel:");
scanf("%c",x4); fflush(stdin);
printf("\nAddr:");
scanf("%c",x5); fflush(stdin);
strcpy(L.stu[i].num,x1);
strcpy(L.stu[i].name,x2);
strcpy(L.stu[i].sex,x3);
strcpy(L.stu[i].tel,x4);
strcpy(L.stu[i].addr,x5);
i++;
ch=getchar();
} while(ch!='0');
L.len=i;
return(L);
}


void ListPrint(struct list L)
{ int i;
for(i=0;i<L.len;i++)
{ printf("\nNum:%s\nName:%s\nSex:%s\nTel:%s\nAddr:%s\n",L.stu[i].num,L.stu[i].name,L.stu[i].sex,L.stu[i].tel,L.stu[i].addr);
}
printf("\n");
}


void main()
{ struct list L;
L=ListInit(L);
L=ListCreate(L);
ListPrint(L);
}




应该怎么实现输入和输出才是最好的呢?
多个字符串 scanf();的输入应该怎么办呢?
是不是应该分多行写?
那么输出呢?


----------------解决方案--------------------------------------------------------
LS:
1.这个include<stdio.h>应该改为:#include<stdio.h>

2.还需要加入头文件#include <string.h>

3.对于多个字符串得输入,应该是分行写。
输出嘛,你写得应该可以得。


----------------解决方案--------------------------------------------------------
噢!!!知道啦!!谢谢咯
----------------解决方案--------------------------------------------------------
  相关解决方案