⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 add.cpp

📁 学生信息管理系统的设计与开发主要实现以下功能1.学生基本信息的管理; 2、学生增减; 3、课程管理:课程的增加、修改、删除、查询等; 4、基础数据管理.
💻 CPP
字号:
#include "add.h"

//////////////////////1.添加学生信息////////////////////// 
struct student *addstudentinfo()
{
	while (1)
	{
		temp=(struct student*)malloc(LEN);
		system("cls");
		winaddstudentinfo();
		createid();	         //自动生成学号	
		inputname();         //输入姓名
	//	inputage();

		if (head==NULL)
		{
			head=temp;
			head->pre=NULL;
			head->next=NULL;
			tail=head;
		}
		else
		{
			temp->next=NULL;
			temp->pre=tail;
			tail->next=temp;
			tail=temp;
		}
		getch();
	}
	getch();
	return head;
}

///////////////////////自动生成学号/////////////////
void createid()
{
	temp->sno[0]=*oo;            
	temp->sno[1]=*pp;
	temp->sno[2]=*qq;
	temp->sno[3]='\0';
	printf("%s",temp->sno);	
	qq++;
	if(*qq=='\0')
	{
		qq=no;
		pp++;
	};
	if(*pp=='\0')
	{
		pp=no;
		oo++;
	};
}

//////////////////////输入学生姓名////////////////////////
void inputname()
{
	int i,sign=0,stringlen;
	while(1)
	{	
		goxy(35,8);
		getstring(temp->name,20);
		delleftspace(temp->name);
		delrightspace(temp->name);
		stringlen=strlen(temp->name);
		for (i=0;i<stringlen;i++)     //判断是否有数字
		{
			if (isdigit(temp->name[i]))
			{
				sign=1;
				goxy(2,20);
				printf("Your input is error,please input a string by letter:");
				goxy(2,21);
				printf("Please input any key to continue");
				getch();
				goxy(35,8);
				printf("                     ");
				goxy(2,20);
				printf("                                                    ");
				goxy(2,21);
				printf("                                ");
				break;
			}
		}
		if (sign==1)
		{
			sign=0;
			continue;
		}
		goxy(35,8);
		printf("                     ");
		goxy(35,8);
		printf("%s",temp->name);
		break;
	}
}

//////////////////////输入年龄/////////////////////
//void inputage()
//{
//	;
//}

////////////////////////输入限定个数的字符////////////////////
int getstring(char str[],int lenmax)
{
	int i=0;
	while (1) 
	{
		str[i]=getch();
		if (str[i]=='\r')              //判断回车
		{
			str[i]='\0';
			return i;
		}
		if (str[i]=='\b')              //退格
		{
			if (i==0)
			{
				MessageBeep(-1);
				continue;
			}
			else
			{				
				printf("%c%c%c",'\b',' ','\b');
				i--;
				continue;
			}
		}
		if (i==lenmax)                 //字数满了
		{
			MessageBeep(-1);
			continue;
		}
		if (str[i]<=0)                 //如果是非打印字符
		{
			str[i]=getch();
			continue;
		}
		else                           //如果为打印字符
		{
			putchar(str[i]);
			i++;
			continue;
		}
	}
}

///////////////////////去左空格///////////////////////
void delleftspace(char str[])
{
	int i;
	while (isspace(str[0]))
	{
		for (i=0;str[i]!='\0';i++)
		{
			str[i]=str[i+1];
		}
	}
}

///////////////////////去右空格///////////////////////
void delrightspace(char str[])
{
	int i;
	for (i=0;i<100;i++)
	{
		if (str[i]=='\0')
			break;
	}
	while (str[i-1]==' ')
	{
		str[i-1]=str[i];
		i--;
	}
}

/////////////////////输入单个选项///////////////
void onlyoneinput(int i,int j)       //(i为列,j为行)
{
	while (1) 
	{
		key=getch();
		if (key<=0)                  //如果是非打印字符
		{
			key=getch();
			continue;
		}
		else                         //如果为打印字符
		{
			putchar(key);
			goxy(i,j);
			break;
		}
	}
	while(1)
	{
		ent=getch();
		if (ent<0)                    //如果是非打印字符
		{			
			ent=getch();      
			continue;
		}
		else 
		{
			if (ent=='\r')            //如果ent为回车
				break;
			else
			{				
				key=ent;
				putchar(key);
				goxy(i,j);
			}
		}
	}	
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -