学生成绩管理系统(dos+文件) 程序设计方法学,第一次作业。
/*
Name: 学生成绩管理系统 (dos+文件)
Copyright: 卿笃军
Author: 卿笃军
Date: 03/03/14 14:53
Description: dev-cpp 5.5.3 / vc++6.0
*/
#include<stdio.h> /*I/O函数*/
#include<stdlib.h> /*其它说明*/
#include<string.h> /*字符串函数*/
#define LEN 15 /* 学号和姓名最大字符数,实际请更改*/
#define N 50 /* 最大学生人数,实际请更改*/
typedef struct node /*定义学生信息结构体*/
{
char code[LEN]; /* 学号*/
char name[LEN]; /* 姓名*/
int age; /* 年龄*/
char sex; /* 性别*/
float score[3]; /* 3门课程成绩*/
}student;
student stu[N]; /*定义学生信息全局数组*/
int k=1,n=0, m=0; /* n代表当前记录的学生人数*/
/*函数声明*/
void seek(); /*查找*/
void modify(); /*修改*/
void insert(); /*插入*/
void del(); /*删除*/
void display(); /*打印*/
void menu(); /*菜单*/
void save(); /*储存*/
void open(int flag); /*打开*/
/*主函数*/
int main()
{
open(0); /*预读文件*/
while(k)
{
system("cls"); /*清屏*/
menu(); /*菜单*/
system("pause"); /*暂停*/
}
printf("感谢你的使用^@^....\n");
system("pause"); /*暂停*/
return 0;
}
void open(int flag) /*打开文件,将信息读入结构体数组*/
{
FILE *read;
student *temp = (student *)malloc(sizeof(student));
int i = 0;
system("cls");
read = fopen("data.txt","rt+");
if (!read)
{
printf("文件打开失败!");
exit(0);
}
while(!feof(read))
{
if(fread(&stu[i],sizeof(student),1,read) == 1) /*每次读取一组*/
++i;
}
n = i; /*初始化学生个数*/
fclose(read); /*关闭文件*/
if (flag == 1)
printf("刷新成功!\n");
}
void save() /*写入文件,保存学生信息*/
{
FILE *save;
int i = 0;
system("cls");
save = fopen("data.txt","wt+");
i