用单链表实现学生信息管理系统c语言版本

加粗样式在这里插入图片描述
登陆界面
管理员
管理员操作的功能
在这里插入图片描述
对已经添加的学生记录单链表文件查看``

void Display(connect pCur)//±í¸ñÐÎʽÏÔʾ¼Ç¼
{
    record *p;
    p=pCur->next;
    if(!p)
    {
        printf("\n***************ûÓÐѧÉú±»¼Ç¼***************\n");
        getchar();
        return;
    }
    printf("\n\n");
    Header();
    while(p)
    {
        Output(p);
        p=p->next;
        printf(h3);
    }
    getchar();
}
void Header()
{
    printf(h1);
    printf(h2);
    printf(h3);
}
 
 
void Output(record *pp)
{
    record* p;
    p=pp;
    printf(h4,dataBase);
}
void Unfind()
{
    printf("\n=========>δ²éµ½´ËѧÉúÐÅÏ¢!<==========\n");
}

在这里插入图片描述
信息保存为文件IO文件流操作
在这里插入图片描述
这里是重点插入链表`void Insert(connect pCur)//数据插入
{
connect p,n,newinsert;
char id2[20];
char ch;
int flog=0;
n=pCur->next;
system(“cls”);
Display(pCur);
printf(“输入要插入之前的学号:”);
scanf("%s",id2);
while(pCur)
{

    flog=0;
    n=pCur->next;
    while(n)
    {
        if(strcmp(n->date.id,id2)==0);
        {
            flog=1;
            break;
        }
        n=n->next;


    }
    if(flog==1)
        break;
    else
    {
        getchar();
        printf("学生学号不存在,输入y,Y继续,输入其他结束程序\n");
        scanf("%c",&ch);
        if(ch=='y'||ch=='Y')
        {
            continue;
        }
        else
        {
            return ;
        }
    }
}
printf("输入要插入的学号");
char id3[20];
scanf("%s",id3);
n=pCur->next;
while(n)
{
    if(strcmp(n->date.id,id3)==0)
    {
        printf("此学号已存在");
        Header();
        Output(n);
        printf("\n");
        getchar();
        return ;
    }
    n=n->next;
}
newinsert = (record *)malloc(sizeof(record));
if(newinsert==NULL)
{
    printf("未申请到空间");
    return ;
}
strcpy( newinsert->date.id,id3);
printf("输入学生学号:%s\n",newinsert->date.id);
printf("输入学生姓名:");
scanf("%s",newinsert->date.name);
printf("输入学生c语言成绩:");
scanf("%d",&newinsert->date.cResults);
printf("输入学生英语成绩:");
scanf("%d",&newinsert->date.englishResults);
printf("输入学生高数成绩:");
scanf("%d",&newinsert->date.mathematicsResults);
newinsert->date.total=newinsert->date.cResults+newinsert->date.englishResults+newinsert->date.mathematicsResults;
newinsert->next=NULL;
saveflog=1;
p=pCur->next;
while(pCur)
{
    if(strcmp(p->date.id,id2)==0)
    {
        newinsert->next=p->next;
        p->next=newinsert;
        break;
    }
    p=p->next;
}
system("cls");
Display(pCur);
}

`

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值