#include <stdio.h>
#include <windows.h>
#include <conio.h>
extern CONSOLE_SCREEN_BUFFER_INFO StdScreen;
extern int Insert;
void GotoXY(int x,int y)//光标移动到坐标(x,y)
{
HANDLE hConsole=GetStdHandle(STD_OUTPUT_HANDLE);
COORD coordScreen={x,y};
SetConsoleCursorPosition(hConsole,coordScreen);
return;
}
void Frame()//界面边框
{
int i,count_line,count_line1;
GotoXY(0,0);
putchar(201);
for(i=1;i<StdScreen.dwSize.X-1;i++)
putchar(205);
putchar(187);
for(i=1;i<StdScreen.dwMaximumWindowSize.Y-2;i++)
{
GotoXY(0,i);
putchar(186);
GotoXY(79,i);
putchar(186);
}
putchar(200);
for(i=1;i<StdScreen.dwSize.X-1;i++)
putchar(205);
putchar(188);
count_line=(StdScreen.dwSize.X-2-strlen("Message"))/2+(StdScreen.dwSize.X-2-strlen("Message"))%2;
count_line1=count_line-(int)(StdScreen.dwSize.X-2-strlen("Message"))%2;
GotoXY(1,StdScreen.dwMaximumWindowSize.Y-7);
for(i=0;i<count_line;i++)
putchar('-');
printf("Message");
for(i=0;i<count_line1;i++)
putchar('-');
}
void title_bar(int len)//标题框,len为框长
{
int count_blank,i;
GotoXY(1,1);
count_blank=(StdScreen.dwSize.X-2-len)/2;
printf("%*s",count_blank," ");
putchar(218);
for(i=0;i<len-2;i++)
putchar(196);
putchar(191);
GotoXY(1,2);
printf("%*s",count_blank," ");
putchar(179);
printf("%*s",len-2," ");
putchar(179);
GotoXY(1,3);
printf("%*s",count_blank," ");
putchar(192);
for(i=0;i<len-2;i++)
putchar(196);
putchar(217);
}
void clear()//清屏
{
int i;
for(i=1;i<StdScreen.dwMaximumWindowSize.Y-7;i++)
{
GotoXY(1,i);
printf("%*s",StdScreen.dwMaximumWindowSize.X-2," ");
}
GotoXY(1,StdScreen.dwMaximumWindowSize.Y-6);
printf("%*s",StdScreen.dwSize.X-2," ");
}
int GetString(char a[],int len)
{
int i,j;
char b;
HANDLE hConsole=GetStdHandle(STD_OUTPUT_HANDLE);
SetConsoleTextAttribute(hConsole,241);
i=0;
while(1)
{
b=getch();
for(j=i;j>0;j--)
putchar('\b');
if(b==8)
{
if(i>0)
{
i--;
for(j=i;j<len-1;j++)
a[j]=a[j+1];
a[j]=32;
}
}
else if(b==9 || b==13)
return 4;
else if(b==-32)
{
b=getch();
if(b==71)
i=0;
else if(b==75)
if(i>0)
i--;
else
return 3;
else if(b==77)
if(i<len-1)
i++;
else
return 4;
else if(b==79)
i=len-1;
else if(b==82)
Insert=!Insert;
else if(b==83)
{
for(j=i;j<len-1;j++)
a[j]=a[j+1];
a[j]=32;
}
else if(b==72)
return 1;
if(b==80)
return 2;
}
else if(b==0)
getch();
else if(b==27)
return 5;
else
{
if(!Insert)
a[i]=b;
else
{
for(j=len-1;j>i;j--)
a[j]=a[j-1];
a[i]=b;
}
if(i<len-1)
i++;
}
for(j=0;j<len;j++)
putchar(a[j]);
for(;j>i;j--)
putchar('\b');
}
}
int judge(char a[])//判断输入是否符合成绩输入的要求
{
if(a[0]==32)
{
if(a[1]==32)
{
if(a[2]==32)
{
if(a[3]<='9' && a[3]>='0')
return 1;
else
return 0;
}
else if(a[2]<='9' && a[2]>='0')
{
if((a[3]<='9' && a[3]>='0') || a[3]==32)
return 1;
else
return 0;
}
else
return 0;
}
else if(a[1]<='9' && a[1]>='0')
{
if(a[2]==32)
{
if(a[3]==32)
return 1;
else
return 0;
}
else if(a[2]<='9' && a[2]>='0')
{
if(a[3]==32)
return 1;
else if(a[1]=='0' && a[3]<='9' && a[3]>='0')
return 1;
else if(a[1]=='1' && a[2]=='0' && a[3]=='0')
return 1;
else
return 0;
}
else if(a[2]==46)
{
if(a[3]=='0' || a[3]=='5')
return 1;
else
return 0;
}
}
else
return 0;
}
else if(a[0]<='9' && a[0]>='0')
{
if(a[1]==32)
{
if(a[2]==32)
{
if(a[3]==32)
return 1;
else
return 0;
}
else
return 0;
}
else if(a[1]<='9' && a[1]>='0')
{
if(a[2]==32)
{
if(a[3]==32)
return 1;
else
return 0;
}
else if(a[2]==46)
{
if(a[3]=='0' || a[3]=='5')
return 1;
else
return 0;
}
else if(a[0]=='0' && a[2]<='9' && a[2]>='0')
{
if(a[3]==32)
return 1;
else if(a[1]=='0' && a[3]<='9' && a[3]>='0')
return 1;
else if(a[1]=='1' && a[2]=='0' && a[3]=='0')
return 1;
else
return 0;
}
else if(a[0]=='1' && a[1]=='0' && a[2]=='0' && a[3]==32)
return 1;
else
return 0;
}
else if(a[1]==46)
{
if((a[2]=='0' || a[2]=='5') && a[3]==32)
return 1;
else
return 0;
}
else
return 0;
}
return 0;
}
int kind(char a[])//判断成绩输入的不合法种类,1为非数字,0为不正确的数字
{
int i;
for(i=0;i<4;i++)
if(!(isdigit(a[i])) && a[i]!=46 && a[i]!=32)
return 1;
return 0;
}
double atolf(char a[])
{
double sum=0;
int i,j,tem;
for(i=1;i<3;i++)
if(a[i]==46)
break;
if(i==3)
{
for(j=3;j>=0;j--)
if(isdigit(a[j]))
break;
for(tem=1;j>=0 && isdigit(a[j]);j--,tem*=10)
sum+=(a[j]-48)*tem;
}
else
{
for(j=i-1,tem=1;j>=0 && isdigit(a[j]);j--,tem*=10)
sum+=(a[j]-48)*tem;
sum+=(a[i+1]-48)*0.1;
}
return sum;
}
char *inttoa(int a,char b[])
{
b[0]=a/100+48;
b[1]=a%100/10+48;
b[2]=a%10+48;
return b;
}
没有合适的资源?快使用搜索试试~ 我知道了~
C++ 学生信息管理系统.rar
共47个文件
obj:12个
c:10个
sbr:9个
需积分: 0 45 下载量 201 浏览量
2008-10-23
23:39:35
上传
评论
收藏 237KB RAR 举报
温馨提示
C++版, 学生信息管理系统,欢迎下载。
资源详情
资源评论
资源推荐
收起资源包目录
.rar (47个子文件)
学生信息管理系统
main_menu.h 17B
search1.h 15B
add_one_student.c 1KB
login1.h 14B
login1.c 978B
add_one_student.h 56B
学生信息管理系统.opt 56KB
tool.c 5KB
exit_main.c 3KB
sort1.h 13B
学生信息管理系统.dsp 5KB
学生信息管理系统.ncb 129KB
GotoXY.c 208B
add_info.c 5KB
Debug
add_one_student.obj 3KB
main_menu.obj 16KB
vc60.pdb 68KB
search1.obj 13KB
main_menu.sbr 0B
add_info.obj 20KB
学生信息管理系统.obj 17KB
学生信息管理系统.pdb 617KB
exit_main.sbr 0B
search1.sbr 0B
学生信息管理系统.sbr 0B
tool.obj 23KB
add_info.sbr 0B
exit_main.obj 15KB
sort1.obj 15KB
学生信息管理系统.exe 220KB
Frame.sbr 0B
login.obj 9KB
GotoXY.obj 10KB
login1.sbr 0B
Frame.obj 13KB
sort1.sbr 0B
GotoXY.sbr 0B
login1.obj 12KB
学生信息管理系统.dsw 557B
search1.c 2KB
GotoXY.h 25B
sort1.c 2KB
main_menu.c 3KB
学生信息管理系统.c 1KB
exit_main.h 17B
学生信息管理系统.plg 1KB
tool.h 422B
共 47 条
- 1
vincevincevincevince
- 粉丝: 18
- 资源: 25
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0