孩子的C语言作业希望有大佬帮帮孩子!

完成学生学籍管理系统,实现以下功能。 (1)增加数据。用户可以输入多个学生的学籍信息。 (2)更新数据。用户可以通过输入学号对数据进行修改。。(3)查询数据。用户可以通过输入学号查询学生信息。“(4)删除数据。可以删除指定学号的学生学籍信息。.(5)显示数据。可以显示所有未删除的学生信息。”

请问你写过多少程序?自己能把思路写出来?

参考代码如下:

#include <stdio.h>
#include <map>
#include <string>
using namespace std;
int main()
{
	map<string,string> mapStudents;  //存储所有学生
	map<string,string>::iterator it = mapStudents.begin(); 
	while(true)
	{
		printf("1.增加学生\n");
		printf("2.更新学生信息\n");
		printf("3.显示某学生信息\n");
		printf("4.删除学生\n");
		printf("5.显示全部学生信息\n");
		printf("0.退出系统\n");
		printf("请输入您的操作:\n");
		int cmd ;
		scanf("%d",&cmd);

		char xh[20] ={0};    //学号
		char name[20] = {0}; //姓名
		switch(cmd)
		{
		case 0:
			return 0;
		case 1:
			while(true)
			{
				printf("请输入学生学号和姓名:");
				scanf("%s %s",xh,name);
				//查询学号是否已经存在
				it = mapStudents.find(xh);
				if (it == mapStudents.end())
				{
					mapStudents.insert(pair<string,string>(xh,name));
					break;
				}else
					printf("您输入的学号已存在,请重新输入\n");
			}
			break;
		case 2:
			while(true)
			{
				printf("请输入学生学号:");
				scanf("%s",xh);
				//查询学号是否已经存在
				it = mapStudents.find(xh);
				if (it == mapStudents.end())
				{
					printf("您输入的学号不存在,请重新输入\n");
				}else
				{
					printf("请输入修改后的姓名\n");
					scanf("%s",name);
					mapStudents.erase(it);
					mapStudents.insert(pair<string,string>(xh,name));
					break;
				}
			}
			break;
		case 3:
			while(true)
			{
				printf("请输入学生学号:");
				scanf("%s",xh);
				//查询学号是否已经存在
				it = mapStudents.find(xh);
				if (it == mapStudents.end())
				{
					printf("您输入的学号不存在,请重新输入\n");
				}else
				{
					printf("学生姓名:%s\n",it->second.c_str());
					break;
				}
			}
			break;
		case 4:
			while(true)
			{
				printf("请输入学生学号:");
				scanf("%s",xh);
				//查询学号是否已经存在
				it = mapStudents.find(xh);
				if (it == mapStudents.end())
				{
					printf("您输入的学号不存在,请重新输入\n");
				}else
				{	
					mapStudents.erase(it);
					break;
				}
			}
			break;
		case 5:
			if (mapStudents.size() == 0)
			{
				printf("当前系统内没有学生信息\n");
				
			}else
			{
				for (it = mapStudents.begin(); it != mapStudents.end(); it++)
				{
					printf("  >>%s  %s\n",it->first.c_str(),it->second.c_str());
				}
			}
			
			break;
		default:
			break;

		}

	}
	return 0;
}