第1个回答 2014-06-08
太晚了,只帮你把程序架起来了,你自己先往里填代码吧,关于文件的库函数调用也很简单的,
fopen(),fwrite();fread(),fclose(),FILE *文件指针等 ,你要是在linux下边更方便 ,man 这几个函数名就能看到原型,要不你下载一个C库函数大全的PDF,找到文件操作那一节,找到这几个函数原型,其中要注意的几项提醒你一下,在打开文件的时候,有几个参数的选项,像打开标志和打开模式等等,其实我要是完全帮你做了,一点意义都没有。
#include<stdio.h>
enum MENU_ACT{ INPUT=1,TOTAL_LES,AVR_LES,TOTAL_STU,AVR_STU,SORT_H,SORT_L,SORT_ID,SORT_N,SEARCH_ID,SEARCH_NAME,TONGJI,SAVE,READFILE };
struct students
{
int id;
char name[16];
float mt;
float en;
float ph;
} ;
void do_input();
void do_total_lession();
void do_avrage_lession();
void do_total_students();
void do_avrage_students();
void do_sort_high_to_low();
void do_sort_low_to_high();
void do_sort_student_id();
void do_sort_student_name();
void do_search_by_id();
void do_search_by_name();
void do_statistics();
void do_save();
void do_read_from_file();
void do_input()
{
}
void do_total_lession()
{
}
void do_avrage_lession()
{
}
void do_total_students()
{
}
void do_avrage_students()
{
}
void do_sort_high_to_low()
{
}
void do_sort_low_to_high()
{
}
void do_sort_student_id()
{
}
void do_sort_student_name()
{
}
void do_search_by_id()
{
}
void do_search_by_name()
{
}
void do_statistics()
{
}
void do_save()
{
}
void do_read_from_file()
{
}
int main(void)
{
int cmd;
while(1)
{
putchar('\n');
printf("*****************************************************\n");
printf("* 录入:1, 计算每门课程总分:2 计算每门课程平均分:3\n");
printf("* 计算每个学生的总分:4, 计算每个学生的平均分:5 \n");
printf("* 按每个学生的总分由高到低排出名次:6\n");
printf("* 按每个学生的总分由低到高排出名次:7\n");
printf("* 按学号由小到大排出成绩表:8\n");
printf("* 按姓名的字典顺序排出成绩表:9\n");
printf("* 按学号查询学生排名及其考试成绩:10\n");
printf("* 按姓名查询学生排名及其考试成绩:11\n");
printf("* 按优秀(90-100),良好(80-89),中等(70-79),及格(60-69),不及格(0-59)\n");
printf("* 5个类别,对每门课程分别统计每个类别的人数和百分比 : 12\n");
printf("* 输出每个学生的学号、姓名、各科考试成绩、\n* 以及每门课程的总分和平均分 : 13\n");
printf("* 将每个学生的记录信息写入文件 : 14\n");
printf("* 从文件中读出每个学生的记录信息并显示 : 15 \n");
printf("* 退出系统:0 \n");
printf("*****************************************************\n\n");
printf("请参照上面的提示办入指令码并按回车键:\n");
scanf("%d",&cmd);
switch (cmd)
{
case INPUT : do_input();break;
case TOTAL_LES : do_total_lession();break;
case AVR_LES : do_avrage_lession();break;
case TOTAL_STU : do_total_students();break;
case AVR_STU : do_avrage_students();break;
case SORT_H : do_sort_high_to_low();break;
case SORT_L : do_sort_low_to_high();break;
case SORT_ID : do_sort_student_id();break;
case SORT_N : do_sort_student_name();break;
case SEARCH_ID : do_search_by_id();break;
case SEARCH_NAME : do_search_by_name();break;
case TONGJI : do_statistics();break;
case SAVE : do_save();break;
case READFILE : do_read_from_file();break;
case 0 : goto END;
default : break;
}
}
END:
return 0;
}本回答被提问者采纳