新人求助:关于scan()函数、结构体、double类型的问题,谢过各位!
C struct
#include <stdio.h>
#include <stdlib.h>
struct circuit
{
char yjtype;
intnumber;
int startnode;
intendnode;
int control;
double argument;
};
void flush()
{
char temp;
while ((temp = getchar()) != '\n' && temp != EOF) ;
}
void main()
{
int i, b;
struct circuit *Node;
printf("请输入元件个数:\n");
scanf(" %d",&b);
Node = (struct circuit*)calloc(b , sizeof(struct circuit));
printf("请输入%d个元件参数:\n",b);
printf("***************************************************\n");
printf("格式为:元件类型,开始结点,终止结点,控制支路,元件参数\n");
printf("***************************************************\n");
for(i = 0; i < b; i++)
{
printf("di %d ge jiedian:\n", i+1);
flush();
scanf(" %c , %d , %d , %d , %d , %f",
Node[i].yjtype, &Node[i].number, &Node[i].startnode,
&Node[i].endnode, &Node[i].control, &Node[i].argument);
printf("%c,%d,%d,%d,%d,%f\n",
Node[i].yjtype, Node[i].number, Node[i].startnode,
Node[i].endnode, Node[i].control,Node[i].argument);
}
free(Node);
flush();
getchar();
}