基于c语言和数据结构的知识给我一个完整无误的学生通讯录管理系统的程序
时间: 2023-06-07 14:08:55 浏览: 95
C语言学生通讯录管理系统
5星 · 资源好评率100%
好的,下面是一个基于C语言和数据结构的学生通讯录管理系统的程序,请参考:
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#define MAX 100 //定义最大学生人数为100
struct Student {
char name[20]; //学生姓名
char sex[10]; //学生性别
int age; //学生年龄
char phone[20]; //学生联系方式
};
struct Student stu[MAX]; //定义一个结构体数组存储学生信息
int n = 0; //定义全局变量n,表示学生人数
//函数声明
void insert();
void search();
void del();
void show();
void modify();
void menu();
int main()
{
int choice;
while(1) {
menu(); //显示选择菜单
printf("请输入您的选择:");
scanf("%d", &choice);
switch(choice) {
case 1:
insert(); //插入学生信息
break;
case 2:
search(); //查找学生信息
break;
case 3:
del(); //删除学生信息
break;
case 4:
show(); //显示学生信息
break;
case 5:
modify(); //修改学生信息
break;
case 6:
exit(0); //退出程序
default:
printf("请输入正确的选项!\n");
break;
}
}
return 0;
}
//插入学生信息函数
void insert()
{
if(n == MAX) {
printf("容量已满,无法插入!\n");
return;
}
printf("请输入学生信息:\n");
printf("姓名:");
scanf("%s", stu[n].name);
printf("性别:");
scanf("%s", stu[n].sex);
printf("年龄:");
scanf("%d", &stu[n].age);
printf("联系方式:");
scanf("%s", stu[n].phone);
printf("插入成功!\n");
n++;
}
//查找学生信息函数
void search()
{
char name[20];
int i, flag = 0;
if(n == 0) {
printf("没有学生信息!\n");
return;
}
printf("请输入要查找的学生姓名:");
scanf("%s", name);
for(i=0; i<n; i++) {
if(strcmp(stu[i].name, name) == 0) {
printf("姓名:%s 性别:%s 年龄:%d 联系方式:%s\n", stu[i].name, stu[i].sex, stu[i].age, stu[i].phone);
flag = 1;
break;
}
}
if(flag == 0) {
printf("没有找到该学生!\n");
}
}
//删除学生信息函数
void del()
{
char name[20];
int i, flag = 0;
if(n == 0) {
printf("没有学生信息!\n");
return;
}
printf("请输入要删除的学生姓名:");
scanf("%s", name);
for(i=0; i<n; i++) {
if(strcmp(stu[i].name, name) == 0) {
stu[i] = stu[n-1];
n--;
flag = 1;
printf("删除成功!\n");
break;
}
}
if(flag == 0) {
printf("没有找到该学生!\n");
}
}
//显示学生信息函数
void show()
{
int i;
if(n == 0) {
printf("没有学生信息!\n");
return;
}
printf("所有学生信息如下:\n");
for(i=0; i<n; i++) {
printf("姓名:%s 性别:%s 年龄:%d 联系方式:%s\n", stu[i].name, stu[i].sex, stu[i].age, stu[i].phone);
}
}
//修改学生信息函数
void modify()
{
char name[20];
int i, flag = 0;
if(n == 0) {
printf("没有学生信息!\n");
return;
}
printf("请输入要修改的学生姓名:");
scanf("%s", name);
for(i=0; i<n; i++) {
if(strcmp(stu[i].name, name) == 0) {
printf("当前该学生信息如下:\n");
printf("姓名:%s 性别:%s 年龄:%d 联系方式:%s\n", stu[i].name, stu[i].sex, stu[i].age, stu[i].phone);
printf("请输入新的学生信息:\n");
printf("姓名:");
scanf("%s", stu[i].name);
printf("性别:");
scanf("%s", stu[i].sex);
printf("年龄:");
scanf("%d", &stu[i].age);
printf("联系方式:");
scanf("%s", stu[i].phone);
printf("修改成功!\n");
flag = 1;
break;
}
}
if(flag == 0) {
printf("没有找到该学生!\n");
}
}
//选择菜单函数
void menu()
{
printf("\n==========================\n");
printf("学生通讯录管理系统\n");
printf("1、插入学生信息\n");
printf("2、查找学生信息\n");
printf("3、删除学生信息\n");
printf("4、显示学生信息\n");
printf("5、修改学生信息\n");
printf("6、退出程序\n");
printf("==========================\n");
}
阅读全文