#include <stdio.h>
#include <stdlib.h>
#include <windows.h>
void ShowMenu() {
printf("***学生信息管理系统***\n");
printf("1.添加学生\n");
printf("2.删除学生\n");
printf("3.查找学生信息\n");
printf("4.修改学生信息\n");
printf("5.退出管理系统\n");
}
void AddStudent(int a[][30]){
int j = 0,k = 0;
printf("请输入要添加的学生姓名:\n");
for (int i = j; i < 30; i++){
scanf("%s",&a[0][i]);
j=j+1;
break;
}
printf("请输入要添加的学生学号:\n");
for (int i = k; i < 30; i++){
scanf("%s",&a[1][i]);
k=k+1;
break;
}
printf("添加成功!\n");
}
void DeleteStudent(int a[][30]){
int b;
printf("请输入删除学生姓名:\n");
scanf("%s",&b);
for (int i = 0;i < 30;i++){
if(b == a[0][i]){
a[0][i]=0;
a[1][i]=0;
printf("删除成功!\n");
break;
}else{
printf("没有找到相关学生信息!\n");
break;
}
}
}
void FindStudent(int a[][30]){
int c;
printf("请输入你想要查找的学生姓名:\n");
scanf("%s",&c);
for (int i = 0;i < 30;i++){
if(c == a[0][i]){
printf("学生姓名: %s ,学生学号 %s \n",&a[0][i],&a[1][i]);
break;
}else{
printf("抱歉,没有找到该学生!\n");
break;
}
}
}
void UpdateStudent(int a[][30]){
int d;
printf("请输入你想要修改的学生的姓名:\n");
scanf("%s",&d);
for (int i = 0;i < 30;i++){
if(d == a[0][i]){
printf("学生姓名: %s ,学生学号 %s \n",&a[0][i],&a[1][i]);
printf("请输入你想要修改的学生姓名:\n");
scanf("%s",&a[0][i]);
printf("请输入你想要修改的学生学号:\n");
scanf("%s",&a[1][i]);
printf("修改成功!");
}
}
}
int main(){
int a[2][30];
int j = 0,k = 0;
int flag = 1;
while (flag == 1) {
ShowMenu();
char key;
printf("@@请输入操作号码>");
scanf("%c", &key);
switch (key) {
case '1':
AddStudent(a);
break;
case '2':
DeleteStudent(a);
break;
case '3':
FindStudent(a);
break;
case '4':
UpdateStudent(a);
break;
case '5':
flag = 0;
system("cls");//调用系统命令cls完成清屏操作。
printf("谢谢使用!\n");
break;
default:
break;
}
system("pause");//system("PAUSE") 是暂停的意思,等待用户信号
system("cls");//调用系统命令cls完成清屏操作。
fflush(stdin);//清空输入缓冲区
}
return 0;
}
思路:对数组进行各种操作。
结果