各位c语言的高手,请问这那里错了?

来源:百度知道 编辑:UC知道 时间:2024/05/22 05:52:31
编写一个程序,使用一个结构存储股票名称、它的每股收入估价和它的估价对收入的比率。要求程序提示用户输入5个不同的股票项目,每次使用相同的结构存储这些输入的数据。每输入一个详细的股票数据,程序能根据被输入的收入和每份收入的价格数值计算和显示可预期的股票价格。例如:如果用户输入数据 XYZ 1.56 12,则XYZ股票一股的预期价格是1.56X12=18.72元。
#include "stdio.h"
#define SIZE 5
struct stock
{char name;
float in;
int p;
float expect;
}s[SIZE];
void main()
{int i;
printf("Please imput the data\nname in percent\n");
for(i=0;i<SIZE;i++)
{scanf("%s %f %d",&s[i].name,&s[i].in,&s[i].p);
s[i].expect=s[i].in*s[i].p;
}
printf("The expect price is:\n");
for(i=0;i<SIZE;i++)
printf("%s\n%fX%d=%fyuan",s[i].name,s[i].in,s[i].p,s[i].expect);

getch();
}
还是不行,输入一组数后自动退出了
ps。我用的是wintc
算了,还是给你吧

name的类型是char,即只可以存放一个字符,可将其改成字符数组,如char name[20];

这样应该没事了, 你自己测试一下吧。

#include "stdio.h"
#define SIZE 5
struct stock
{
char name[20];
float in;
int p;
float expect;
}s[SIZE];
void main()
{
int i;
float tmp;

printf("Please imput the data\nname in percent\n");
for(i=0;i<SIZE;i++)
{
scanf("%s %f %d",s[i].name,&tmp,&s[i].p);
s[i].in = tmp;
s[i].expect=s[i].in*s[i].p;
}
printf("The expect price is:\n");
for(i=0;i<SIZE;i++)
printf("%s %.2fX%d=%0.2fyuan\n",s[i].name,s[i].in,s[i].p,s[i].expect);

getchar();
getchar();
}

#include "stdio.h"
#define SIZE 5
struct stock
{char name[9];//改为数组
float in;
int p;
float expect;
}s[SIZE];
void main()
{int i;
printf("Please imput th