學籍管理系統課程設計
Ⅰ 大一課程設計 學生學籍管理系統(C語言)
http://www.docin.com/p-110271548.html
C語言編寫的學生信息管理系統的設計與實現,不知道是不是你要的。
Ⅱ C語言課程設計,設計一個小型學籍管理系統
我以前小學期做過這種東西 那會兒做的時候確實挺煩的 說實話 除非你去版淘寶買一個 否則百權度知道里沒什麼人能從頭到尾幫助你 更別想幫你做一個了 因為網上幾乎不可能找到一個功能與你們的要求完全一樣的。這種東西無非是模擬幾個功能,一般就靠文件操作實現簡單的信息記錄讀取功能。趕緊自己開始做啦,要問問題的話等你編的時候遇到麻煩時再提吧 如果需要幫忙可以把實驗指導書之類的東西拿來看看
Ⅲ 求一份C++的課程設計(學籍管理系統)
一下是我大一的時候的作業!
#include<iostream>
#include<fstream>
#include <windows.h>
#include<string>
#include <time.h>
#include<cstdlib>
#include<iomanip>
using namespace std;
int n=0;
#define M cout<<
#define N ;Sleep(80);
#define Y N M
#define NN cout<<"╭—————————————————————————————————————————————╮"<<endl;cout<<"∣ num ∣ name∣ age ∣ hig ∣ 語文 ∣ 數學 ∣ 英語 ∣ 平均 ∣ 總分 ∣ 評語 ∣ "<<endl;cout<<"├———-┼———-┼———┼———┼———-┼———-┼———-┼—————┼————┼———-┤"<<endl;cout<<"∣"<<setw(6)<<p1->num<<setw(3)<<"∣"<<setw(7)<<p1->name<<setw(2)<<"∣"<<setw(4)<<p1->age<<setw(4)<<"∣"<<setw(4)<<p1->hig<<setw(4)<<"∣"<<setw(5)<<p1->score[0]<<setw(4)<<"∣"<<setw(5)<<p1->score[1]<<setw(4)<<"∣"<<setw(5)<<p1->score[2]<<setw(4)<<"∣"<<setw(8)<<setprecision(3)<<p1->ave<<setw(4)<<"∣"<<setw(6)<<p1->sum<<setw(4)<<"∣"<<setw(7)<<p1->p_y<<setw(2)<<"∣"<<endl;cout<<"  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ "<<endl;
////////////////////////////////////////////////////////////////////////////////////////////
////
////////////////////////////////////////////////////////////////////////////////////////////
class ji_ke_1_class
{
int num;
char name[20];
int age;
float hig;
int score[3];
float ave;
float sum;
char p_y[10];
public:
void set_date();
void display();
void creat();
void print();
void insert();
void exchange(ji_ke_1_class *p1,ji_ke_1_class *p2);
void sort(int j);
void index(int q,char aa[20]);
void del(int num);
void save();
void tongji();
void load();
class ji_ke_1_class *next;
};
ji_ke_1_class *head,*p1,*p2,*p;
void ji_ke_1_class::set_date ()
{
cout<<"學號_姓名_年齡_身高_"<<endl;
cin>>num>>name>>age>>hig;
cout<<"-----分數::語文_數學_英語_"<<endl<<" ";
for(int i=0;i<3;i++)
cin>>score[i] ;
}
void ji_ke_1_class::display()
{
ji_ke_1_class *p;
int i;
for( p=head , i=0 ; i<n ; i++ , p=p->next )
cout<<"∣"
<<setw(6)<<p->num
<<setw(3)<<"∣"
<<setw(7)<<p->name
<<setw(2)<<"∣"
<<setw(4)<<p->age
<<setw(4)<<"∣"
<<setw(4)<<p->hig
<<setw(4)<<"∣"
<<setw(5)<<p->score[0]
<<setw(4)<<"∣"
<<setw(5)<<p->score[1]
<<setw(4)<<"∣"
<<setw(5)<<p->score[2]
<<setw(4)<<"∣"
<<setw(8)<<setprecision(3)<<p->ave
<<setw(4)<<"∣"
<<setw(6)<<p->sum
<<setw(4)<<"∣"
<<setw(7)<<p->p_y
<<setw(2)<<"∣"
<<endl;
}
void ji_ke_1_class::print()
{
ji_ke_1_class *p0=head;
cout<<"╭—————————————————————————————————————————————╮"<<endl;
cout<<"∣ num ∣ name∣ age ∣ hig ∣ 語文 ∣ 數學 ∣ 英語 ∣ 平均 ∣ 總分 ∣ 評語 ∣ "<<endl;
cout<<"├———-┼———-┼———┼———┼———-┼———-┼———-┼—————┼————┼———-┤"<<endl;
p0->display();
cout<<"  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ "<<endl;
}
void ji_ke_1_class::creat()
{
int m=0;
float total=0;
head=p2=p1=new ji_ke_1_class;
p1->set_date();
while(p1->num!=0)
{
n=n+1;
if(n==1)
head=p1;
else
p2->next=p1;
p2=p1;
p1=new ji_ke_1_class;
p1->set_date ();
}
p2->next=0;
ji_ke_1_class *p=new ji_ke_1_class;
for(p=head ; m<n ; p=p->next )
{
total=total+p->score[0]+p->score[1]+p->score[2];
p->sum=total;
p->ave=total/3;
cout<<p->sum<<"--------__"<<p->ave<<endl;
if(p->ave>85) strcpy( p->p_y , "優秀" );
else if(p->ave>75) strcpy( p->p_y , "中等" );
else if(p->ave>60) strcpy( p->p_y , "及格" );
else strcpy( p->p_y , "不及格" );
total=0;
m+=1;
}
}
template<typename T1>
void exchang1(T1 &a,T1 &b)
{
int t;
t=a;
a=b;
b=t;
}
template<typename T2>
void exchang2(T2 &a,T2 &b)
{
float t;
t=a;
a=b;
b=t;
}
void ji_ke_1_class::exchange(ji_ke_1_class *p1,ji_ke_1_class *p2)
{
char t2[30],t1[10];
exchang1(p1->num,p2->num);
exchang1(p1->score[1],p2->score[1]);
exchang1(p1->score[0],p2->score[0]);
exchang1(p1->score[2],p2->score[2]);
exchang2(p1->hig,p2->hig);
exchang2(p1->ave,p2->ave);
exchang2(p1->sum,p2->sum);
strcpy(t2,p1->name);
strcpy(p1->name,p2->name);
strcpy(p2->name,t2);
strcpy(t1,p1->p_y );
strcpy(p1->p_y ,p2->p_y );
strcpy(p2->p_y ,t1);
}
void ji_ke_1_class::sort(int j)
{
ji_ke_1_class *p1,*p2;
int m,t;
cout<<endl;
for(p1=head , m=0 ; m<n-1 ; m++ , p1=p1->next)
for(p2=p1->next,t=m+1 ; t<n ; t++ , p2=p2->next)
{
if( (p1->num) > (p2->num) && j==1 ) exchange(p1,p2);
if( (p1->sum) < (p2->sum) && j==2 ) exchange(p1,p2);
}
print();
cout<<endl;
}
void ji_ke_1_class::del(int num)
{
ji_ke_1_class *p1,*p2;
if(head==0)
{
cout<<"\nlist null!\n";
goto end1;
}
p1=head;
while(num!=p1->num && p1->next!=0)
{
p2=p1;
p1=p1->next;
}
if(num==p1->num)
{
if(p1==head) head=p1->next;
else p2->next=p1->next;
cout<<"\n"<<"恭喜你--deleted the:"<<num<<endl<<endl;
n=n-1;
}
else cout<<num<<"抱歉--好像沒有這個數吧!!\n"<<"\n\n";
end1: ;
}
void ji_ke_1_class::insert()
{
float total;
ji_ke_1_class *pt=new ji_ke_1_class;
ji_ke_1_class *p0,*p1,*p2;
pt=new ji_ke_1_class;
pt->set_date();
total=0;
int i;
for(i=0;i<3;i++)
total+=pt->score[i];
pt->sum=total;
pt->ave=total/3;
if(pt->ave>85) strcpy( pt->p_y , "優秀" );
else if(pt->ave>75) strcpy( pt->p_y , "中等" );
else if(pt->ave>60) strcpy( pt->p_y , "及格" );
else strcpy( pt->p_y , "不及格" );
p1=head;
p0=pt;
if(head==0)
{
head=p0;
p0->next=0;
}
else
{
while( (p0->num>p1->num)&&(p1->next!=0))
{
p2=p1;
p1=p1->next;
}
if(p0->num<=p1->num)
{
if(head==p1) head=p0;
else p2->next=p0;
p0->next=p1;
}
else
{
p1->next=p0;
p0->next=0;
}
}
n=n+1;
}
void ji_ke_1_class::index(int q,char aa[20])
{
ji_ke_1_class *p1=head;
int m=0,j=0;
int len,flag=1;
int a[4];
for( m=0 ; m<n ; p1=p1->next , m++ )
{
a[0]=0;a[1]=0;a[2]=0;a[3]=0;
flag=1;
a[0]=(int)( (p1->num)/1000 ); a[1]=(int)( (p1->num-a[0]*1000 )/100 );
a[2]=(int)( (p1->num-a[1]*100-a[0]*1000 )/10 ); a[3]=(int)( p1->num-a[1]*100-a[0]*1000-a[2]*10 );
for(int i=19 ; i>=0 ; i--)
{
if(aa[i]!=0)
len=i+1;
}
int m[4],k=0,y=0,x=0,d=0;
for(k=0;k<4;k++)
{
d=0;
y=(int)aa[k];
for(x=48;x<=57;x++)
{
d++;
if(x==y) m[k]=(d-1);
}
}
for(j=0 ; j<4 ; j++ )
{
if( a[j]!=m[j] )
flag=0;
}
if( flag==1 && q==1 )
{
NN
break;
}
if( p1->name[0]==aa[0] && p1->name[1]==aa[1] && p1->name[2]==aa[2] && q==2 )
{
NN
break;
}
}
if( m==n ) cout<<"no the student"<<endl;
}
int x[20];
string filename;
void ji_ke_1_class::save()
{
int d,d1=0;
int ii;
cout<<endl<<"請輸入存儲路徑(建議存入當前文件中的data_save中)(例 ---絕對路徑:C:\\\\文件名\\\\文件名\\\\數據名.dat \n "
<<" ---相對路徑:save\\\\數據名.dat; )"
<<endl
<<"路徑為:";
string cc;
cin>>cc;
cout<<" ╭——————————————╮"<<endl<<"正在保存 ";
for(ii=0;ii<15;ii++)
{
cout<<'\20';
Sleep(15);
}
ifstream file1("程序必用1.dat",ios::binary);
file1.read( (char *)&d , sizeof(d) );
d1=(int)d+1;
file1.close();
string filename0,name_file;
filename0=cc;
name_file=filename0.c_str();
ofstream file2("程序必用1.dat",ios::binary);
file2.write( (char *)&d1 , sizeof(d1) );
file2.close();
ofstream file3("程序必用2.dat", ios::app|ios::out );
file3<<name_file.c_str ()<<" ";
file3.close();
ofstream outfile(cc.c_str(),ios::binary);
if(!outfile)
{
cerr<<"!!!!!"<<endl;
abort();
}
outfile.write( (char *)&n , sizeof(n) );
ji_ke_1_class *p=head;
for(int i=0;i<n;i++,p=p->next)
outfile.write( (char *)p,sizeof(ji_ke_1_class));
outfile.close();
for(ii=0;ii<15;ii++)
{
cout<<'\20';
Sleep(15);
}
cout<<endl<<endl;
cout<<"-----已成功保存!!!!!!"<<endl<<endl;
}
void ji_ke_1_class::load()
{
int h1,h2;
string qq,name[20],name0[20];
ifstream file("程序必用1.dat",ios::binary);
if(!file)
{
cerr<<"open error!!"<<endl;
abort();
}
file.read( (char *)&h1, sizeof(h1) );
h2=int(h1);
cout<<"共有以下 "<<h2<<" 個文件"<<endl;
ifstream file0("程序必用2.dat",ios::in);
if(!file0)
{
cerr<<"open error!!"<<endl;
abort();
}
for(int e=0;e<h2;e++)
{
if(e%2==0) cout<<endl;
file0>>name[e];
name0[e]=name[e];
cout<<"第"<<e+1<<"個文件:"<<setw(16)<<(string)name0[e]<<" ; ";
}
file0.close();
cout<<endl;
loop3:
cout<<endl<<"請輸入路徑(例 ---絕對路徑:C:\\\\文件名\\\\文件名\\\\數據名.dat ---相對路徑:save\\\\數據名.dat;)"<<endl ;
cout<<"路徑為:";
string ccc;
cin>>ccc;
cout<<" ╭——————————————╮"<<endl<<"正在讀取 ";
int ii;
for(ii=0;ii<15;ii++)
{
cout<<'\20';
Sleep(15);
}
ifstream infile(ccc.c_str(),ios::binary);
int c;
ji_ke_1_class t[60],*pp[60];
if(!infile)
{
cout<<endl<<"無此文件; 1---重輸 ; other---放棄";
cin>>c;
if(c==1) goto loop3;
else goto loop4;
}
int nn,nnn;
int i;
infile.read( (char *)&nn , sizeof(nn) );
nnn=(int)nn;
n=nnn;
infile.read( (char *)&t[0] , sizeof(ji_ke_1_class) );
head=(ji_ke_1_class *)&t[0];
for(i=1; i<nnn; i++)
{
Ⅳ :Java課程設計 學生學籍管理系統 要求eclipse運行
其實也就是資料庫的增刪改查
首先建兩張表 一個是用戶表 一個是學生表
根據表的字專段在entity包下建兩個實體屬類 兩張表對應兩個實體類
如果使用mybatis的話可以在包下寫介面
增 改 傳實體類對象 刪 和 按ID查詢 傳int 查全部不用傳參數 條件查詢最好傳Map
然後在service包下定義所有需要用到的介面 在建個子包裡面去實現介面 在controllor層就用介面new實現類
上面的代碼會有冗餘的部分 可以把那部分封裝成一個utils
不同的view層用不同的controllor 至此Model層就寫完了
如果view層是jsp的話 controllor可以用struts2 jsp請求到struts2的action action根據不同的請求調用不同的service 再由service調用操作資料庫;
這就是MVC
Ⅳ SQL學生學籍管理信息系統,課程設計!急!!!
3、表關系說明樣例如下:
表名
欄位名 數據類型 含義說明 約束情況
jsbh Char(6) 教師編號 主關鍵字
rkjsxm Char(12) 任課老師的姓名 不為空
jszc Char(10) 教師職稱 可為空
……. …… ……
《學生學籍管理信息系統》功能需求參考
1、 按系匯總各專業各年級的學生總數及其中的男、女生數,並統計全校總人數。
要求:當任意輸入系部名稱、專業名稱和年級均可返回相應信息。
2、 按系匯總各年齡段的學生人數及其中的男、女生數。
要求:當任意輸入系部名稱、年齡時,均可返回相應信息。
3、 按系統計各地區的學生人數。
要求:當任意輸入系部名稱、地區名稱時,均可返回相應學生人數。
4、 按任一學期(用戶輸入)統計學生變更數據(如:復學、休學、退學、開除、轉入、轉出、畢業、肄業等)。
5、 按系統計學生中的黨員、團員人數。
要求:當任意輸入系部名稱時,均可返回該系的學生黨員和團員人數。
6、 按系統計各民族的學生人數。
要求:當任意輸入系部名稱、民族時,均可返回相應信息。
7、 統計各門課程的成績分布情況:
其中:
1) (90-100、80-90、70-80、60-70、0-59)的人數及各自占實際考試人數的百分比數。
2) 統計缺考人數。
3) 統計及格、不及格人數。
8、 統計每個學生的綜合測評總成績:
1) 總成績=平均分*0.7+德體分*0.3
2) 綜合測評的排名。
3) 根據總成績評定獎學金等級(特等、一等、二等、三等)。
4) 按學年根據學生學習情況確定升、留級人選(補考三門(以上)不及格或畢業補考一門(以上)不及格)。
9、學生成績查詢(分別按學號、姓名、班級、課程、開設學期),顯示信息自定。
10、更改信息時,相關表的相應記錄也應隨之更改。(如:留級、補考等)
11、子查詢的應用:
查找「計應041」班高於「計應042」班總評成績最高分的學生記錄。
12、創建如下視圖:
1) V_學生成績:包括學生姓名、課程名稱、成績
2) V_班級人數:包括班級名稱、系別、專業名稱、班級人數
Ⅵ 資料庫課程設計--學生學籍管理系統
進入可下載http://wenku..com/view/c86a94254b35eefdc8d333be.html
Ⅶ C語言課程設計----學生學籍管理系統
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
struct stud
{
long num;
char name[20];
double score;
};
typedef struct stucode
{
struct stud student ;
struct stucode *next;
}L;
void menu();
void createlist(struct stucode **r);
void out(struct stucode *r);
void search1(struct stucode *r);
void search2(struct stucode *r);
void del(struct stucode **r);
void insert(struct stucode **r);
void sort(struct stucode **r);
void main()
{
char choose;
int flag=1;
struct stucode *r=NULL;
while(flag)
{
system("cls");
menu();
choose=getchar();
switch(choose)
{
case '1':
createlist(&r);
out(r);
printf("Testing function 1\nPress any key to continue\n");
getchar();
getchar();
break;
case '2':
search1(r);
printf("Testing function 1\nPress any key to continue\n");
getchar();
getchar();
break;
case '3':
search2(r);
printf("Testing function 1\nPress any key to continue\n");
getchar();
getchar();
break;
case '4':
del(&r);
out(r);
printf("Testing function 1\nPress any key to continue\n");
getchar();
getchar();
break;
case '5':
insert(&r);
out(r);
printf("Testing function 1\nPress any key to continue\n");
getchar();
getchar();
break;
case '6':
sort(&r);
out(r);
printf("Testing function 1\nPress any key to continue\n");
getchar();
getchar();
break;
case '7':
out(r);
printf("Testing function 7\nPress any key to continue\n");
getchar();
getchar();
break;
case '0':
flag=0;
printf("The end.\n");
break;
default: printf("\nWrong Selection!(選擇錯誤,請重選!)\n");getchar();getchar();
}
}
}
void createlist(struct stucode **r)
{
struct stucode *p,*t;
long n;
char a[20];
double s;
if(*r) *r=NULL;
printf(" \n請輸入:\n 學號(請按學號升序排列) 姓名 分數 (若要結束請輸入三個為零)\n");
scanf("%ld%s%lf",&n,a,&s);
if(n==0) return;
p=(L *)malloc(sizeof(L));
p->student.num=n;
strcpy(p->student.name,a);
p->student.score=s;
p->next=NULL;
*r=p;
scanf("%ld%s%lf",&n,a,&s);
while(n)
{
t=p;
p=(L *)malloc(sizeof(L));
p->student.num=n;
strcpy(p->student.name,a);
p->student.score=s;
p->next=NULL;
t->next=p;
scanf("%ld%s%lf",&n,a,&s);
}
}
void search1(struct stucode *r)
{
long x;
if(!r)
{
printf("沒有學生信息可查詢!\n");
return ;
}
printf(" 請輸入要查詢的學生信息的學生學號:\n");
scanf("%ld",&x);
while(r&&r->student.num!=x)
r=r->next;
if(r==NULL)
printf("Error! No such student !\n");
else
printf("%ld %s %.2lf\n",r->student.num,r->student.name,r->student.score);
}
void search2(struct stucode *r)
{
char m[20];
if(!r)
{
printf("沒有學生信息可查詢!\n");
return ;
}
printf(" 請輸入要查詢的學生信息的學生姓名:\n");
scanf("%s",m);
while(r&&strcmp(r->student.name,m))
r=r->next;
if(r==NULL)
printf("Error! No such student !\n");
else
printf("%ld %s %.2lf\n",r->student.num,r->student.name,r->student.score);
}
void del(struct stucode **r)
{
long k;
struct stucode *p=*r,*t;
if(!(*r))
{
printf("沒有學生信息可刪除 !\n");
return ;
}
printf(" 請輸入要刪除的學生信息的學生學號:\n");
scanf("%ld",&k);
if(p->student.num==k)
*r=(*r)->next,free(p);
else
{
while(p->next&&p->next->student.num!=k)
p=p->next;
if(p->next==NULL)
printf("Error! No such student !\n");
else
{
t=p->next;
p->next=p->next->next;
free(t);
}
}
}
void insert(struct stucode **r)
{
long n;
char a[20];
double s;
L *p,*t,*k;
printf(" 請輸入要插入的學生信息的學生學號 姓名 分數:\n");
scanf("%ld%s%lf",&n,a,&s);
p=(L *)malloc(sizeof(L));
p->student.num=n;
p->student.score=s;
strcpy(p->student.name,a);
if(!(*r))
{
*r=p;
(*r)->next=NULL;
return ;
}
if(p->student.num<(*r)->student.num)
p->next=(*r),(*r)=p;
else
{
t=*r;
k=t;
while(t->next&&t->next->student.num<=p->student.num)
t=t->next;
p->next=t->next;
t->next=p;
*r=k;
}
}
void sort(struct stucode **r)
{
struct stucode *t,*p,*q,*z;
if(!r)
{
printf("沒有學生信息可排序!\n");
return ;
}
if(!(*r)||!(*r)->next)
return;
t=*r;
p=t->next;
t->next=NULL;
while(p)
{
q=p->next;
if(p->student.score>t->student.score)
{
p->next=t;
t=p;
}
else
{
z=t;
while(z->next&&z->next->student.score>=p->student.score)
z=z->next;
p->next=z->next;
z->next=p;
}
p=q;
}
*r=t;
}
void out(struct stucode *r)
{
printf("\n\n");
if(!r)
{
printf("沒有學生信息可輸出!\n");
return ;
}
while(r)
{
printf("%ld %s %.2lf\n",r->student.num,r->student.name,r->student.score);
r=r->next;
}
printf("\n\n");
}
void menu()
{
printf("\n 學生信息管理系統\n");
printf("\n 菜單\n\n");
printf("\n 1建立鏈表並顯示\n");
printf("\n 2查找某學號的學生信息\n");
printf("\n 3查找某姓名的學生信息\n");
printf("\n 4刪除某學號的學生信息\n");
printf("\n 5插入新的學生信息\n");
printf("\n 6按分數降序排列輸出\n");
printf("\n 7輸出\n");
printf("\n 0退出\n");
printf("\n 請選擇您要執行的選項:\n");
}
Ⅷ 課程設計題目--學生學籍管理系統
有這種軟體下載的!
我前幾天在上網的時候還看到的呢!
可是我想是沒有人會為15分給你的!!!