電 話:18937133779
網(wǎng) 址:http://www.cytv37.com
郵 箱:zboao@qq.com
給,已經(jīng)編譯運行確認了:
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<conio.h>
#define N 10
int M=0;
struct student
{
char num[13];
char name[20];
char sex;
char address[30];
int age;
};
typedef struct LB
{
struct student XINXI;
struct LB *next;
}LB_1,*LB_2;
void CAIDANG()
{
printf(" \t \t \t (歡迎使用本班級檔案管理系統(tǒng))\t\t\t\t\n");
printf("★*★*★*★*★*★*★*★*★*★ 歡迎進入我們的系統(tǒng) ★*★*★*★*★*★*★*★*★*★\n\n");
printf("1.錄入學生資料\t\t\t\t\t4.查詢學生信息\n\n");
printf("2.修改學生信息\t\t\t\t\t5.刪除學生信息\n\n");
printf("3.保存學生信息\t\t\t\t\t0.退出檔案系統(tǒng)\n\n");
printf(" \n");
printf("★*★*★*★*★*★*★*★*★*★ 歡迎進入本系統(tǒng) ★*★*★*★*★*★*★*★*★*★\n");
}
/*文本顏色*/
void color()
{
textbackground(8);
textcolor(9);
clrscr();
}
void Wrong()
{
printf("\n對不起您的輸入錯誤!\n");
}
void SORRY()
{
printf("\n對不起該同學現(xiàn)沒有任何信息!\n");
}
void printe(LB_1 *p)/* 本函數(shù)用于輸出英文 */
{
printf(" %-2s %s\t %s\t%s\t %d\t \n",p->XINXI.num,p->XINXI.name,p->XINXI.sex,p->XINXI.address,p->XINXI.age);
}
/* 該函數(shù)用于定位鏈表中符合要求的接點,并返回該指針 */
LB_1 *Locate(LB_2 l,char findmess[],char nameornum[])
{
LB_1 *r;
if(strcmp(nameornum,"num")==0) /* 按學號查詢 */
{
r=l->next;
while(r!=NULL)
{
if(strcmp(r->XINXI.num,findmess)==0)
return r;
r=r->next;
}
}
else if(strcmp(nameornum,"name")==0) /* 按姓名查詢 */
{
r=l->next;
while(r!=NULL)
{
if(strcmp(r->XINXI.name,findmess)==0)
return r;
r=r->next;
}
} return 0;
}
/*以下是增加學生信息的函數(shù)*/
void TIANJIA(LB_2 l)
{
LB_1 *p,*r,*s;
char num[13];
r=l; s=l->next;
while(r->next!=NULL) /*些處循環(huán)一直到最后*/
r=r->next;
while(1)
{
printf(" 請輸入添加的學生學號(輸入'0'返回上一級菜單:)");
scanf("%s",num);
if(strcmp(num,"0")==0)
break;
while(s)
{
if(strcmp(s->XINXI.num,num)==0)
{
printf("(必看提示):學號為'%s'的學生已有信息,若要修改請你輸入'2 修改'!\n",num);
printe(s);
printf("\n");
return;
}
s=s->next;
} p=(LB_1 *)malloc(sizeof(LB_1));
strcpy(p->XINXI.num,num);
printf(" 請你輸入學號:");
scanf("%s",p->XINXI.num);
getchar();
printf(" 請你輸入姓名:");
scanf("%s",p->XINXI.name);
getchar();
printf(" 請你輸入性別:");
scanf("%s",p->XINXI.sex);
getchar();
printf(" 請你輸入地址:");
scanf("%s",p->XINXI.address);
getchar();
printf(" 請你輸入年齡:");
scanf("%d",&p->XINXI.age);
getchar();
/* 下面是把指針變量轉到鏈表的下一個結點中以便循環(huán)的時候使用 */
p->next=NULL;
r->next=p;
r=p; M=1;
}
}
/*以下是刪除學生信息的函數(shù)*/
void SHANCHU(LB_2 l)
{
int sel;
LB_1 *p,*r;
char findmess[20];
if(!l->next)
{
printf("\n******(必看提示):對不起,現(xiàn)文件中沒有信息:所以您不能查詢!\n");
return;
}
printf("\n <必看提示> <以學號刪除請輸入1\n> <以姓名刪除請輸入2\n> PLEASE:");
scanf("%d",&sel);
if(sel==1)
{
printf("請輸入要刪除的學生的學號PLEASE:");
scanf("%s",findmess);
p=Locate(l,findmess,"num");
if(p)
{ r=l;
while(r->next!=p)
r=r->next;
r->next=p->next;
free(p);
printf("\n*******(必看提示):該學生的信息已完全刪除成功!\n");
M=1;
}
else
SORRY();
}
else if(sel==2)
{
printf("請輸入要刪除的學生的姓名PLEASE:");
scanf("%s",findmess);
p=Locate(l,findmess,"name");
if(p)
{ r=l;
while(r->next!=p)
r=r->next;
r->next=p->next;
free(p);
printf("\n******(必看提示):該學生信息已成功刪除!\n");
M=1;
}
else
SORRY();
}
else
Wrong();
}
/*以下是查詢學生信息*/
void CHAXIONG(LB_2 l)
{ int sel;
char findmess[20];
LB_1 *p;
if(!l->next)
{ printf("\n******(必看提示):對不起,現(xiàn)文件中沒有信息:所以您不能查詢!\n");
return;
}
printf("\n以學號查詢請輸入1:\n以姓名查詢請輸入2:\n以性別查詢請輸入3:\n以性別查詢請輸入4:\n PLEASE:");
scanf("%d",&sel);
if(sel==1)/*輸入學號查詢*/
{
printf("請你輸入要查找的學號:");
scanf("%s",findmess);
p=Locate(l,findmess,"num");
if(p)
{ printf("\t\t\t\t查找結果\n");
printf(" 學號:%s\n姓名:%s\n性別:%s\n地址:%s\n年齡:%d\n",p->XINXI.num,p->XINXI.name,p->XINXI.sex,p->XINXI.address,p->XINXI.age);
}
else
SORRY();
}
if(sel==2) /* 輸入姓名查詢 */
{
printf("請你輸入要查找的姓名:");
scanf("%s",findmess);
p=Locate(l,findmess,"name");
if(p)
{ printf("\t\t\t\t查找結果\n");
printf(" 學號:%s\n姓名:%s\n性別:%s\n地址:%s\n年齡:%d\n",p->XINXI.num,p->XINXI.name,p->XINXI.sex,p->XINXI.address,p->XINXI.age);
}
else
SORRY();
}
else
Wrong();
}
/*以下是修改學生信息的函數(shù)*/
void XIUGEI(LB_2 l)
{
LB_1 *p;
long int i,j;
char findmess[20];
if(!l->next)
{ printf("\n(必看提示):對不起,現(xiàn)文件中沒有信息:所以您不能查詢!\n");
return;
}
for(i=1;i<=2;i++)
{
printf("\n\n\n\n\n");
printf("請輸入密碼:");
scanf("%s",&j);
if(j==2007)break;
else
{if(j!=2007)
return(CAIDANG());
}
}
printf("請你輸入要修改的學生學號:");
scanf("%s",findmess);
p=Locate(l,findmess,"num");
if(p)
{ printf("請你輸入新學號(原來是%s):",p->XINXI.num);
scanf("%s",p->XINXI.num);
printf("請你輸入新姓名(原來是%s):",p->XINXI.name);
scanf("%s",p->XINXI.name);
printf("請你輸入新性別(原來是%s):",p->XINXI.sex);
scanf("%s",p->XINXI.sex);
printf("請你輸入新地址(原來是%s):",p->XINXI.address);
scanf("%s",p->XINXI.address);
printf("請你輸入新年齡(原來是%d):",p->XINXI.age);
scanf("%s",p->XINXI.age);
getchar();
M=1;
}
else
SORRY();
}
/*保存在文件中*/
void BAOCONG(LB_2 l)
{
FILE* fp;
LB_1 *p;
int flag=1,count=0;
fp=fopen("c:\\lyg","wr");
if(fp==NULL)
{
printf("\n=====>提示:重新打開文件時發(fā)生錯誤!\n");
exit(1);
}
p=l->next;
while(p)
{
if(fwrite(p,sizeof(LB_1),1,fp)==1)
{ p=p->next;
count++;
}
else
{ flag=0;
break;
}
}
if(flag)
{ printf("\n 提示;正在保存文件 共保存了%d條信息\n",count);M=0;
}
fclose(fp);
}
/*以下是主函數(shù)*/
void main()
{
LB_2 l;/* 連表 */
FILE *fp; /* 文件指針 */
int sel;long i,j,d;
char ch;
char jian;
int count=0;
LB_1 *p,*r;
color();
clrscr();
l=(LB_1*)malloc(sizeof(LB_1));
l->next=NULL;
r=l;
fp=fopen("C:\\lyg","rb");
if(fp==NULL)
{
printf("\t\t\t\t\n\n");
printf("\n");
printf(" *_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*\n"
" *_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*\n"
" Welcome to come to our system!!! \n"
" You can only inquire your own messages! If you want to see about other \n"
" students' messages,you need first to send inquirment to them,asking for \n"
" agreement,then you can visit his/her messages! \n"
" Have a good time! now you can come in!!! \n"
" *_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*\n"
" *_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*\n"
" 注意:系統(tǒng)啟動碼為 : ILOVEMYSCHOOLVERYMUCH !!! \n"
" *_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*\n"
" *_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*\n");
printf("歡迎使用,本系統(tǒng)中現(xiàn)沒有任何記錄,您要先創(chuàng)建文件請按以下操做進行PLEASE:\n");
printf("\n 提示:文件還不存在,是否創(chuàng)建?(y/n)請做選擇--\n");
printf("\n");
scanf("%c",&jian);
if(jian=='y'||jian=='Y')
{fp=fopen("C:\\lyg","wb");
clrscr();
}
{for(i=1;i<=2;i++)
{
printf("\n\n\n\n\n");
printf("請輸入密碼:");
scanf("%ld",&j);
if(j==2007)break;
else
{if(j!=2007)return;
}
}
}
exit(0);clrscr();
}
while(!feof(fp))
{
p=(LB_1*)malloc(sizeof(LB_1));
if(fread(p,sizeof(LB_1),1,fp)) /* 將文件的內容放入鏈表中 */
{
p->next=NULL;
r->next=p;
r=p; /*把該結點放入鏈表中*/
count++;
}
}
fclose(fp); /* 關閉文件 */
while(1)
{
CAIDANG();
printf("請你選擇操作:");
scanf("%d",&sel);
clrscr();
printf("\n\n\n");
if(sel==0)
{
if(M==1)
{ getchar();
printf("\n(必看提示):鏈表中的信息已經(jīng)改動,如果確認把改動保存在文件中請做選擇(y/n)?\n");
scanf("%c",&ch);
if(ch=='y'||ch=='Y')
BAOCONG(l);
}
break;clrscr();
}
switch(sel)
{
case 1: TIANJIA(l);break;
case 4: CHAXIONG(l);break;
case 3: BAOCONG(l);break;
case 2: XIUGEI(l);break;
case 5: SHANCHU(l);break;
default: getchar();break;
}
} end:
getchar();
}
一般的學生檔案管理系統(tǒng)基本功能如下:
后臺:
1.菜單自定義管理
2.管理員密碼賬號管理
3.管理員添加,修改,刪除
4.數(shù)據(jù)庫備份,壓縮,恢復,軟件空間占用
5.姓名,像片規(guī)格,曾 用 名 ,性別,出生日期,免冠照片,學號,所在集體,身份證號,入學學歷,政治面貌
入學日期,加入組織,日期, 民族,籍貫,家庭住址,聯(lián)系電話,郵編
6.何年何月到何年何月 所在學?;騿挝?任何職務 證明人 學習情況 個人特長 獎懲記錄 愛好 處分記過 學籍異動情況 畢(結)業(yè)或肄業(yè)日期 畢(結)業(yè)或肄業(yè)去向 備 注 >>學生檔案信息資料添加,修改,刪除
7.真實姓名: 曾 用 名: 性 別:學 號: 身份證號: 籍 貫:的查詢
8.8.分頁,批量刪除,檔案詳細分類查詢
9.無組件圖片上傳
10.路徑自動生成
11.切換查看/全部 自定義格式查看 ,添加信息 | 信息列表
12.年屆,系所,專業(yè),班級的管理,刪除,修改,添加
13.管理員權限設置
我們慈溪順通網(wǎng)絡的學生檔案管理系統(tǒng)基本功能就是這樣子的,有需要的話可以與我們聯(lián)系,也可以去我們的官網(wǎng)看一下這款軟件的基本內容。
# -*- coding: cp936 -*-
class StuInfo:
def __init__(self):
self.Stu=[{"Sno":"1","Sname":"姓名","ChineseScore":64,"MathsScore":34,"EnglishScore":94,"ComputerScore":83},
{"Sno":"2","Sname":"姓名","ChineseScore":44,"MathsScore":24,"EnglishScore":44,"ComputerScore":71},
{"Sno":"3","Sname":"姓名","ChineseScore":74,"MathsScore":35,"EnglishScore":74,"ComputerScore":93},
{"Sno":"4","Sname":"姓名","ChineseScore":94,"MathsScore":54,"EnglishScore":24,"ComputerScore":73}]
self.attribute={"Sno":"學號",
"Sname":"姓名",
"ChineseScore":"語文成績",
"MathsScore":"數(shù)學成績",
"EnglishScore":"英語成績",
"ComputerScore":"計算機成績"
}
def _add(self):
'''添加'''
singleInfo={}
for i in self.attribute:
if "Score" in i:
singleInfo[i]=int(raw_input(self.attribute[i]+"\n"))
else:
singleInfo[i]=raw_input(self.attribute[i]+"\n").strip()
self.Stu.append(singleInfo)
print "添加成功OK"
for i in singleInfo:
print i,"=",singleInfo[i]
def _del(self):
"""刪除學號為Sno的記錄"""
Sno=raw_input("學號:\n")
self.Stu.remove(self.__getInfo(Sno))
print "刪除成功OK"
def _update(self):
"""更新數(shù)據(jù)"""
Sno=raw_input("學號\n").strip()
prefix="修改"
updateOperate={"1":"ChineseScore",
"2":"MathsScore",
"3":"EnglishScore",
"4":"ComputerScore"}
for i in updateOperate:
print i,"-->",prefix+self.attribute[updateOperate[i]]
getOperateNum=raw_input("選擇操作:\n")
if getOperateNum:
getNewValue=int(raw_input("輸入新的值:\n"))
record=self.__getInfo(Sno)
record[updateOperate[getOperateNum]]=getNewValue
print "修改"+record["Sname"]+"的"+str(updateOperate[getOperateNum])+"成績=",getNewValue,"\n成功OK"
def _getInfo(self):
"""查詢數(shù)據(jù)"""
while True:
print "1->學號查詢 2->條件查詢 3->退出"
getNum=raw_input("選擇:\n")
if getNum=="1":
Sno=raw_input("學號:\n")
print filter(lambda record:record["Sno"]==Sno,self.Stu)[0]
elif getNum=="2":
print "ChineseScore 語文成績;","MathsScore 數(shù)學成績;","EnglishScore 英語成績;","ComputerScore 計算機成績;"
print "等于 ==,小于 <, 大于 > ,大于等于 >=,小于等于<= ,不等于!="
print "按如下格式輸入查詢條件 eg: ChineseScore>=60 "
expr=raw_input("條件:\n")
笭工蒂繼酈荒墊維叮哩 Infos=self.__getInfo(expr=expr)
if Infos:
print "共%d記錄"%len(Infos)
for i in Infos:
print i
else:
print "記錄為空"
elif getNum=="3":
break
else:
pass
def __getInfo(self,Sno=None,expr=""):
"""查詢數(shù)據(jù)
根據(jù)學號 _getInfo("111111")
根據(jù)分數(shù) _getInfo("EnglishSorce>80")"""
if Sno:
return filter(lambda record:record["Sno"]==Sno,self.Stu)[0]
for operate in [">=",">","<=","<","==","!="]:
if operate in expr:
gradeName,value=expr.split(operate)
return filter(lambda record: eval( repr(record[gradeName.strip()])+operate+value.strip()) ,self.Stu)
return {}
def _showAll(self):
"""顯示所有記錄"""
for i in self.Stu:
print i
@staticmethod
def test():
"""測試"""
_StuInfo=StuInfo()
while True:
print "1->錄入數(shù)據(jù) 2->修改數(shù)據(jù) 3->刪除數(shù)據(jù) 4->查詢數(shù)據(jù) 5->查看數(shù)據(jù) 6->退出"
t=raw_input("選擇:\n")
if t=="1":
print "錄入數(shù)據(jù)"
_StuInfo._add()
elif t=="2":
print "修改數(shù)據(jù)"
_StuInfo._update()
elif t=="3":
print "刪除數(shù)據(jù)"
_StuInfo._del()
elif t=="4":
print "查詢數(shù)據(jù)"
_StuInfo._getInfo()
elif t=="5":
print "顯示所有記錄"
_StuInfo._showAll()
elif t=="6":
break
else:
pass
if __name__=="__main__":
StuInfo.test()
有多高懸賞呀,哼
不清楚你的具體要求是什么,我列一下《華創(chuàng)學生檔案與成績管理系統(tǒng)》的功能特征,你看一下能否滿足你的要求:
(1)管理范圍:學生檔案管理、課程管理、成績管理、作業(yè)管理、教師管理、班級管理、繳費管理、資產設備管理等。
(2)自動提醒功能:可預設提醒時機、收信人、提醒內容、提醒頻度,自動發(fā)送提醒郵件或短信。例如:對欠費學生定期發(fā)繳費提示等。
(3)手機短信支持:系統(tǒng)能與手機集成,可運用系統(tǒng)中的數(shù)據(jù)生成各種重要通知、周末作業(yè)提示、考試成績等信息,用手機短信的形式發(fā)送給老師、學生或家長,及時、主動地進行信息溝通。
(4)考試成績排序:自由指定排序科目,可按照單科成績、總分或平均分排序;自由指定排序范圍,可按照本班、本年級或全校范圍排序。
(5)與學生及家長高效互動:系統(tǒng)采用先進的B/S結構,使用IE瀏覽器即可訪問,除了教師使用本系統(tǒng)外,您完全可以讓學生家長也登錄使用,查閱學生成績、課外作業(yè)安排等,增強相互間的溝通。
(6)完善的權限控制:可控制每個登錄用戶的權限,查看權、錄入權、修改權、刪除權均可設定,且細化到每一個字段。
(7)統(tǒng)計功能:利用精心設計的報表定制功能,您只需幾個簡單步驟就可設計出漂亮實用的報表,包括分類明細表、分類統(tǒng)計表。例如,各班學生成績明細、各科成績明細,學生的性別、年齡段統(tǒng)計,各科成績、總分成績的分數(shù)段統(tǒng)計等。
(8)票據(jù)套打:利用表單模板,可精確定位數(shù)據(jù)的坐標位置,可充分利用Excel、Word中的字體、顏色,因此可設計出各種格式的套表,例如:各種單據(jù)、錄取通知書、畢業(yè)證書等,實現(xiàn)專業(yè)套打軟件的功能,支持市面上的各種打印機。
(9)靈活設置基本信息:用戶可以自定義考試類別、課程、課節(jié)等選項字典,支持多層次結構,并據(jù)此作查詢、統(tǒng)計、分析。
(10)可擴展性強:采用通用信息平臺為基礎,系統(tǒng)的通用性保持不變。無需編程知識,能隨時擴展其它管理模塊,適用性強;能根據(jù)業(yè)務變化隨時調整,靈活性強。
該軟件可在華創(chuàng)官網(wǎng)上直接在線使用,也可以下載試用。
去以下網(wǎng)站看看
通過設計此班級信息管理系統(tǒng)支持班級管理,提高老師和學生的工作效率,并且提供集體交流學習的空間。用數(shù)據(jù)庫開發(fā)管理版塊,ASP設計管理應用前臺,LASH語言設計聊天室,PHP開發(fā)論壇.
研究內容包含有1。管理版塊:a.班級資料的管理(考勤表登記,班級財務的公開,團組織的信息,以及一些班級常用的信息的記錄{只有管理員擁有權限登記,修改});b通知聯(lián)絡(通知指定同學有關信息);c查詢區(qū)(調用班級個人信息,查詢某個信息的相關同學);d管理區(qū)(添加,刪除,更新個人信息);e用戶權限的設定(用戶只可更新自己的信息,管理員擁有添加,刪除人員的權利)
2.交流區(qū):a聊天室(繼承其他網(wǎng)站的優(yōu)勢,并且綜合幾種語言寫的優(yōu)勢,提高效率);b論壇(上傳各種信息,以及同學們待討論的問題);c留言版(公布學校,班級活動的信息);d熱點問題(學習,生活上遇到的問題的討論)
3.共享區(qū):a學習資料(上傳學習成果,學習課件,資料,或同學自做的各種作品);b相冊(傳載集體生活的照片及個人秀);c個人信息(個人檔案,個性展示,聯(lián)系方式,個人作品);d相關網(wǎng)站信息(連接同學們常用的網(wǎng)站)
4.文化區(qū):a班級宣言(班級展板,以及大學走過的點點滴滴的事件的記載);b我的寢室(寢室文化的延續(xù) ,包括1交流區(qū),2留言版,3寢室文化,4 寢室宣言)
系統(tǒng)特色分為1.管理版塊:這是一般的網(wǎng)站所沒有的一個功能,用于班級日常管理工作,減少以往要打印同學資料需臨時用EXCEL編輯的麻煩,查詢同學之間的信息方便快捷。
2.共享版塊:上傳學習資料,學習成果,課件和同學們的作品。為同學們提供了學習交流的方便。不必每個同學在自己的電腦上下載資料,造成空間的浪費。
3.我的寢室:在班級這個大家園的氛圍下,同學們的寢室文化占取了很重要的部分。所以有必要好好的珍藏和記錄。在“我的寢室”這個版塊中,也插入多方面的功能,可以有寢室宣言,留言版,聊天室。
整個項目分為三部分。管理系統(tǒng)部分用ASP+數(shù)據(jù)庫來實現(xiàn)。論壇的腳本語言用PHP。聊天室準備以LASH為主部分細節(jié)用ASP和HTML來補充。
技術路線:1.首先使用HTML建立靜態(tài)頁,作為整個管理系統(tǒng)的框架;
2.然后將靜態(tài)網(wǎng)頁轉為ASP動態(tài)網(wǎng)頁,并與數(shù)據(jù)庫連接起來,實現(xiàn)管理功能;
3.使用PHP建立班級論壇,其中的用戶資料直接使用步驟1里的數(shù)據(jù)庫資料,即不提供對外注冊;
4.使用LASH建立聊天室的基本模板,然后使用ASP和HTML來豐富其中的頁面效果并增強實用性。
最后通過網(wǎng)站的形式可以讓班里的每個同學進行溝通,了解班里的信息。并且實現(xiàn)班級管理的功能,減少以往班干部重復的工作量,便于查詢,記錄學習的信息。能夠讓同學們在網(wǎng)上實現(xiàn)資源共享,交流學習成果,討論學習熱點問題,是此設計系統(tǒng)的意義所在!