C语言使用顺序表实现对学生信息的管理系统
2018-01-29 18:25
1681 查看
C语言使用顺序表实现对学生信息的管理系统
代码功能
1、使用顺序表实现学生名册管理程序,名册中的每条记录包括学号、姓名、联系电话等项。2、实现数字化菜单管理:学生名册的建立、记录的添加、查找、删除和显示等功能。例如:1、添加2、查找 3、删除4、显示 0、退出
#include <stdio.h> #include <stdlib.h> #include <string.h> #define MAX_STR_LEN 20 #define MAX_STUDENT_NUM 10 /*定义Student结构体 参数: id:学号 name:姓名 phone:电话号码 */ typedef struct student{ int id; char name; int phone; }STUDENT; //插入学生信息// int Insert(STUDENT student[],int num); //打印学生信息 void PrintLine(STUDENT student[],int num); //查询学生信息 int Search(STUDENT student[],int student_id); //删除学生信息 int Delete(STUDENT student[],int student_id); int main(){ STUDENT a[MAX_STUDENT_NUM]; STUDENT student; int res,num,student_id; int command; int home="1.Insert student\n2.Del student\n3.Search student\n4.Display all student\n5.exit\n"; while(1){ printf("%s",home); scanf("%d",&command); fflush(stdin); switch(command){ case 1: printf("input the number of student\n"); scanf("%d",&num); fflush(stdin); if(num>MAX_STUDENT_NUM){ printf("Exceeds the maximum\n"); continue; } res=Insert(a,num); if(res==2){ printf("success!\n"); }else{ printf("false!\n"); } break; case 2: printf("input the student id you want to del:\n"); scanf("%d",&student_id); fflush(stdin); res=Search(a,student_id); if(res==-1){ printf("the student is not exist\n"); }else{ Delete(a,res); num=num-1; } break; case 3: printf("input the student number you want to search\n"); scanf("%d",&student_id); fflush(stdin); res=Search(a,student_id); if(res==-1){ printf("the student is not exist\n"); }else{ printf("该学生位于:%d\n",res); } break; case 4: PrintLine(a,num); break; case 5: return 0; default : printf("input error!\n"); break; } } } int Insert(STUDENT student[],int num){ int i; int res; for(i=0;i<=num-1;i++){ printf("input the student id:\n"); res=scanf("%d",&student[i].id); fflush(stdin); if(res==0){ printf("error!input again\n"); res=scanf("%d",&student[i].id); } printf("input the student name:\n"); scanf("%s",&student[i].name); printf("input the student number\n"); scanf("%d",&student[i].phone); fflush(stdin); if(res==0){ printf("error!input again\n"); res=scanf("%d",&student[i].id); } } return 2; } void PrintLine(STUDENT student[],int num){ int i; if(num==0){ printf("the student array is null\n"); }else{ for(i=0;i<num;i++){ printf("学号:%d,名字:%s,电话:%d",student[i].id,&student[i].name,student[i].phone); printf("\n"); } } } int Search(STUDENT student[],int student_id){ int i; for(i=0;i<=MAX_STUDENT_NUM;i++){ if(student[i].id==student_id){ return i+1; } } return -1; } int Delete(STUDENT student[],int student_id){ int j; for(j=student_id;j<=MAX_STUDENT_NUM;j++){ student[j-1].id=student[j].id; student[j-1].name=student[j].name; student[j-1].phone=student[j].phone; } printf("success!\n"); return 1; }
测试截图:
1.Insert功能的检验(参数为:学生人数,学生信息;返回插入结果:success/false)2.Display功能的检验(无参数;返回结果:空数组/打印所有学生信息)
3.Search功能的检验(参数:学生的学号;返回信息:不存在/位置)
4.Del功能的检验(参数:学生的学号;返回信息:succes)
相关文章推荐
- C语言使用链表实现学生信息管理系统
- c语言使用链表编写一个可以实现班级学生管理系统,增加,删除,修改学生信息
- C语言实现 学生信息管理系统
- linux终端版学生信息管理系统【C语言实现】
- C下学生管理系统:从文件中读取30位学生的信息(含邮箱),并实现简单的增、删、查找、统计(邮箱使用人数)。---附程序哦!
- Linux环境下C语言实现简单的基于文件的学生信息管理系统
- C语言实现学生信息管理系统
- C语言实现一个列表式的学生信息管理系统(完善)
- C语言实现一个Window控制台带彩色,且可以用方向键选择并确认的菜单式列表(二) ---学生信息管理系统
- C语言数组实现学生信息管理系统设计
- (一个代码学会c语言操作数据库)linux上通过c语言操作数据库实现基本的学生信息管理系统(增、删、查、改‘显示)
- C语言实现学生信息管理系统(单链表)
- 学生信息管理系统简单模拟(C语言实现)
- 使用python实现一个简单的学生信息管理系统
- C语言学生信息管理系统设计与实现
- linux终端版学生信息管理系统【C语言实现】
- C语言实现学生信息管理系统
- C++链表类的三种使用方法(学生信息管理系统的实现)
- 使用python实现一个简单的学生信息管理系统