📄 add.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 + -