linux编写学生管理系统
2021/11/3 7:13:15
本文主要是介绍linux编写学生管理系统,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
头文件与宏定义
#include <stdio.h> #include <stdlib.h> #include <string.h> #define MAX 30 //宏定义最大学生人数 //定义全局变量 int num=0; //定义学生编号 int x=0; //定义浏览学生信息的个数
定义学生信息结构体与声明函数
//定义学生信息结构体 typedef struct student { char name[30]; //学生姓名 char sex[10]; //学生性别 int age; //学生年龄 long int number; //学生学号 int record; //学生成绩 }th_note; //声明函数 void add(th_note *a); void delete(th_note *a); void inquire(th_note *a); void amend(th_note *a); void look(th_note *a);
功能函数块
/*------------------------------------------------- 增加学生数据 -------------------------------------------------*/ void add(th_note *a) { printf("============================\n"); printf("请输入你要增加的学生的编号1~%d\n",MAX); scanf("%d",&num); if(num>0 && num<=MAX) //判断是否超出学生的最大人数 { printf("请输入你要增加的学生的姓名\n"); scanf("%s",(a+num)->name); printf("请输入你要增加的学生的性别\n"); scanf("%s",(a+num)->sex); printf("请输入你要增加的学生的年龄\n"); scanf("%d",&(a+num)->age); printf("请输入你要增加的学生的学号\n"); scanf("%ld",&(a+num)->number); printf("请输入你要增加的学生的成绩\n"); scanf("%d",&(a+num)->record); printf("增加的学生数据:\n编号:%d \t名字:%s \t性别:%s \t年龄:%d \t学号:%ld \t成绩:%d \n", num, (a+num)->name, (a+num)->sex, (a+num)->age, (a+num)->number, (a+num)->record ); x++; printf("增加成功\n"); } else printf("增加失败\n"); printf("\n"); }
/*------------------------------------------------- 删除学生数据 -------------------------------------------------*/ void delete(th_note *a) { printf("============================\n"); printf("请输入你要删除的学生的编号1~%d\n",MAX); scanf("%d",&num); if(0<num && num<=MAX) { strcpy((a+num)->name,"0"); strcpy((a+num)->sex,"0"); (a+num)->age='\0'; (a+num)->number='\0'; (a+num)->record='\0'; printf("删除成功!\n"); } else printf("删除失败!\n"); printf("\n"); }
/*------------------------------------------------- 查询学生数据 -------------------------------------------------*/ void inquire(th_note *a) { printf("============================\n"); printf("请输入你要查询的学生的编号1~%d\n",MAX); scanf("%d",&num); if(0<num && num<=MAX) { printf("编号:%d \t名字:%s \t性别:%s \t年龄:%d \t学号:%ld \t成绩:%d \n", num, (a+num)->name, (a+num)->sex, (a+num)->age, (a+num)->number, (a+num)->record ); } else printf("暂无学生信息!\n"); printf("\n"); }
/*------------------------------------------------- 修改学生数据 -------------------------------------------------*/ void amend(th_note *a) { printf("============================\n"); printf("请输入你要修改的学生的编号1~%d\n",MAX); scanf("%d",&num); if(0<num && num<=MAX) { printf("修改学生数据前的学生数据为:\n"); printf("编号:%d \t名字:%s \t性别:%s \t年龄:%d \t学号:%ld \t成绩:%d \n", num, (a+num)->name, (a+num)->sex, (a+num)->age, (a+num)->number, (a+num)->record ); printf("请输入你要修改的学生的姓名\n"); scanf("%s",(a+num)->name); printf("请输入你要修改的学生的性别\n"); scanf("%s",(a+num)->sex); printf("请输入你要修改的学生的年龄\n"); scanf("%d",&(a+num)->age); printf("请输入你要修改的学生的学号\n"); scanf("%ld",&(a+num)->number); printf("请输入你要修改的学生的成绩\n"); scanf("%d",&(a+num)->record); printf("修改学生数据后的学生数据为:\n"); printf("编号:%d \t名字:%s \t性别:%s \t年龄:%d \t学号:%ld \t成绩:%d \n", num, (a+num)->name, (a+num)->sex, (a+num)->age, (a+num)->number, (a+num)->record ); } else printf("暂无学生信息,无法修改!\n"); printf("\n"); }
/*------------------------------------------------- 浏览学生信息 -------------------------------------------------*/ void look(th_note *a) { printf("=============================学生信息==============================\n"); if(x!=0) { for(num=1;num<=x;num++) { printf("编号:%d \t名字:%s \t性别:%s \t年龄:%d \t学号:%ld \t成绩:%d \n", num, (a+num)->name, (a+num)->sex, (a+num)->age, (a+num)->number, (a+num)->record ); } } else printf("无学生信息\n"); printf("\n"); }
主函数
int main(int argc, char const *argv[]) { th_note *a =(struct student*)malloc(sizeof(struct student)*100); //主页面 printf("========学生管理系统========\n"); labe: printf("============================\n"); printf("1.增加学生数据\n2.删除学生数据\n3.查询学生数据\n4.修改学生数据\n5.浏览学生信息\n6.退出\n"); printf("============================\n"); int n; do { printf("请输入你想要的操作\n"); scanf("%d",&n); if (n<=0||n>6) { printf("你输入的数据有误,请重新输入数据!!\n"); goto labe; } switch(n) { case 1: printf("请输入你要增加的学生数据\n"); add(a); break; case 2: printf("请输入你要删除的学生数据\n"); delete(a); break; case 3: printf("请输入你要查询的学生数据\n"); inquire(a); break; case 4: printf("请输入你要修改的学生数据\n"); amend(a); break; case 5: look(a); break; default: printf("你已退出系统\n"); } }while(n<6); free(a); return 0; }
文章转载于https://blog.csdn.net/qq_46422460/article/details/108305441
类似文章推荐https://blog.csdn.net/weixin_40949133/article/details/78628752
https://blog.csdn.net/aiwangtingyun/article/details/79665330
https://blog.csdn.net/qq_21792169/article/details/53366940
这篇关于linux编写学生管理系统的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-12-18git仓库有更新,jenkins 自动触发拉代码怎么配置的?-icode9专业技术文章分享
- 2024-12-18Jenkins webhook 方式怎么配置指定的分支?-icode9专业技术文章分享
- 2024-12-13Linux C++项目实战入门教程
- 2024-12-13Linux C++编程项目实战入门教程
- 2024-12-11Linux部署Scrapy教程:新手入门指南
- 2024-12-11怎么将在本地创建的 Maven 仓库迁移到 Linux 服务器上?-icode9专业技术文章分享
- 2024-12-10Linux常用命令
- 2024-12-06谁看谁服! Linux 创始人对于进程和线程的理解是…
- 2024-12-04操作系统教程:新手入门及初级技巧详解
- 2024-12-04操作系统入门:新手必学指南