求教。如何调用编好的函数。如何使用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

#include

#include

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

#include

#include

#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

if(fwrite(&a[i],36,1,fp)!=1)

printf("file write error\n");

fclose(fp);

}

就这些了。。不知道有没有写错。如果我要完成那个程序。是不是只要再编一个函数。把上面的函数都调用完就可以运行了?

题目要求创建那个prj文件。要怎么搞的。要把上面的6个函数添加进去。还要添加什么吗?我添加了上面了6个函数。

但是出现了错误。说我没有定义什么的。晕死。究竟要怎么做才能搞好。。求各位有经验的师兄赐教一下了

c语言程序文件夹里没看到prj,求教。如何调用编好的函数。如何使用prj文件相关推荐

  1. < Android数据存储> 任务二 应用程序数据文件夹里的文件读写

    :zh]Android中提供了两个方法用来打开应用程序的数据文件夹IO流. 1.FileInputStream openFileInput(String name):参数name表示某个文件名,该方法 ...

  2. 5 Android数据存储 任务二 应用程序数据文件夹里的文件读写 ,

    Android中提供了两个方法用来打开应用程序的数据文件夹IO流. 1.FileInputStream openFileInput(String name):参数name表示某个文件名,该方法用于打开 ...

  3. SharePoint 2013创建应用程序时IIS端口文件夹下没文件

    最近SharePoint 2007迁移到2013的时候,碰到创建应用程序时IIS端口文件夹下没文件的问题,网上找了大把的原因,终于在这里找到了解决方案: Fix: 1. Open IIS on the ...

  4. c语言微信备份文件夹,电脑微信数据存在哪个文件夹里?

    微信已经成为我们日常社交甚至办公的重要软件,在电脑上使用微信的过程会产生大量文件,那怎么在文件夹找到这些文件呢?电脑微信数据存在哪个文件夹里?微信文件过期怎么修复?下面让小编来告诉大家,并提供微信文件 ...

  5. android 缓存文件目录在哪个文件夹里,Android 文件目录存储介绍 缓存目录 | 私有目录 | 系统根目录 | 用户可见目录...

    先简要介绍一下Android系统的文件系统吧,本文基于原生Android M系统: 我们都知道Android系统内核就是个Linux.所以我们的文件系统与Linux也是基本一致的,最顶部的目录是 &q ...

  6. 详解C盘Windows文件夹里重要文件的作用

    详解C盘Windows文件夹里重要文件的作用 在整个Windows操作系统中,最重要的莫过于"Windows"文件夹,对电脑进行任何操作几乎都有关.了解这里对于掌握整个系统的运作有 ...

  7. 详解C盘Windows文件夹里重要文件作用

        在整个Windows操作系统中,最重要的莫过于"Windows"文件夹,对电脑进行任何操作几乎都有关.了解这里对于掌握整个系统的运作有很大的作用,如果有兴趣不妨往下看看. ...

  8. python获取文件夹里有什么文件+查看特定格式的文件

    python获取文件夹里有什么文件+查看特定格式的文件 功能 程序 效果 后续 功能 获取文件夹的的文件+获取文件夹里的特定格式的文件,比如.png等 程序 import os folder = r& ...

  9. 怎么批量修改文件夹里照片的名字

    电脑使用3年了,里面容量越来越小,3个盘都标红了.工作起来也很卡顿,我打算整理下自己的电脑.原来是产品的照片图过多,还有现场活动的营销图片.打算进行图片的清除和整理工作,但是无从下手了,图片过大数量过 ...

  10. 微软在文件夹里插广告,把用户恶心到了,官方:试验功能,不小心推送了!...

    杨净 梦晨 发自 凹非寺 量子位 | 公众号 QbitA 315刚曝光广告弹窗乱象,这边Windows用户就被微软骚操作恶心坏了. 一位自称微软30年老粉的网友发现,在最新win11测试版里,广告已经 ...

最新文章

  1. 最小费用最大流 ---- 2017icpc青岛现场赛 K Our Journey of Xian Ends (拆点控制原图点度 + 中间必经过的点设置成源点 + 起点设成汇点)
  2. vim对nginx的语法高亮设置
  3. iosanimationWithKeyPath
  4. python判断远程文件是否存在
  5. python第四十一天---作业:简单FTP
  6. 如何区分Android wrap_content和fill_parent的详细说明
  7. 对学校的希望和寄语_家长对孩子的期望寄语精选
  8. bulkwrite 批量插入_SQL SERVER 使用BULK Insert将txt文件中的数据批量插入表中(1)
  9. 这可能是由于 CredSSP 加密 Oracle 修正。
  10. JavaScript | 声明数组并在每个循环中使用的代码
  11. 编程实现将rdd转换为dataframe:源文件内容如下(_第四篇|Spark Streaming编程指南(1)
  12. 【Android】Binder机制
  13. python实用例子_Python实用案例 - 随笔分类 - 一入测试深似海 - 博客园
  14. Hi3861开发板搭建环境
  15. F30.2018年版本北大中文核心期刊目录
  16. php 孙中岳_请问,看完孙仲岳的一周学会PHP接案了!
  17. MSDN Library下载与安装(MFC)
  18. 【Vue】win10启动vue项目报错: errno: -4058, code: ‘ENOENT‘, syscall: ‘spawn cmd‘
  19. gitlab推送钉钉机器人配置
  20. 解决Font shape `TU/ptm/m/n‘ undefined (Font)的问题 -- Latex

热门文章

  1. java中system.in怎么用
  2. 摄氏度与华氏度之间的转换
  3. 代码与国家地区对照表
  4. JN5169 NXP ZigBee PRO 无线网络应用所需的常见操作(一)
  5. 微信小程序接入腾讯云IM即时通讯(发送消息开发步骤)
  6. 高维曲面: 方向导数, 梯度, 切平面, 法向量
  7. 豪华气派!这些院校的图书馆也太美了!
  8. 首届技术播客月开播在即
  9. 论文解读《TS-m6A-DL:使用通用深度学习模型对n6-甲基腺苷位点进行组织特异性识别》
  10. python数据导入spss_spss-数据抽取-拆分与合并