• 售前

  • 售后

热门帖子
入门百科

学生信息管理系统(链表&&C语言)

[复制链接]
123457865 显示全部楼层 发表于 2022-1-12 12:05:15 |阅读模式 打印 上一主题 下一主题
目录



1.头文件和预处理

  1. #include <stdio.h>
  2. #include<string.h>
  3. #include<malloc.h>
  4. #include<stdlib.h>
  5. #include<stdbool.h>
  6. #include<iostream>
  7. using namespace std;
  8. #define NO_LENGTH  20
  9. #define NAME_LENGTH 11
复制代码
2.定义学生结构体的数据结构

  1. typedef struct Student{
  2.         char studentNo[NO_LENGTH];
  3.         char studentName[NAME_LENGTH];
  4.         int score;
  5. }st;
复制代码
3.定义每条记录或节点的数据结构

  1. /* 定义每条记录或节点的数据结构 */
  2. typedef struct node
  3. {
  4.         struct Student data; //数据域
  5.         struct node *next; //指针域
  6. }Node,*Link;  //Node为node类型的别名,Link为node类型的指针别名
复制代码
4.函数接口代码.

1.定义提示菜单

  1. //定义提示菜单
  2. void myMenu(){
  3.         printf("*****************************菜单*****************************\n");
  4.         printf("***********************1 增加学生记录*************************\n");
  5.         printf("***********************2 删除学生记录*************************\n");
  6.         printf("***********************3 查找学生记录*************************\n");
  7.         printf("***********************4 修改学生记录*************************\n");
  8.         printf("***********************5 统计学生人数 ************************\n");
  9.         printf("***********************6 显示学生记录*************************\n");
  10.         printf("***********************7 退出系统 ****************************\n");
  11.        
  12. }
复制代码
2.增加学生记录

  1. void inputStudent(Link l){
  2.          printf("请输入学生学号:");
  3.          scanf("%s",l->data.studentNo);
  4.          printf("请输入学生的姓名:");
  5.          scanf("%s",l->data.studentName);
  6.         printf("请输入学生的成绩:");
  7.          scanf("%s",&(l->data.score));
  8.          //每个新创建的节点的next域都初始化为NULL
  9.          l->next = NULL;
  10.          system("cls");
  11. }
复制代码
3.输入学号接口·

  1. void inputStudentNo(char s[],char no[]){
  2.         printf("请输入要%s的学生学号:",s);
  3.         scanf("%s",no);
  4. }
复制代码
4.遍历表中学生

  1. //遍历表中学生
  2. void displayNode(Link head){
  3.         if(head==NULL)
  4.         {
  5.                 printf("学生为空\n");
  6.                 return;
  7.         }
  8.         else
  9.         {
  10.                 Link p=head->next;
  11.                 while(p)
  12.                 {
  13.                         cout<<"姓名:"<<p->data.studentName<<"    学号"<<p->data.studentNo<<"  成绩:"<<p->data.score<<endl;
  14.                         p=p->next;
  15.                 }
  16.                
  17.         }
  18.    // 填写代码,根据传入的链表head头指针,扫描链表显示所有节点的信息
  19.    system("pause");
  20.    system("cls");
  21. }
复制代码
7.查找学生信息

[code]//查找学生信息 bool queryNode(Link head){    // 按照给定的学号查询学生记录,如果查找成功返回true,如果没找到学号返回false    //输入要处理的学号        char no[NO_LENGTH];        inputStudentNo("查找",no);                Link p=head->next;        while(p)        {                if(strcmp(p->data.studentNo,no)==0)                {                                                   system("cls");                           coutdata.score));         //每个新创建的节点的next域都初始化为NULL         l->next = NULL;         system("cls");}void inputStudentNo(char s[],char no[]){
        printf("请输入要%s的学生学号:",s);
        scanf("%s",no);
}//遍历表中学生
void displayNode(Link head){
        if(head==NULL)
        {
                printf("学生为空\n");
                return;
        }
        else
        {
                Link p=head->next;
                while(p)
                {
                        cout<<"姓名:"<<p->data.studentName<<"    学号"<<p->data.studentNo<<"  成绩:"<<p->data.score<<endl;
                        p=p->next;
                }
               
        }
   // 填写代码,根据传入的链表head头指针,扫描链表显示所有节点的信息
   system("pause");
   system("cls");
}//查找学生信息 bool queryNode(Link head){    // 按照给定的学号查询学生记录,如果查找成功返回true,如果没找到学号返回false    //输入要处理的学号        char no[NO_LENGTH];        inputStudentNo("查找",no);                Link p=head->next;        while(p)        {                if(strcmp(p->data.studentNo,no)==0)                {                                                   system("cls");                           cout

帖子地址: 

回复

使用道具 举报

分享
推广
火星云矿 | 预约S19Pro,享500抵1000!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

草根技术分享(草根吧)是全球知名中文IT技术交流平台,创建于2021年,包含原创博客、精品问答、职业培训、技术社区、资源下载等产品服务,提供原创、优质、完整内容的专业IT技术开发社区。
  • 官方手机版

  • 微信公众号

  • 商务合作