| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2557 人关注过本帖
标题:求教。如何调用编好的函数。如何使用prj文件
只看楼主 加入收藏
nike197800
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2009-12-27
结帖率:66.67%
收藏
已结贴  问题点数:20 回复次数:6 
求教。如何调用编好的函数。如何使用prj文件
咔咔。今天又来问问题了。昨天问了一次。问题解决了不少。可还是完成不了整个程序
问题是这样的;
某班期末考试科目为数学(MT)、英语(EN)和物理(PH),每个班级4人。学生的信息用结构体描述,包括学号(NO)、姓名、数学(MT)、英语(EN)、物理(PH)、总分(grade).

(1)编写分配一块内存的程序init。
(2)编写完成读进4个学生的信息的函数readin,函数能将这些值存进由函数init申请的存储块中。
(3)编写计算这些学生的总分的函数product。
(4)编写一个sort函数,用来将存储块中的4个学生记录组成的数据读入一数组a中,然后将a中的数据按从总分从小到大的顺序排列。
(5)再用init分配一块内存,将数组a的内容存到这块内存中去,然后把数组a的数据存储到一个名为myData.txt的文本文件中去。
(6)在主程序中调用他们,输出第一次申请的内存块中的内容和数组排序后的内容,按反序输出第2次申请的内存块中的内容。

各个文件及设计思想如下,
ex.h
 包含程序需要的头文件,声明各个函数
 #include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
const int SIZE=4;
struct student {
 int NO;  char name[20];
 float course[3];
 float grade;
}
struct student *init(int);
void reading(struct student *);
void product(struct student *);
void sort(struct student *, struct student a[],int);
2.init.c
申请4个存储struct student数据的空间,然后返回存储块的地址,因此返回类型是指针。
3.readin.c
 将从键盘输入的数据存储到内存块中,无需返回值。
4.product.c
总分的计算是首先取出存储块的最后一个元素,然后依次用它前面的元素和它相加。
5.sort.c
使用选择法进行排序。
6.ex.c
7.建立一个“项目文件”,只包括组成程序的文件,文件名为
ex.prj。
程序编译成功后,输入4个学生的数据进行测试
第一至六题。我是这样写的:
1.
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define LEN sizeof(struct student)
int SIZE=4;
struct student
{int NO;
 char name[20];
 float course[3];
 float grade;
};
struct student *init(int);
void reading(struct student *);
void product(struct student *);
void sort(struct student *, struct student a[],int);
2.
struct student *init(int SIZE)
{struct student *stu;
 stu=(struct student *)calloc(SIZE,36);
 return(stu);
}   
3.
void reading(struct student *stu)
{int i;
 for(i=0;i<4;i++,stu++)
   scanf("%d%s%d%d%d",stu->NO,stu->name,stu->course[0],stu->course[1],stu->course[2]);
}
4.
void product(struct student *stu)
{int i;
 for(i=0;i<4;i++,stu++)
    stu->grade=stu->course[0]+stu->course[1]+stu->course[2];
}
5.
void sort(struct student *stu,struct student a[],int n)
{int i,j;
 struct student b;
 a=stu;
 for(j=0;j<3;j++)
    for(i=0;i<3-j;i++)
       if(a[i].grade>a[i+1].grade)
     {b=a[i];
      a[i]=a[i+1];
      a[i+1]=b;
     }
}
6.
void output(struct student a[])
{struct student * stu2;
 FILE *fp;
 int i;
 stu2=init(SIZE);
 stu2=a;
 if((fp=fopen("myData.txt","wb"))==NULL)
   {printf("cannot open file\N");
    return;
   }

 for(i=0;i<SIZE;i++)
    if(fwrite(&a[i],36,1,fp)!=1)
      printf("file write error\n");
 fclose(fp);
}  
就这些了。。不知道有没有写错。如果我要完成那个程序。是不是只要再编一个函数。把上面的函数都调用完就可以运行了?
题目要求创建那个prj文件。要怎么搞的。要把上面的6个函数添加进去。还要添加什么吗?我添加了上面了6个函数。
但是出现了错误。说我没有定义什么的。晕死。究竟要怎么做才能搞好。。求各位有经验的师兄赐教一下了
搜索更多相关主题的帖子: 文件 函数 prj 
2009-12-28 18:23
风之上位
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:55
专家分:156
注 册:2009-12-20
收藏
得分:0 
prj是项目文件我用手机回复很不方便 你去上网查下项目文件的添加方法
2009-12-28 20:11
nike197800
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2009-12-27
收藏
得分:0 
回复 2楼 风之上位
如果纯粹是添加项目文件。我会。问题是添加了错误很多。咔咔。
现在就是想大家帮忙找找问题。。看哪里写错了。或者有哪里格式不对
2009-12-28 20:39
风之上位
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:55
专家分:156
注 册:2009-12-20
收藏
得分:20 
我记得添加函数需要两个文件一个是包含函数声明于与所需要的宏的.h文件
2009-12-28 21:56
风之上位
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:55
专家分:156
注 册:2009-12-20
收藏
得分:0 
和包含函数定义的.c文件
2009-12-28 21:57
风之上位
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:55
专家分:156
注 册:2009-12-20
收藏
得分:0 
也就是要个.h文件和.c文件
2009-12-28 21:59
风之上位
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:55
专家分:156
注 册:2009-12-20
收藏
得分:0 
我qq453000800你加我聊方便些
2009-12-28 22:04
快速回复:求教。如何调用编好的函数。如何使用prj文件
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.026151 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved