计算机专业,毕业答辩项目 自写信息管理系统——利用C语言快速实现二

这是一个C语言编写的毕业答辩项目,实现了信息管理系统的功能,包括读取文件、创建链表、输入输出学生信息等。通过读取名为'student_system.txt'的文件,程序能够动态创建链表并存储学生信息,支持数据的录入、显示和页面翻阅。
摘要由CSDN通过智能技术生成

 

feature.cpp

#include"head.h"  
  
/********************获取文件名;读取内容;给num,fp,head,flieopenname赋值;创建链表***********************/  
//打开文件,并读取文件   
int read_file()  
{  
    int i;  
    int fno,fsize;  
    if((fp=fopen("student_system.txt","rt"))==NULL)//判断文件是否存在,若存在打开   
    {                                  //否则询问是否继续打开   
        printf("\n库文件不存在!\n");  
        return 0;  
    }  
  
    rewind(fp);                            //使文件内部指针移动到文件的开始位置   
    fno=fileno(fp);              //获取文件描述字                         
    fsize=filelength(fno);      //计算文件大小,以字节为单位   
    num=fsize/sizeof(Node);     //计算文件包含的学生信息数目   
    iend=inew=(STUDENT *)malloc(sizeof(STUDENT));//申请动态空间   
    fread(inew,sizeof(Node),1,fp);   //以Node(结构体)的空间大小读数据   
    for(i=1;i<=num;i++)   //利用for循环创建链表,并把数据储存到其中   
    {  
        if(i==1)          //第一个节点的创建   
        {  
            inew->next=head;  
            inew->last=NULL; //双向链表   
            iend=inew;  
            head=inew;  
        }  
        else  
        {  
            inew->next=NULL;  
            inew->last=iend;  
            iend->next=inew;  
            iend      =inew;  
        }  
        inew=(STUDENT *)malloc(sizeof(STUDENT));  
        fread(inew,sizeof(Node),1,fp);  
    }  
    free(inew);//释放最后一个没有储存数据的节点   
    fclose(fp);//关闭文件   
    return num;  
}  
  
  加入群715383213领取编程资料
 
/****************************输入函数*******************/   
  
STUDENT *pinput()  
{  
    char ch;  
    if(num==0)//判断是否是第一次录入   
    {  
        iend=inew=(STUDENT *)malloc(sizeof(ST

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值