创建一个学生信息管理系统

学生信息管理系统的建立

目的

  • 熟悉C语言程序的编辑、编译链接和运行的过程,至少能够用一种编译器较熟练地编辑、编译及调试程序。
  • 掌握结构体类型变量、数组的定义和使用
  • 掌握文件和文件指针的概念以及文件的定义方法,认识文件打开、关闭、读、写等文件基本操作函数
  • 能用c语言中灵活运用链表

技术

要懂得如何用c语言创建一个文件,代码引用
FILE *fp=fopen("C:/Users/lenovo/Desktop/hml.txt","w");
fputs("abc",fp);
//struct student{
//char name[10];
//int age;
// };
//struct student xw1={"xiaowang",20};
//fwrite(&xw1,sizeof(struct student),1,fp);
类似于这种,首先要在电脑中输入cmd打开命令提升符,然后复制粘贴一个文件路径放到c语言中就可以了,类似上面那样的,要知道‘w“”r““a”等是什么意思,w就是只能写,r是只读,a是从末尾开始写
链表的建立,特别是在结构体当中的使用

具体的实现

首先要建立一个结构体,

typedef struct Node{
    char name[10];
    int _id;
    float score;
    struct Node *next;
} Student;

然后初始化一个头结点,并且要进行动态分配内存。

void inttHeader(student **pHeader){
        student *pTemp=malloc(1*sizeof(student));
        pTemp->next=NUll;
        *pHeader=pTemp;
    }

要有一个进入选择的界面,并进行选择,而且要有一个退出的界面。

void showMenu(void){
    printf("************\n");
    printf("1.查询\n");
    printf("2.删除\n");
    printf("3.更改\n");
    printf("4.插入\n");
    printf("5.退出\n");
    printf("************\n");
}
int getChoice(void){
    int c;
    printf("请选择操作:");
    scanf("%d", &c);
    
    return c;
}
oid MyExit(int status){
    printf("**************\n");
    printf("感谢你的使用再见\n");
    printf("**************\n");
    

要准备一个结构体保存数据,首先我们要插入学生的各种信息

void save(student *pTemp){
    }
    void insert(student *pTemp){
        student *pstu=malloc(1*sizeof(student));
        pstu->next=Null;
        printf("请输入姓名:");
        scanf("%s",pstu->name);
        printf("请输入成绩:");
        scanf("%f",&(pstu->next));
        int count=0;
        while(pTemp->next!=Null){
            pTemp=pTemp->next;
            count++;
        }
        pstu->_id=count+1;
        pTemp->next=pstu;
    }

然后我们就是要查询了

void querry(student *pTemp){
        pTemp=ptemp->next;
        while(pTemp!=Null){
            printf("id:%id\n",pTemp->_id);
            printf("name:%s\n",pTemp->name);
            printf("score:%.1f\n",pTemp->score);
            printf("\n");
            pTemp=pTemp->next;
        }
}

删除和更改也类似,创立两个函数,然后在main函数当中使用就行了

Student *pHeader = NULL;
    
    initHeader(&pHeader);
    
    int choice = 0;
    while(1){
        showMenu();
        
        choice = getChoice();
        
        switch (choice) {
            case 1:
                querry(pHeader);
                break;
            case 2:
                delete(pHeader)
                break;
            case 3:
                change(pHeader)
                break;
            case 4:
                insert(pHeader);
                printf("插入成功!!!\n");
                break;
            default:
                MyExit(EXIT_SUCCESS);
                break;
        }
        
    }
    return 0;

你可能感兴趣的:(创建一个学生信息管理系统)