学生信息管理系统增删改查c语言
时间: 2023-12-25 11:29:28 浏览: 116
以下是一个简单的学生信息管理系统的C语言示例,包括增加、删除、修改和查询功能:
1. 添加学生信息:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
typedef struct student {
char name[20];
char id[20];
int age;
struct student *next;
} stu;
void Add(stu **head) {
stu *newStu = (stu *)malloc(sizeof(stu));
printf("请输入学生的姓名:\n");
scanf("%s", newStu->name);
printf("请输入学生的学号:\n");
scanf("%s", newStu->id);
printf("请输入学生的年龄:\n");
scanf("%d", &(newStu->age));
newStu->next = NULL;
if (*head == NULL) {
*head = newStu;
} else {
stu *temp = *head;
while (temp->next != NULL) {
temp = temp->next;
}
temp->next = newStu;
}
printf("添加成功!\n");
system("pause");
}
int main() {
stu *head = NULL;
Add(&head);
return 0;
}
```
2. 删除学生信息:
```c
void Delete(stu **head) {
char n[20];
printf("请输入要删除的学生的学号:\n");
scanf("%s", n);
stu *p = *head;
stu *p1 = p->next;
while (p1 != NULL) {
while (strcmp(p1->id, n) == 0) {
p->next = p1->next;
free(p1);
printf("删除成功!\n");
system("pause");
return;
}
p = p1;
p1 = p->next;
}
if (p1 == NULL || strcmp(n, p1->id) != 0) {
printf("没有该学生!\n");
system("pause");
}
}
```
3. 修改学生信息:
```c
void Modify(stu *head) {
char n[20];
printf("请输入要修改的学生的学号:\n");
scanf("%s", n);
stu *p = head;
while (p != NULL) {
if (strcmp(p->id, n) == 0) {
printf("请输入学生的新姓名:\n");
scanf("%s", p->name);
printf("请输入学生的新年龄:\n");
scanf("%d", &(p->age));
printf("修改成功!\n");
system("pause");
return;
}
p = p->next;
}
printf("没有该学生!\n");
system("pause");
}
```
4. 查询学生信息:
```c
void Search(stu *head) {
char n[20];
printf("请输入要查询的学生的学号:\n");
scanf("%s", n);
stu *p = head;
while (p != NULL) {
if (strcmp(p->id, n) == 0) {
printf("学生姓名:%s\n", p->name);
printf("学生学号:%s\n", p->id);
printf("学生年龄:%d\n", p->age);
system("pause");
return;
}
p = p->next;
}
printf("没有该学生!\n");
system("pause");
}
```
阅读全文