预提所得税怎么计算:请教c语言的一个程序

来源:百度文库 编辑:杭州交通信息网 时间:2024/04/30 13:20:42
一)建立数据文件
1. 输入N个(如N=6)学生的个人资料(包括:学号、姓名及三门功课“数学、英语、C程序设计”的成绩);
2. 将上述学生资料(数据自定)存盘,形成数据文件;
3. 若某学生调入,将其相关资料追加到数据库中;
4. 若某学生调出,将其相关资料从数据库中删除。
二)使用所建数据文件资料:
1. 计算每个学生的总分及平均分;
2. 按总分由大到小排序(学号、姓名、数学、英语、C程序设计等相关数据随之调整);
3. 输出排序结果。
4. 按姓名检索,输出其相关资料或输出‘查无此人’的信息。
请哪位高手帮忙编一下小弟谢了
要源代码,上机调试、测试、运行通过
谢谢

#include <stdio.h>
#include "file.h"

main()
{
int index = 4,i;
FILE *f1 = NULL;
stu *mem;
struct _stat buf;
float *average[4];
mingci *p;
char c;

//写文件
//index = funWrite(&f1);

f1 = fopen("f1.txt","rb");
_stat("f1.txt",&buf); // 获取f1文件的大小
mem = (stu *)malloc(buf.st_size);//动态分配空间用来保存学生信息
fread(mem,buf.st_size,1,f1);//将文件内容读入内存
fclose(f1);//关闭

//存放名次的结构体
p = (mingci *)malloc(index * sizeof(mingci));
memset(p,'\0',index * sizeof(mingci));

//排序成绩
for(i = 0; i < index; i++)
average[i] = (float *)malloc(4*sizeof(float));
Sort(mem,index,average,&p);

//求各科平均成绩,最高分,最低分,优秀率,及格率。
Ave(average);

//查询任意学生各科名次及总成绩名次。
printf("seach?(Y/N):");
scanf("%c",&c);
while(c == 'Y' || c == 'y')
{
if(c == 'Y' || c == 'y')
{
scanf("%c",&c);
Seach(&p,index);
}
printf("seach again?(Y/N):");
scanf("%c",&c);
}
}

如果愿意出银子,请联系sarjia@etang.com