| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2183 人关注过本帖, 2 人收藏
标题:简单的学生管理系统给大家参考下
只看楼主 加入收藏
烟雨晨曦
Rank: 7Rank: 7Rank: 7
等 级:黑侠
威 望:7
帖 子:150
专家分:599
注 册:2017-3-5
结帖率:100%
收藏(2)
已结贴  问题点数:20 回复次数:4 
简单的学生管理系统给大家参考下
#include<stdio.h>
#include<malloc.h>
#include<string.h>
#include<conio.h>
#include<windows.h>

struct Student
{
     int sNo;
     char sName[20];
     int sAge;
};

struct List
{
   struct Student student;
   struct List* pNext;
};

struct List* pHead = NULL;

//增加学生
void Insert()
{
    struct List* pNew=(struct List*)malloc(sizeof(struct List));
    printf("请输入学生信息(1111 张三 20):");
    scanf("%d %s %d",&pNew->student.sNo,pNew->student.sName,&pNew->student.sAge);
    pNew->pNext=pHead;
    pHead=pNew;
}

//遍历学生信息
void Traversal()
{
       struct List* p=pHead;
     printf("学号  姓名  年龄\n");
     while(p!=NULL)
     {
        printf("%-3d   %4s %3d\n",p->student.sNo,p->student.sName,p->student.sAge);
        p=p->pNext;
     }
     printf("\n");
}

//查找学生信息
void Find()
{
    struct List* p=pHead;
    int sNo;
    printf("请输入要查找的学号:");
    scanf("%d",&sNo);
    while(p!=NULL)
     {
        if(p->student.sNo == sNo)
        {
             printf("%d %s %d\n",p->student.sNo,p->student.sName,p->student.sAge);
             return;
        }
        p=p->pNext;
     }
     printf("找不到要查找的学生\n");
}

//删除学生信息
void Del()
{
    struct List* p=pHead;
    struct List* q=p;
    int sNo;
    printf("请输入要删除学生的学号:");
    scanf("%d",&sNo);
    while(p!=NULL&&p->student.sNo !=sNo  )
    {  
        q=p;
        p=p->pNext;
    }
    if(p!=NULL&&p->student.sNo == sNo  )
    {
        q->pNext=p->pNext;
        if(p == pHead)
        {
            pHead = pHead->pNext;
        }  
        free(p);  
    }
    else
    {
       printf("找不到要删除的学生\n");
    }
}

//修改学生信息
void Update()
{
    struct List* p=pHead;
    int sNo;
    printf("请输入要修改学生的学号:");
    scanf("%d",&sNo);
    while(p!=NULL&&p->student.sNo !=sNo  )
    {
        p=p->pNext;
    }
    if(p!=NULL&&p->student.sNo == sNo  )
    {
        printf("请输入学生信息(1111 张三 20):");
        scanf("%d %s %d",&p->student.sNo,p->student.sName,&p->student.sAge);
    }
    else
    {
       printf("找不到要修改的学生\n");
    }
}

int main()
{   
    bool q = true;
    while(q)
    {
         printf("---------学生管理系统-------\n");
         printf("-------(1)增加学生信息------\n");
         printf("-------(2)删除学生信息------\n");
         printf("-------(3)查找学生信息------\n");
         printf("-------(4)修改学生信息------\n");
         printf("-------(5)显示学生信息------\n");
         printf("------------q退出-----------\n");
         char c=getchar();
         switch(c)
         {
           case '1':
               Insert();
               break;
           case '2':
               Del();
               break;
           case '3':
               Find();
               break;
           case '4':
               Update();
               break;
           case '5':
               Traversal();
               break;
           case 'q':
                   q = false;
               break;
           default:
               break;
         }
         c = getche();
         system("cls");   
    }
     return 0;
}


[此贴子已经被作者于2017-3-15 22:12编辑过]

搜索更多相关主题的帖子: 管理系统 include 信息 
2017-03-15 22:04
afrunk
Rank: 1
等 级:新手上路
帖 子:1
专家分:5
注 册:2017-2-21
收藏
得分:5 
养成注释的好习惯 共勉
2017-03-16 11:53
Alar30
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:10
帖 子:988
专家分:1627
注 册:2009-9-8
收藏
得分:5 
学习了哈。。
2017-03-16 16:25
九转星河
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:长长久久
等 级:贵宾
威 望:52
帖 子:5023
专家分:14003
注 册:2016-10-22
收藏
得分:5 
要加油了~~

[code]/*~个性签名:bug是什么意思?bug是看上去没有可能的东西实际上是有可能做到的 就是这样~2018-08-08更~*/[/code]
2017-03-16 16:30
mnmn4429
Rank: 4
等 级:业余侠客
帖 子:64
专家分:245
注 册:2017-2-21
收藏
得分:5 
玩的挺欢
2017-03-16 17:51
快速回复:简单的学生管理系统给大家参考下
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.015944 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved