国际学校学生学籍管理系统 用C++实现学生信息管理系统
来源:择校网
时间:2026-01-04 13:15:37
本文目录一览:
一个学生学籍信息管理系统VB+SQL的
楼主,先付上报告,如果对你有用的话补充问题再说细节 摘要学生信息管理系统是典型的信息管理系统(MIS),其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。对于前者要求建立起数据一致性和完整性强、数据安全性好的库。而对于后者则要求应用程序功能完备,易使用等特点。经过分析,我们使用MICROSOFT公司的VISUALBASIC开发工具,利用其提供的各种面向对象的开发工具,尤其是数据窗口这一能方便而简洁操纵数据库的智能化对象,首先在短时间内建立系统应用原型,然后,对初始原型系统进行需求迭代,不断修正和改进,直到形成用户满意的可行系统。关键字:控件窗体域VISULBASICACCESS数据库 Abstract Thesystemofmanagingstudentfileisatypicalapplicationofmanaginginformationsystem(knowasMIS),whichmainlyincludesbuildingupdata-baseofback-endanddevelopingtheapplicationinterfaceoffront-end.Theformerrequiredconsistencyandintegralityandsecurityofdata.Thelatershouldmaketheapplicationpowerfulandeasilyused.Bylookinguplotsofdatum,weselectedVisualBasicpresentedbyMicrosoftbecauseofitsobjectivetoolsinWin32.VBofferedaseriesofActiveXoperatingadata-base.Itcangiveyouashort-cuttobuildupaprototypeofsystemapplication.Theprototypecouldbemodifiedanddevelopedtillusersaresatisfiedwithit.Keywords:ActiveXFormFieldVBAccessDataBase目录摘要1Abstract1前言2第一章课题总体介绍31.1课题介绍31.2课题目的及意义31.3主要设计功能4第二章开发方法的选择42.1开发工具的选择42.2WINDOWS下的VISUALBASIC编程环境介绍42.3使用ACCESS2000实现关系型数据库62.4二者的结合(DBA)72.5硬件开发环境8第三章系统分析83.1系统分析的重要性83.2需求分析93.3可行性分析9第四章系统总体规划104.1系统功能104.2系统流程图114.3总结11第五章系统详细设计125.1系统子模块功能概括125.2用户界面的实现125.3数据库的实现245.4系统的特点275.5目前存在的问题及改进意见27第六章系统测试286.1系统测试的分类286.2系统测试工作的特点286.3本章小结29第七章谢辞30第八章结束语31参考文献32前言学生信息管理系统是一个教育单位不可缺少的部分,它的内容对于学校的决策者和管理者来说都至关重要,所以学生信息管理系统设计是以能够为用户提供充足的信息和快捷的查询手段为核心内容的。一直以来人们所使用的传统的人工管理文件信息的方式实在是太落后,它存在着许许多多的缺点,效率低、保密性差的问题尤其突出。另外工作量稍微一大,将会有大量的文件和数据需要维护,有些问题是人工所无法解决的。随着科学技术的不断提高,计算机应用越来越广泛,其强大的功能已为人们所深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。作为计算机应用的一部分,使用计算机对学生信息进行管理,具有着手工管理所无法比拟的优点,检索快捷、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些显而易见的优点能够极大地提高学校管理人员的工作效率,也即提高进行学生信息管理的效率。由于这些原因加之指导老师的睿智指导,选择这样一个《学生信息管理系统》的设计也就成了必然。下面我就谈谈《学生信息管理系统》的开发过程中所遇到的问题及解决方法。用C++实现学生信息管理系统
#include<stdio.h>#include<stdlib.h>
#include<conio.h>
#include<string.h>
struct student{
int id;
char name[10];
int age;
char sex[10];
char birthady[20];
int tel;
char nativeplace[50];
}st[50];
int i=0;
void shuru() {
char a;
do{
printf("\n请输入学号:");
scanf("%d",&st[i].id);
fflush(stdin);
printf("\n请输入姓名:");
gets(st[i].name);
printf("\n") ;
printf("请输入年龄:");
scanf("%d",&st[i].age);
fflush(stdin);
printf("\n请输入姓别:");
gets(st[i].sex);
fflush(stdin);
printf("\n请输入生日:");
gets(st[i].birthady);
printf("\n请输入电话:");
scanf("%d",&st[i].tel);
fflush(stdin);
printf("\n请输入籍贯:");
gets(st[i].nativeplace);
printf("\n是否继续输入另外一个学生信息?(y/n)");
fflush(stdin);
a=getchar();
i++;
}while(a=='y' && i<=50);
}
void xianshi()
{
int j;
printf("\t学号\t姓名\t年龄\t性别\t生日\t\t电话\t籍贯\n");
for(j=0;j<i;j++)
printf("\t%d\t%s\t%d\t%s\t%s\t%d\t%s\n",
st[j].id,st[j].name,st[j].age,st[j].sex,st[j].birthady,st[j].tel,st[j].nativeplace);
}
void paixu() //按年龄从大到小排序函数
{
int j,k;
int temp;
for(j=0;j<i;j++)
{
for(k=0;k<i-1-j;k++)
{
if(st[k].age<st[k+1].age)
{
temp=st[k].age;
st[k].age=st[k+1].age;
st[k+1].age=temp;
}
}
}
xianshi(); //排序后输出
}
void chazhao()
{
int m;
char name[20],b;
do
{
printf("\n请输入想查找的学生姓名:");
fflush(stdin);
gets(name);
for(m=0;m<i;m++)
{
if(strcmp(name,st[m].name)==0)
{
printf("\n\t您查找的学生在第%d个位置找到了!!!\n",m+1);
break;
}
}
if(m>=20)
printf("\n\t没有找到这个学生!!!\n");
else
{
printf("\t学号\t姓名\t年龄\t性别\t生日\t\t电话\t籍贯\n");
printf("\t%d\t%s\t%d\t%s\t%s\t%d\t%s\n",
st[m].id,st[m].name,st[m].age,st[m].sex,st[m].birthady,st[m].tel,st[m].nativeplace);
}
printf("\n是否查找另一个学生的信息?(y/n)");
fflush(stdin);
b=getchar();
}while(b=='y');
}
void shanchu()
{
char name[20],c;
int a,b;
do
{
printf("\n请输入要删除的学生姓名:\n");
fflush(stdin);
gets(name);
for(a=0;a<i;a++)
{
if(strcmp(name,st[a].name)==0)
break;
}
for(b=a;b<i;b++)
st[b]=st[b+1];
if(a>i)
printf("\t没有找到这个学生!!!\n");
else
{
i--;
xianshi();
}
printf("\n是否继续删除另一个学生信息?(y/n) ");
fflush(stdin);
c=getchar();
}while(c=='y');
}
void charu()
{
shuru();
paixu();
}
void main() //主函数
{
int change;
do{
system("cls");
printf("============================学生信息管理系统===================================\n");
printf("\t\t一: 输入学生信息\n");
printf("\t\t二: 显示学生信息\n");
printf("\t\t三: 查找学生信息\n");
printf("\t\t四: 删除学生信息\n");
printf("\t\t五: 插入学生信息\n");
printf("\t\t六: 退出程序\n");
fflush(stdin);
printf("\t\t请输入功能选项:");
scanf("%d",&change);
switch(change)
{
case 1:
shuru(); break;
case 2:
xianshi(); break;
case 3:
chazhao(); break;
case 4:
shanchu(); break;
case 5:
charu(); break;
case 6:
break;
}
getch();
}while(change!=6);
}
另外,团IDC网上有许多产品团购,便宜有口碑
学生信息管理系统C语言编程
#include"stdio.h"#include"stdlib.h"
#include"string.h"
#define N 3
typedef struct z1
{
char no[11];
char name[15];
int score[N];
float sum;
float average;
int order;
struct z1 *next;
}STUDENT;
STUDENT *init();
STUDENT *create();
STUDENT *del(STUDENT *h);
void print(STUDENT *h);
void search1(STUDENT *h);
void search3(STUDENT *h);
STUDENT *insert(STUDENT *h);
void sort(STUDENT *h);
void save(STUDENT *h);
void tongji(STUDENT *h);
int menu_select();
STUDENT *load();
void inputs(char *prompt,char *s,int count);
STUDENT *load();
main()
{
int i;
STUDENT *head;
head=init();
for(;;)
{
switch(menu_select())
{
case 0:head=init();break;
case 1:head=create();break;
case 2:head=insert(head);break;
case 3:save(head);break;
case 4:print(head);break;
case 5:search1(head);break;
case 6:head=del(head);break;
case 7:sort(head);break;
case 8:tongji(head);break;
case 9:search3(head);break;
case 10:exit(0);
}
}
}
int menu_select()
{
char *menu[]={"************菜单************",
"0. 初始化链表",
"1. 输入学生成绩",
"2. 插入学生成绩",
"3. 保存学生记录",
"4. 显示学生记录",
"5. 按学号查找学生信息",
"6. 删除指定学号的学生信息",
"7. 按某一门课对学生成绩排序",
"8. 统计某门课程的学生成绩",
"9. 按姓名查找学生信息",
"10. 退出系统"};
char s[3];
int c,i;
for(i=0;i<=11;i++)
printf(" %s\n",menu[i]);
do
{
printf("\n请选择0~10中的某一个选项\n");
scanf("%s",s);
c=atoi(s);
}while(c<0||c>10);
return c;
}
STUDENT *init()
{
return NULL;
}
STUDENT *create()
{
int i;int s;
STUDENT *h=NULL,*info;
for(;;)
{
info=(STUDENT *)malloc(sizeof(STUDENT));
if(!info)
{
printf("\n内存不足");
return NULL;
}
inputs("输入学号:",info->no,11);
if(info->no[0]=='@')break;
inputs("输入姓名:",info->name,15);
printf("开始输入%d门课的成绩\n",N);
s=0;
for(i=0;i{ do{ printf("第%d门分数:",i+1); scanf("%d",&info->score[i]); if(info->score[i]>100||info->score[i]<0) printf("输入成绩错误,请重新输入:\n"); }while(info->score[i]>100||info->score[i]<0); s=s+info->score[i]; } info->sum=s; info->average=(float)s/N; info->order=0; info->next=h; h=info; } return h; } void inputs(char *prompt,char *s,int count) { char p[255]; do { printf(prompt); scanf("%s",p); if(strlen(p)>count) printf("\n太长了!\n"); }while(strlen(p)>count); strcpy(s,p); } void print(STUDENT *h) { int i=0; STUDENT *p; p=h; printf("\n\n\n***********************学生***********************\n"); printf("|序号|学号 | 姓名 | 语文 | 英语 |数学 | 总分 |平均分 |名次 |\n"); printf("|---|-------|--------|----|----|----|------|------|---|\n"); while(p!=NULL) { i++; printf("|%3d |%-10s|%-8s|%4d|%4d|%4d|%4.2f|%4.2f|%3d|\n",i,p->no,p->name,p->score[0],p->score[1],p->score[2],p->sum,p->average,p->order); p=p->next; } printf("***********************end***********************\n"); } STUDENT *del(STUDENT *h) { STUDENT *p,*q; char s[11]; printf("请输入要删除的学生的学号\n"); scanf("%s",s); q=p=h; while(strcmp(p->no,s)&&p!=NULL) { q=p; p=p->next; } if(p==NULL) printf("\n链表中没有学号为%s的学生\n",s); else { printf("\n\n\n***********************找到了***********************\n"); printf("|学号 | 姓名 | 语文 | 英语 | 数学 | 总分 | 平均分 | 名次 |\n"); printf("|----------|----------|----|----|----|------|------|---|\n"); printf("|%-10s|%-8s|%4d|%4d|%4d|%4.2f|%4.2f|%3d|\n",p->no,p->name,p->score[0],p->score[1],p->score[2],p->sum,p->average,p->order); printf("***********************end***********************\n"); printf("请按任意键删除\n"); getchar(); if(p==h) h=p->next; else q->next=p->next; free(p); printf("\n已经删除学号为%s的学生\n",s); printf("不要忘了保存数据\n"); } return h; } void search1(STUDENT *h) { STUDENT *p; char s[11]; printf("请输入你要查找的同学的学号\n"); scanf("%s",s); p=h; while(strcmp(p->no,s)&&p!=NULL) p=p->next; if(p==NULL) printf("'n没有学号为%s的学生\n",s); else { printf("\n\n\n***********************找到了***********************\n"); printf("|学号 | 姓名 | 语文 | 英语 | 数学 | 总分 | 平均分 | 名次 |\n"); printf("|----------|-----------|----|----|----|------|------|---|\n"); printf("|%-10s|%-8s|%4d|%4d|%4d|%4.2f|%4.2f|%3d|\n",p->no,p->name,p->score[0],p->score[1],p->score[2],p->sum,p->average,p->order); printf("***********************end***********************\n"); } } void search3(STUDENT *h) { STUDENT *p; char s[11]; printf("请输入你要查找的同学的姓名\n"); scanf("%s",s); p=h; while(strcmp(p->name,s)&&p!=NULL) p=p->next; if(p==NULL) printf("\n没有姓名为%s的学生\n",s); else { printf("\n\n\n***********************找到了***********************\n"); printf("|学号 | 姓名 | 语文 | 英语 | 数学 | 总分 | 平均分 | 名次 |\n"); printf("|----------|-----------|----|----|----|------|------|---|\n"); printf("|%-10s|%-8s|%4d|%4d|%4d|%4.2f|%4.2f|%3d|\n",p->no,p->name,p->score[0],p->score[1],p->score[2],p->sum,p->average,p->order); printf("***********************end***********************\n"); } } STUDENT *insert(STUDENT *h) { STUDENT *p,*q,*info; char s[11]; int s1,i; printf("请输入插入点的学生学号\n"); scanf("%s",s); printf("\n请输入新的学生信息\n"); info=(STUDENT *)malloc(sizeof(STUDENT)); if(!info) { printf("\n内存不足!"); return NULL; } inputs("输入学号:",info->no,11); inputs("输入姓名:",info->name,15); printf("请输入%d门课的分数\n",N); s1=0; for(i=0;i { do{ printf("分数%d",i+1); scanf("%d",&info->score[i]); if(info->score[i]>100||info->score[i]<0) printf("输入数据有误,请重新输入\n"); }while(info->score[i]>100||info->score[i]<0); s1=s1+info->score[i]; } info->sum=s1; info->average=(float)s1/N; info->order=0; info->next=NULL; p=h; q=h; while(strcmp(p->no,s)&&p!=NULL) {q=p;p=p->next;} if(p==NULL) if(p==h) h=info; else q->next=info; else if(p==h) { info->next=p; h=info; } else { info->next=p; q->next=info; } printf("\n已经插入了%s这个学生\n",info->name); printf("----不要忘了存盘啊--\n"); return(h); } void save(STUDENT *h) { FILE *fp; STUDENT *p; char outfile[10]; printf("请输入保存文件的文件名,例如 c:\\f1\\te.txt:\n"); scanf("%s",outfile); if((fp=fopen(outfile,"wb"))==NULL) { printf("不能打开文件\n"); exit(1); } printf("\n正在保存......\n"); p=h; while(p!=NULL) { fwrite(p,sizeof(STUDENT),1,fp); p=p->next; } fclose(fp); printf("------保存成功!!!------\n"); } void sort(STUDENT *h) { int i=0,j; STUDENT *p,*q,*t,*h1; printf("请输入要按哪门课程的编号来排序:(0.语文 1.数学 2.英语)\n"); scanf("%d",&j); h1=h->next; h->next=NULL; while(h1!=NULL) { t=h1; h1=h1->next; p=h; q=h; while(t->score[j]score[j]&&p!=NULL) { q=p; p=p->next; } if(p==q) { t->next=p; h=t; } else { t->next=p; q->next=t; } } p=h; while(p!=NULL) { i++; p->order=i; p=p->next; } print(h); printf("排序成功!!!\n"); } void tongji(STUDENT *h) { STUDENT *p; int a,b,i; printf("请输入课程编号\n"); scanf("%d",&i); printf("请输入分数段:\n"); scanf("%d,%d",&a,&b); p=h; while(p!=NULL) { printf("\n\n\n***********************找到了***********************\n"); if(p->score[i]>=a&&p->score[i]<=b) { printf("|学号 | 姓名 | 语文 | 英语 | 数学 | 总分 | 平均分 | 名次 |\n"); printf("|--------|---------|----|----|----|------|------|---|\n"); printf("|%-10s|%-8s|%4d|%4d|%4d|%4.2f|%4.2f|%3d|\n",p->no,p->name,p->score[0],p->score[1],p->score[2],p->sum,p->average,p->order); } p=p->next; } printf("***********************end***********************\n"); }

免责声明:文章内容来自网络,如有侵权请及时联系删除,联系邮箱:3789926014@qq.com






宁波市镇海蛟川双语小学
宁波国际学校
上海中学国际部
铁岭枫树岭国际学校
天津英华国际学校
石家庄康福外国语学校
六力国际学校
河北联邦国际学校国际部
杭州市实验外国语学校