注册 登录
编程论坛 C图形专区

一个图形的问题

dream1101 发布于 2006-07-16 22:31, 987 次点击
唉~~

试编程读入EXAM,DAT文件前10名学生的分数,将学生分数以棒图的形式显示出来。


如数据是
zhangs 64
lisi 76
shaxue 67
dujia 57
fenshu 87
shushu 89
gungy 82
shujia 92
shide 45
hengh 68

怎么样显示啊??
7 回复
#2
dream11012006-07-16 22:31
很是着急 ,明天要交  还没有解决~~
#3
dream11012006-07-16 22:45
晕~~ 版主呢?
#4
nuciewth2006-07-17 11:57
棒图是怎样的?
#5
nuciewth2006-07-17 11:58
从大到小排序?
#6
nuciewth2006-07-17 12:12
#include<stdio.h>
typedef struct {
char name[20];
int num;
}list;
void sort(list a[],int n)//冒泡
{
int i,j;
laist temp;
for(i=0;i<n;i++)
{
for(j=0;j<n-1;j++)
{
if(a[i].num<a[j+1].num)
{
temp=a[j];
a[j]=a[j+1];
a[j+1]=temp;
}
}
}
}

int main()
{
freopen("exam.dat","r",stdin);
int i;
list data[10];
for(i=0;i<10;i++)
scanf("%s%d",data[i].name,&data[i].num);
sort(data,10);
for(i=0;i<10;i++)
printf("%s %d\n",data[i].name,data[i].num);
return(0);
}

//因为没有编译器,所以没有编译,不知道是否可以,楼主说句话。

#7
nuciewth2006-07-17 12:22

理解错误,我说哪有这么简单,汗颜。不好意思。
#8
jig2006-07-17 12:29

先进行冒泡法排列再在图形模式下去画出图形就K了,LZ现在是哪步不通?是图形不会画吗?
看看吧

#include <graphics.h>
#include <stdio.h>

void main(void)
{
FILE *fp;
char name[10][20];
int i, score[10];
int gdriver, gmode,errorcode;

gdriver=VGA;
gmode=VGAHI;
initgraph(&gdriver, &gmode, "");

fp = fopen("123.txt", "r"); /*123.txt中按LZ的格式填入了LZ要求的人名和分数 */

for (i = 0; i < 10; i++)
{
fscanf(fp, "%s", &name[i]);
fscanf(fp, "%d", &score[i]);

bar(20*i+10, 200-score[i]*2, 20*i+20, 200);
}

fclose(fp);
getch();

closegraph();
}

[此贴子已经被作者于2006-7-17 13:40:38编辑过]

1