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);
}
输出好像还有点问题哦!
不知道哪里错误!郁闷了
----------------解决方案--------------------------------------------------------
就是输出得不到预想的结果
----------------解决方案--------------------------------------------------------
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.对于多个字符串得输入,应该是分行写。
输出嘛,你写得应该可以得。
----------------解决方案--------------------------------------------------------
噢!!!知道啦!!谢谢咯
----------------解决方案--------------------------------------------------------