学生基本信息管理系统LINUX下.docx

上传人:b****6 文档编号:4325968 上传时间:2022-11-29 格式:DOCX 页数:7 大小:15.50KB
下载 相关 举报
学生基本信息管理系统LINUX下.docx_第1页
第1页 / 共7页
学生基本信息管理系统LINUX下.docx_第2页
第2页 / 共7页
学生基本信息管理系统LINUX下.docx_第3页
第3页 / 共7页
学生基本信息管理系统LINUX下.docx_第4页
第4页 / 共7页
学生基本信息管理系统LINUX下.docx_第5页
第5页 / 共7页
点击查看更多>>
下载资源
资源描述

学生基本信息管理系统LINUX下.docx

《学生基本信息管理系统LINUX下.docx》由会员分享,可在线阅读,更多相关《学生基本信息管理系统LINUX下.docx(7页珍藏版)》请在冰豆网上搜索。

学生基本信息管理系统LINUX下.docx

学生基本信息管理系统LINUX下

 学习并分别使用标准C的文件操作函数和Linux的系统调用创建一个对学生基本信息进行操作(插入、修改和删除)的C程序,学生基本信息以结构体的形式存储在文件

#include

#include

#include

#include

#include

structstu_info{

    charstu_num[12];

    charname[10];

    charsex;/*0为女生,1为男生*/

    charmobile_phone[12];

};

structstu_infostudent;

unsignedintnumber;

structstu_infostu[100];

FILE*in;

FILE*out;

intlen;

voidinputstu();

voidupdatestu();

voiddeletestu();

voiddisplaystu();

voidcommanddisp()

{   printf("-------------------------------------------------\n");

    printf("|-----------学生基本信息管理--------------------|\n");

    printf("|---1.基本信息插入.-----2.基本信息修改----------|\n");

    printf("|---3.基本信息删除.-----4.基本信息显示----------|\n");

    printf("|---r.初始化(第一次使用时用!

慎用)-q.退出---|\n");

    printf("|--------------------请输入你的选择:

-----------|\n");

    printf("-------------------------------------------------\n");

}

voidmain()

{   

commanddisp();

    charch;

    while

(1)

    {

        do{

             ch=getchar();

        }while(ch=='\n');

        if(ch=='q')return;

        switch(ch)

        {

        case'1':

             inputstu();

            break;

        case'2':

             updatestu();

             break;

        case'3':

             deletestu();

             break;

        case'4':

             displaystu();

             break;

        case'r':

             printf("\ninitstudenttable\n");

             if((out=fopen("c.doc","w"))==NULL)return;

             number=0;

             fwrite(&number,sizeof(unsignedint),1,out);

             fflush(out);

             fclose(out);

            break;

        default:

             break;

        }

        printf("pleaseenteranykeytocontinue");

        getchar();

        getchar();

        system("clear");

        commanddisp();

    }

}

voidinputstu()

{

    printf("\n-----------------请输入学生信息----------------------\n"); 

    charp='y';

    while(p=='y'||p=='Y')

    {

        memset(&student,0,sizeof(student));

        printf("学号:

");

        scanf("%s",student.stu_num);

        printf("姓名:

");

        scanf("%s",student.name);

        printf("性别<0是女,1是男>:

");

        do{

             student.sex=getchar();

        }while(student.sex=='\n');      

        printf("手机号:

");

        scanf("%s",student.mobile_phone);

        len=sizeof(structstu_info);

        if((out=fopen("c.doc","r+"))==NULL)return;

        fread(&number,sizeof(unsignedint),1,out);

        number++;

        fseek(out,0L,SEEK_SET);

        fwrite(&number,sizeof(unsignedint),1,out);

        fflush(out);

        fseek(out,0L,SEEK_END);

        fwrite(&student,len,1,out);

        fflush(out);

        fclose(out);

        printf("是否继续输入Y/N\n");

        fflush(stdin);

        do{

             p=getchar();

        }while(p=='\n');

    }

}

voidupdatestu()

{

    printf("\n-------------------学生信息修改-------------------------\n");

    printf("请输入修改学生的学号:

");

    memset(&student,0,sizeof(student));

    scanf("%s",student.stu_num);

    printf("姓名:

");

    scanf("%s",student.name);

    printf("性别<0是女,1是男>:

");

    do{

        student.sex=getchar();

    }while(student.sex=='\n');      

    printf("手机号:

");

    scanf("%s",student.mobile_phone);

    len=sizeof(structstu_info);

    in=fopen("c.doc","r+");

    fread(&number,sizeof(unsignedint),1,in);

    unsignedintj;

    longkk;

    for(j=0;j

    {

        fread(&stu[0],len,1,in);        if(strcmp(student.stu_num,stu[0].stu_num)==0)

        {            kk=len;

             fseek(in,-kk,SEEK_CUR);

             fwrite(&student,len,1,in);

             break;

        }

    }

    fflush(in);

    fclose(in);

    if(j==number)printf("没有这条记录\n");

}

voiddeletestu()

{

    printf("\n-------------------学生信息删除-------------------------\n");   

    in=fopen("c.doc","r");

    fread(&number,sizeof(unsignedint),1,in);

    memset(stu,0,sizeof(stu));

    len=sizeof(structstu_info);

    fread(stu,len,number,in);  

    unsignedinti;

    charf;

    while

(1)

    {

        printf("请输入删除学生的学号:

");

        charstu_num[12];

        memset(stu_num,0,sizeof(stu_num));

        fflush(stdin);

        scanf("%s",stu_num);

        for(i=0;i

                      if(strcmp(stu_num,stu[i].stu_num)==0)break;   

        if(i==number)printf("没有这条记录\n");  

        else

        {

             number--;

            for(;i

             {

                  strcpy(stu[i].stu_num,stu[i+1].stu_num);

                  strcpy(stu[i].name,stu[i+1].name);

                  stu[i].sex=stu[i+1].sex;

                  strcpy(stu[i].mobile_phone,stu[i+1].mobile_phone);

             }

        }

        printf("是否继续删除Y/N\n");

        fflush(stdin);

        do{

             f=getchar();

        }while(f=='\n');

        if(f!

='y'&&f!

='Y')break;

    }

    fclose(in);

    out=fopen("c.doc","w");

    fwrite(&number,sizeof(unsignedint),1,out);

    len=len*number;

    fwrite(stu,len,1,out);

    fflush(out);

    fclose(out);

}

voiddisplaystu()

{   printf("\n------------------------------显示学生信息----------------------------------\n");

    in=fopen("c.doc","r");

    fread(&number,sizeof(unsignedint),1,in);

    memset(stu,0,sizeof(stu));

    len=sizeof(structstu_info);

    fread(stu,len,number,in);

    unsignedinti;

    printf("----------------------------------------------------------------------------\n");

    printf("number \t学号\t姓名\t性别<0是女,1是男>   手机号\n");

    for(i=0;i

        printf("%3d  %12s%10s        %c        %12s\n",i,stu[i].stu_num,stu[i].name,stu[i].sex,stu[i].mobile_phone);

    printf("----------------------------------------------------------------------------\n");

    fclose(in);

}

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 初中教育 > 科学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1