當前位置:首頁 » 考試成績 » 學生成績管理except

學生成績管理except

發布時間: 2021-03-16 05:34:01

『壹』 幫忙用匯編編個學生成績管理程序

不是一般人做得出來的.....誰匯編達到這程度還會花時間來給你做這個?

『貳』 except的用法

except

先回答樓主的問題~不可以直接加動詞~`一定要跟上介詞才可以哦~

prep.

1. 除...之外
We go there every day except Sunday.
除了星期天,我們每天都去那兒。
They all went to sleep except the young Frenchman.
除了那位年輕的法國人以外,他們全都去睡覺了。
I like her except when she is angry.
除了她發怒的時候,我挺喜歡她。
He has no special fault except that he smokes too much.
他除了抽煙太多之外,沒有什麼特別的毛病。

conj.
1. 除了
She did nothing except complain while she was here.
她在這里時除了抱怨還是抱怨。
2. 要不是;但是
I would go except it's too far.
我想去的,只是路太遠。

vt.
1. 把...除外;不計
The minors are excepted from the regulation.
未成年者不在此限。
You will all be punished; I can except no one.
你們全得受罰,我一個也不饒。

vi.
1. 反對;表示異議[(+to/against)]
The defendant excepted to the witness.
被告對這個見證人提出異議。

『叄』 大學生體測替考除了被取消學位獲得資格還有什麼懲罰

大學生體測替考除了被取消學位獲得資格,課程成績被記零分。

學校教務處發出《關於對2020/2021學年第一學期體質健康達標測試違規學生處理的通告2》稱,在2020年12月5日進行的體質健康達標測試中,王某豪由楊某茂冒名代替參加測試,違反考試管理規定第十五條,按作弊處理。

為嚴肅考風、考紀,根據《太原工業學院考試工作管理辦法》,對以上兩名同學處理如下:1.本門課程成績記「零分」;2.取消學士學位獲得資格。

(3)學生成績管理except擴展閱讀

大學生體測替考事件

太原工業學院網站於9月29日發布《關於對2020/2021學年第一學期體質健康達標測試違規學生處理的通告》稱,在2020年9月26、27日進行的體質健康達標測試中,郭某緣由陳某余冒名代替參加測試;穆某元由王某優冒名代替參加測試;楊某堃由李某潮冒名代替參加測試,違反考試管理規定第十五條,按作弊處理。

『肆』 access建一個關於學生的資料庫,除了成績管理還有圖書管理之外還可以建什麼樣的小型資料庫呢

Access資料庫是根據你的需要創建的,涉及各個領域,名稱五花八門太多太多。創建資料庫你必須首先確定是什麼管理系統,根據你的意圖才能創建數據表、數據表、欄位,確定數據類型,資料庫名稱、數據表名稱、欄位名稱需要自己命名。既然你自己能夠創建,首先是確定方向,根據確定的方向創建就可以了。

『伍』 關於except的用法

except用於表示同類事物之間的關系,其意為"除……以外"、"除去".
1. except後面可接名詞、代詞、動詞、副詞、介詞短語和從句等.如: We have an English lesson every day except Sunday. 除星期天外,我們每天有一堂英語課.(接名詞)
They all went to the park last Sunday except him. 除了他以外,上星期天他們都去公園了.(接代詞)
Every day Mary does nothing except watch TV. 每天瑪麗除了看電視以外什麼都不幹.(except後接動詞時,一般為帶to的動詞不定式.但如果except前面有謂語動詞do或其相應形式時,後面通常接省略to的動詞不定式.如此句.) He always goes to work by bike except recently. 除最近外,他一般都騎自行車上班.(接副詞)
After breakfast the students went nowhere except to school. 吃完早餐,學生們除了上學就不到別處去了.(接介詞短語)
My father usually goes to work by bike except when it rains. 除下雨天外,我爸爸通常騎自行車上班.(接從句)
2. except常用在all, whole, any, every, no等詞,及anything, anybody, anyone, everything, everybody, everyone等不定代詞之後.如:
She ate everything on the plate except the carrots.除胡蘿卜外她把盤子里的東西都吃了.
I've cleaned all the rooms except the toilet. 除了廁所,我清掃了所有房間.

『陸』 除了刷身份證來確認考籍信息還有別的辦法嗎

學籍號與身份證號不一致將會影響到中考、高考、乃至升學錄取等方面問題,學籍號與身份證號不一致,可以申請學校出具「學生證明」,後持「學生證明」和身份證到轄區派出所戶籍管理處開具正確的的「身份信息證明」,再持兩份「證明和身份證」到當地教育部門,進行學籍號碼信息更正即可。 1、從2013年9月1日起(各省市實行時間不統一,實行時間差異很大),全國中小學生新學籍綁定身份證號,實行「一人一籍,籍隨人走,終身不變」原則。 2、按照教育部要求,在新學期中學生將實行「一生一號」,學生轉學、升學都將被動態跟蹤,無序擇校等現象將得到遏制。 3、於2013年9月1日實行的《中小學生學籍管理辦法》歷時三年製成,是第一部全國性的中小學生學籍管理辦法,避免了原學籍管理方法產生的數據分散、各省銜接不暢等問題。學校將通過電子學籍系統統一申請學籍號,杜絕「虛假學籍」、「重復學籍」等問題。 4、辦法規定了新生入學一個月之內建立學籍,通過電子學籍系統申請學籍號,確定「籍隨人走」原則。學生學籍號是學籍信息的核心要素,以學生居民身份證號為基礎,在全國范圍具有唯一性,並且終身不變。從幼兒園入園或小學入學初次採集學籍信息後開始使用,學生進入更高年級或更高教育階段時,其學籍檔案基本信息均採用第一次採集的數據信息,學籍號生成規則由教育行政部門制訂。

『柒』 尋求解答 C語言做學生成績管理系統

/******頭文件(.h)***********/
#include "stdio.h" /*I/O函數*/
#include "stdlib.h" /*其它說明*/
#include "string.h" /*字元串函數*/
#include "conio.h" /*屏幕操作函數*/
#include "mem.h" /*內存操作函數*/
#include "ctype.h" /*字元操作函數*/
#include "alloc.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;
/*菜單函數,返回值為整數*/
menu_select()
{
char *menu[]={" ***************MENU***************", /*定義菜單字元串數組*/
" 0. Init list", /*初始化*/
" 1. Enter list", /*輸入記錄*/
" 2. Print list ", /*顯示單鏈表中所有記錄*/
" 3. Sort to make new file", /*排序*/
" 4. Search record by name or NO.", /*按照姓名查找記錄*/
" 5. Insert record to list ", /*插入記錄到表中*/
" 6. Delete a record from list", /*從表中刪除記錄*/
" 7. Save the file", /*將單鏈表中記錄保存到文件中*/
" 8. Load the file", /*從文件中讀入記錄*/
" 9. Statistics", /*統計*/
" 10. Quit", /*退出*/
" ",
" ", /*屏幕調節,沒有實際意義*/
" ",
" ***********************************",
" ",
" ",};
char s[3]; /*以字元形式保存選擇號*/
int c,i; /*定義整形變數*/
textbackground(GREEN|BLUE); /*設置背景顏色為藍綠色*/
gotoxy(1,25); /*移動游標*/
printf("Press any key enter menu......\n"); /*壓任一鍵進入主菜單*/
getch(); /*輸入任一鍵*/
clrscr(); /*清屏*/
for(i=0;i<16;i++) /*輸出主菜單數組*/
{ gotoxy(10,i+1);
cprintf("%s",menu[i]);
}
window(1,1,80,25); /*恢復原窗口大小*/
gotoxy(10,21); /*移動游標*/
do{printf("\n Enter you choice(0~10):"); /*在菜單窗口外顯示提示信息*/
scanf("%s",s); /*輸入選擇項*/
c=atoi(s); /*將輸入的字元串轉化為整形數*/
}while(c<0||c>10); /*選擇項不在0~10之間重輸*/
return c; /*返回選擇項,主程序根據該數調用相應的函數*/
}
/*初始化鏈表,可以實現對另一組數據的處理*/
STUDENT *init() /*初始化鏈表*/
{ return NULL;}
/*創建鏈表,完成數據錄入功能*/
STUDENT *create()
{ int i; int s;
STUDENT *h=NULL,*info; /* STUDENT指向結構體的指針*/
for(;;)
{ info=(STUDENT *)malloc(sizeof(STUDENT)); /*申請空間*/
if(!info) /*如果指針info為空*/
{
printf("\nOut of memory"); /*輸出內存溢出*/
return NULL; /*返回空指針*/
}
printf("Input imformation as follow.\n");
printf("Press '#'after'Enter NO'to end the input.\n");
inputs("Enter NO.:",info->no,11); /*輸入學號並校驗*/
if(info->no[0]=='#') break; /*如果學號首字元為#則結束輸入*/
inputs("Enter name:",info->name,15); /*輸入姓名,並進行校驗*/
printf("Please input %d scores \n",N); /*提示開始輸入成績*/
s=0; /*計算每個學生的總分,初值為0*/
for(i=0;i<N;i++) /*N門課程循環N次*/
{
do{
printf("score%d:",i+1); /*提示輸入第幾門課程*/
scanf("%d",&info->score[i]); /*輸入成績*/
if(info->score[i]>100||info->score[i]<0)/*確保成績在0~100之間*/
printf("Bad data,repeat input\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; /*未排序前此值為0*/
info->next=h; /*將頭結點做為新輸入結點的後繼結點*/
h=info; /*新輸入結點為新的頭結點*//*沒排序前,後輸入的數據將排在最上*/
}
return(h); /*返回頭指針*/
}
/*自定義輸入控制函數inputs*/
inputs(char *prompt, char *s, int count)
{
char p[255];
do{printf(prompt); /*顯示提示信息*/
scanf("%s",p); /*輸入字元串*/
if(strlen(p)>count)printf("\n Too long! \n"); /*進行長度校驗,超過count值重輸入*/
}while(strlen(p)>count);
strcpy(s,p); /*將輸入的字元串拷貝到字元串s中*/
}
/*顯示模塊*/
void print(STUDENT *h)
{ int i=0; /* 統計記錄條數*/
STUDENT *p; /*移動指針*/
clrscr(); /*清屏*/
p=h; /*初值為頭指針*/
printf("\n\n\n****************************STUDENT**********************************\n");
printf("|rec|NO. | name | sc1| sc2| sc3| sum | ave |order|\n");
while(p!=NULL)
{ i++;
if(i%10==0){getch();clrscr();
printf("\n\n\n\n");} /*否則什麼也不做*/
else;
printf("|---|----------|---------------|----|----|----|--------|-------|-----|\n");
printf("|%2d |%-10s|%-15s|%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 *sort(STUDENT *h)
{
int i=0; /*用來保存名次*/
STUDENT *p,*q,*t,*h1; /*定義臨時指針*/
h1=h->next; /*將原表的頭指針所指的下一個結點作頭指針*/
h->next=NULL; /*斷開原來鏈表頭結點與其它結點的連接*/
while(h1!=NULL) /*當原表不為空時,進行排序*/
{ t=h1; /*取原表的頭結點*/
h1=h1->next; /*原表頭結點指針後移*/
p=h; /*設定移動指針p,從頭指針開始*/
q=h; /*設定移動指針q做為p的前驅,初值為頭指針*/
while(t->sum<p->sum&&p!=NULL) /*作總分比較*/
{ q=p; /*待插入點值小,則新表指針後移*/
p=p->next;
}
if(p==q) /*p==q,上面的while沒有執行,也即插入點大於頭指針,此點應排在首位*/
{ t->next=p; /*待排序點的後繼為p*/
h=t; /*新頭結點為待排序點*/
}
else /*待排序點應插入在q和p之間,如p為空則是尾部*/
{ t->next=p; /*t的後繼是p*/
q->next=t; /*q的後繼是t*/
}
}
p=h; /*已排好序的頭指針賦給p*/
while(p!=NULL) /*賦予各組數據排序號*/
{
i++; /*結點序號*/
p->order=i; /*將名次賦值*/
p=p->next; /*指針後移*/
}
printf("Sort sucess!!!\n"); /*排序成功*/
return (h); /*返回頭指針*/
}
/*查找記錄模塊*/
void search(STUDENT *h)
{ STUDENT *p,*q; /*移動指針*/
char s[15]; /*存放姓名的字元數組*/
char t[11];
int x;
printf("***********************************************************\n");
printf("1.search by name\n"); /*按姓名查找*/
printf("2.search by No \n"); /*按學號查找*/
scanf("%d",&x);
clrscr(); /*清屏幕*/
while(x<1||x>2)
{printf("\nplease enter 1 or 2 :");
scanf("%d",&x); }
if(x==1)
{
printf("Input the name that you want to search:\n");
scanf("%s",s); /*輸入姓名*/
p=h; /*將頭指針賦給p*/
while(strcmp(p->name,s)&&p!=NULL)/*當記錄的姓名不是要找的,並且指針不為空時*/
p=p->next; /*移動指針,指向下一結點,繼續查找*/
}
else
{printf("Input the No. that you want to search:\n");
scanf("%s",t); /*輸入學號*/
q=h;
while(strcmp(p->no,t)&&q!=NULL)
q=q->next;}
if(p==NULL) /*指針為空,說明未能找到所要的結點*/
printf("\nCan't find the student \n");
else if(q==NULL) /*指針為空,說明未能找到所要的結點*/
printf("\nCan't find the student \n");
else /*顯示找到的記錄信息*/
{ printf("\n\n*****************************havefound***************************\n");
printf("|NO. | name | sc1| sc2| sc3| sum | ave |order|\n");
printf("|----------|---------------|----|----|----|--------|-------|-----|\n");
printf("|%-10s|%-15s|%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,*k; /*p指向插入位置,q是其前驅,info指新插入記錄*/
int s1,i,n=0;
printf("\nplease new record\n");
info=(STUDENT *)malloc(sizeof(STUDENT)); /*申請空間*/
if(!info)
{ printf("\Out of memory"); /*如沒有申請到,內存溢出*/
return NULL; /*返回空指針*/
}
inputs("Enter NO.:",info->no,11); /*以下是待插入數據的錄入和處理,具體同創建模塊同*/
inputs("Enter name:",info->name,15);
printf("Please input %d score \n",N);
s1=0;
for(i=0;i<N;i++)
{ do{
printf("score%d:",i+1);
scanf("%d",&info->score[i]);
if(info->score[i]>100||info->score[i]<0)
printf("bad data,repeat input\n");
}while(info->score[i]>100||info->score[i]<0);
s1=s1+info->score[i];
}
info->sum=s1;
info->average=(float)s1/N;
info->next=NULL; /*設後繼指針為空*/
p=h; /*將指針賦值給p*/
q=h; /*將指針賦值給q*/
if(h==NULL) /*鏈表為空*/
{h=info;info->next=NULL;}
else
{while((info->sum<p->sum)&&(p->next!=NULL))
{q=p; /*使q指向p剛才的結點*/
p=p->next;} /*使p後移一個結點*/
if(info->sum>=p->sum)
{if(h==p){h=info; info->next=p;} /*info作為頭指針,p作為info的後繼指針*/
else q->next=info; /*q的後繼指針是info*/
info->next=p;} /*info的後繼指針是p*/
else
{p->next=info;info->next=NULL;}} /*p的後繼指針是info,info的後繼指針是空*/
k=h;
while(k!=NULL) /*重新賦予排序號(排序號因為被插入新數據而改變)*/
{ n++;
k->order=n;
k=k->next;
}
printf("\n ----have inserted %s student----\n",info->name);
return(h); /*返回頭指針*/
}
/*刪除記錄模塊*/
STUDENT *delete(STUDENT *h)
{ char k[5]; /*定義字元串數組,用來確認刪除信息*/
STUDENT *p,*q; /*p為查找到要刪除的結點指針,q為其前驅指針*/
char s[11]; /*存放學號*/
clrscr(); /*清屏*/
printf("Please deleted no\n"); /*顯示提示信息*/
scanf("%s",s); /*輸入要刪除記錄的學號*/
q=p=h; /*給q和p賦初值頭指針*/
while(strcmp(p->no,s)&&p!=NULL) /*當記錄的學號不是要找的,或指針不為空時*/
{ q=p; /*將p指針值賦給q作為p的前驅指針*/
p=p->next; /*將p指針指向下一條記錄*/
}
if(p==NULL) /*如果p為空,說明鏈表中沒有該結點*/
printf("\nlist no %s student\n",s);
else /*p不為空,顯示找到的記錄信息*/
{ printf("*****************************have found***************************\n");
printf("|no | name | sc1| sc2| sc3| sum | ave |order|\n");
printf("|----------|---------------|----|----|----|--------|-------|-----|\n");
printf("|%-10s|%-15s|%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");
do{inputs("Do you really want to deleted?(y/n)",k,5);
}while(k[0]!='y'&&k[0]!='n');
if(k[0]!='n') /*刪除確認判斷*/
{if(p==h) /*如果p==h,說明被刪結點是頭結點*/
h=p->next; /*修改頭指針指向下一條記錄*/
else
q->next=p->next; /*不是頭指針,將p的後繼結點作為q的後繼結點*/
free(p); /*釋放p所指結點空間*/
printf("\n have deleted No %s student\n",s);
}}
return(h); /*返回頭指針*/
}
/*統計模塊*/
void statistics(STUDENT *h)
{
STUDENT *p;
int p1,p2,p3,p4;
int m,n,j,k,l,q;
float a1,a2,a3,a4,a5;
m=0;
n=0;
j=0;
k=0,
l=0;
p=h;
printf("Input the score paragraph\n "); /*輸入分數段*/
do
{
printf("the not pass score : 0~ ");
scanf("%d",&p1);
if(p1<0||p1>100)
{
printf("wrong data\n");
}
}while(p1<0||p1>100);
do
{
printf(" the pass score : %d~",p1);
scanf("%d",&p2);
if(p2<p1||p2>100)
{
printf("wrong data\n");
}
}while(p2<p1||p2>100);
do
{
printf("the general score : %d~",p2);
scanf("%d",&p3);
if(p3<p2||p3>100)
{
printf("wrong data\n");
}
}while(p3<p2||p3>100);
do
{
printf("the well done score :%d~",p3);
scanf("%d",&p4);
if(p4<p3||p4>100)
{
printf("wrong data\n");
}
}while(p4<p3||p4>100);
printf("the excellent score :%d~100\n",p4);
clrscr();
while(p!=NULL)
{
if(p->average<p1)m++;
else if(p->average<p2)n++;
else if(p->average<p3)j++;
else if(p->average<p4)k++;
else l++;
p=p->next;
}
q=m+n+j+k+l;
if(q!=0)
{
a1=(m+0.0)/q*100;
a2=(n+0.0)/q*100;
a3=(j+0.0)/q*100;
a4=(k+0.0)/q*100;
a5=(l+0.0)/q*100;
}
printf("****************************** Stastics table*********************************\n");
printf("----------------------------------------------------------------------------- \n");
printf("|grade| not pass | just pass | general | well done | excellent |\n");
printf("|-----|-------------|---------------|------------|---------------|------------|\n");
printf("|score| 0 ~ %d |",p1);
printf(" %d~ %d |",p1,p2);
printf(" %d~ %d |",p2,p3);
printf(" %d~ %d |",p3,p4);
printf(" %d~100 |\n",p4);
printf("| |(except %d) | (except %d) | (except %d)| (except %d) | |\n",p1,p2,p3,p4);
printf("|-----|-------------|---------------|------------|---------------|------------|\n");
printf("|num | %d | %d | %d | %d | %d |\n",m,n,j,k,l);
printf("|-----|-------------|---------------|----------- |-------------- |------------|\n");
if(q!=0)
printf("|rate | %3.1f%% |%3.1f%% | %3.1f%% | %3.1f%% | %3.1f%% |\n",a1,a2,a3,a4,a5);
printf("|-----|-------------|---------------|------------|---------------|------------|\n");
printf("************************************END***************************************\n");
}
/*保存數據到文件模塊*/
void save(STUDENT *h)
{
FILE *fp; /*定義指向文件的指針*/
STUDENT *p; /* 定義移動指針*/
char outfile[20]; /*保存輸出文件名*/
printf("Enter outfile name,for example G:\\f1\\score.txt:\n");
scanf("%s",outfile);
if((fp=fopen(outfile,"wb"))==NULL) /*為輸出打開一個二進制文件,如沒有則建立*/
{
printf("Can not open file\n");
exit(1);
}
printf("\nSaving file......\n"); /*打開文件,提示正在保存*/
p=h; /*移動指針從頭指針開始*/
while(p!=NULL) /*如p不為空*/
{
fwrite(p,sizeof(STUDENT),1,fp); /*寫入一條記錄*/
p=p->next; /*指針後移*/
}
fclose(fp); /*關閉文件*/
printf("-----Save success!!-----\n"); /*顯示保存成功*/
}
/*導入信息模塊*/
STUDENT *load()
{ STUDENT *p,*q,*h=NULL; /*定義記錄指針變數*/
FILE *fp; /* 定義指向文件的指針*/
char infile[20]; /*保存文件名*/
printf("Enter infile name,for example G:\\f1\\score.txt:\n");
scanf("%s",infile); /*輸入文件名*/
if((fp=fopen(infile,"rb"))==NULL) /*打開一個二進制文件,為讀方式*/
{ printf("Can not open file\n"); /*如不能打開,返回頭指針*/
return h;
}
printf("\n -----Loading file!-----\n");
p=(STUDENT *)malloc(sizeof(STUDENT)); /*申請空間*/
if(!p)
{ printf("Out of memory!\n"); /*如沒有申請到,則內存溢出*/
return h; /*返回空頭指針*/
}
h=p; /*申請到空間,將其作為頭指針*/
while(!feof(fp)) /*循環讀數據直到文件尾結束*/
{ if(1!=fread(p,sizeof(STUDENT),1,fp))
break; /*如果沒讀到數據,跳出循環*/
p->next=(STUDENT *)malloc(sizeof(STUDENT)); /*為下一個結點申請空間*/
if(!p->next)
{
printf("Out of memory!\n"); /*如沒有申請到,則內存溢出*/
return h;
}
q=p; /*保存當前結點的指針,作為下一結點的前驅*/
p=p->next; /*指針後移,新讀入數據鏈到當前表尾*/
}
q->next=NULL; /*最後一個結點的後繼指針為空*/
fclose(fp); /*關閉文件*/
printf("Load success!!!\n");
return h; /*返回頭指針*/
}
/******主函數開始*******/
main()
{int i;
STUDENT *head; /*鏈表定義頭指針*/
head=init(); /*初始化鏈表*/
clrscr(); /*清屏*/
for(;;) /*無限循環*/
{switch(menu_select()) /*調用主菜單函數,返回值整數作開關語句的條件*/
{
case 0:head=init();break; /*執行初始化*/
case 1:head=create();break; /*創建鏈表*/
case 2:print(head);break; /*顯示全部記錄*/
case 3:head=sort(head);break; /*排序*/
case 4:search(head);break; /*查找記錄*/
case 5:head=insert(head); break; /*插入記錄*/
case 6:head=delete(head);break; /*刪除記錄*/
case 7:save(head);break; /*保存文件*/
case 8:head=load(); break; /*讀文件*/
case 9:statistics(head); break; /*統計*/
case 10:exit(0); /*如菜單返回值為10程序結束*/
}
}
}

『捌』 1、參考某城市交通圖(設該圖中有6個城市),以鄰接矩陣或鄰接表存儲該圖,要求圖中每一個城市的結點除了

二題懶得做,一題以前做過:
我用的是vc++工程
//************head.h*************
#define MaxVertexnum 25
#define MaxVerNum 25
typedef struct{
int p[25];
int d;
}path;
typedef struct{
int vexs[MaxVertexnum];
int edges_file[MaxVertexnum][MaxVertexnum];
int edges_cost[MaxVertexnum][MaxVertexnum];
int edges_time[MaxVertexnum][MaxVertexnum];
int Vnum,Enum;
}Mgraph, *PtrMgraph;
void create(PtrMgraph &M);
void Shortestpath_2(Mgraph *G,path pp[25]);
void shortestpath_1(Mgraph *G,int v0,path pp[25]);
void Bubble_sort(path R[],int n);
void print(int v0,path pp[25]);
void display();
//***********soure.cpp************
#include"header.h"
#include<iostream>
#include<fstream>
#include<string>
using namespace std;
string stu[25]={"北京", "長春 " ,"成都" , "大連 ", "福州" ,"廣州" ,"貴陽", "哈爾濱","呼和浩特",
"昆明","蘭州","柳州", "南昌","南寧", "上海" ,"沈陽" ,"深圳"
,"天津", "武漢","烏魯木齊","西安","西寧","徐州","鄭州","株州"};

void create(PtrMgraph &M){
M=new Mgraph;
int i,j,a,b,k,m,t;
ifstream infile("城市.txt",ios::in);
if(!infile)
{
cerr<<"open error!"<<endl;
exit(1);
}
infile>>M->Vnum>>M->Enum;
for(i=0;i<M->Vnum;i++)
infile>>M->vexs[i];
for(i=0;i<M->Vnum;i++)
for(j=0;j<M->Vnum;j++){
M->edges_file[i][j]=50000;
M->edges_cost[i][j]=50000;
M->edges_time[i][j]=50000;
}
for(i=0;i<M->Enum;i++)
{
infile>>a>>b;
infile>>k>>m>>t;
M->edges_file[a-1][b-1]=k;
M->edges_file[b-1][a-1]=k;
M->edges_cost[a-1][b-1]=m;
M->edges_cost[b-1][a-1]=m;
M->edges_time[a-1][b-1]=t;
M->edges_time[b-1][a-1]=t;
}

infile.close();
//return M;
}
void Shortestpath_2(Mgraph *G,path pp[25]){
int v,w,u,i,j,k;
int p[25][25], D[25][25];
for(v=0;v<G->Vnum;++v)
for(w=0;w<G->Vnum;++w){
D[v][w]=G->edges_file[v][w];
if(D[v][w]<50000){
p[w][v]=v;

}
else
if(v!=w){
p[v][w]=-2;

}
else{
p[v][w]=-1;

}
}
for(u=0;u<G->Vnum;++u)
for(v=0;v<G->Vnum;++v)
for(w=0;w<G->Vnum;++w)
if(D[v][u]+D[u][w]<D[v][w]){
D[v][w]=D[v][u]+D[u][w];

p[v][w]=u;
}
/*for(i=0;i<7;i++)
for(j=0;j<9;j++)
cout<<p[i][j]<<" ";*/

cout<<"請輸入 倆城市序號"<<endl;
cin>>i>>j;
cout<<D[i-1][j-1]<<":";
Mgraph *M;
create(M);

shortestpath_1(M,i-1,pp);
for(k=0;k<25;k++)
if(pp[k].d==D[i-1][j-1])
break;
int r=0;
while(pp[k].p[r]>0){
cout<<stu[pp[k].p[r]]<<"<--";
r++;
}
cout<<stu[i-1]<<endl;

/*cout<<j;
k=p[i][j];

while(k>0&&k!=i){
cout<<"<-"<<k;
k=p[i][k];
}
cout<<"<-"<<i<<endl;
/*for(i=0;i<G->Vnum;i++)
for(j=0;j<G->Vnum;j++)
if(p[i][j]>0&&i!=j){
cout<<i<<"->";
k=p[i][j];
cout<<k<<"->";
while(p[k][j]!=j)
{cout<<k<<"->";
k=p[k][j];
}
cout<<j<<endl;
cout<<"值為:"<<D[i][j]<<endl;*/

}
void shortestpath_1(Mgraph *G,int v0,path pp[25]){
int P[25]={0},D[25]={50000};
int i,j,v,pre,w;
int min;
int final1[MaxVerNum];

for(v=0;v<G->Vnum;v++){
final1[v]=0;
D[v]=G->edges_file[v0][v];
P[v0]=-1;
if(D[v]<50000&&v!=v0)
P[v]=v0;
if(D[v]==50000)
P[v]=-2;
}
D[v0]=0;
final1[v0]=1;
for(i=1;i<G->Vnum;i++){
min=50000;
for(w=0;w<G->Vnum;w++)
if(!final1[w])
if(D[w]<min){
v=w;
min=D[w];
}
final1[v]=1;
for(w=0;w<G->Vnum;++w)
if(!final1[w]&&(min+G->edges_file[v][w]<D[w])){
D[w]=min+G->edges_file[v][w];
P[w]=v;
}
}

for(i=1;i<G->Vnum;i++){
if(P[i]==-2){
pp[i].d=50000;
pp[i].p[0]=i;
// cout<<"max"<<i<<endl;
}
else{
j=0;
pp[i].d=D[i];
pp[i].p[0]=i;
//cout<<D[i]<<i;
pre=P[i];
pp[i].p[++j]=pre;
while(pre>0){
//cout<<"<--"<<pre;
pre=P[pre];
pp[i].p[++j]=pre;
}
//cout<<"<--0"<<endl;
}
}

}

void Bubble_sort(path R[],int n){
int i,j,swap;
for(i=1;i<n;i++){
swap=0;
for(j=1;j<=n-i;j++ )
if(R[j].d>R[j+1].d){

R[0]=R[j];
R[j]=R[j+1];
R[j+1]=R[0];
swap=1;
}

if(swap==0)
break;
}

}
void print(int v0,path pp[25]){
Bubble_sort(pp,25);
int i,j;

cout<<"按里程升序排列:"<<endl;
for(i=1;i<25;i++){
cout<<pp[i].d<<":";
j=0;
while(pp[i].p[j]>0){
cout<<stu[pp[i].p[j]]<<"<--";
j++;
}
cout<<stu[v0]<<endl;
}
}
void display(){
int i;
for(i=0;i<25;i++)
cout<<i+1<<" "<<stu[i]<<" ";
}
//***************mytest.cpp
#include<iostream>
#include<fstream>
#include"header.h"
using namespace std;
void main()
{ int a[25][25],b[25][25],n;
path pp[25];
for(int i=0;i<25;i++)
for(int j=0;j<25;j++)
pp[i].p[j]=0;
Mgraph *M;
create(M);

cout<<"********交通咨詢系統**********"<<endl;
int ch;
cout<<"查詢該城市到其餘城市的交通信息 1"<<endl;
cout<<"查詢倆城市之間的交通信息 2"<<endl;
cout<<"請選擇!"<<endl;
cin>>ch;
while(ch!=0)
{

switch(ch){
case 1:cout<<"輸入查詢的城市"<<endl;display();cin>>n;shortestpath_1(M,n-1,pp); print(n-1,pp);
break;
case 2: Shortestpath_2(M,pp);break;
//case 0:cout<<"------exit!";break;
default:break;
}
cout<<"查詢該城市到其餘城市的交通信息 1"<<endl;
cout<<"查詢倆城市之間的交通信息 2"<<endl;
cout<<"請選擇!"<<endl;cin>>ch;
}
}

『玖』 求類似於初學者編寫的類似於學生信息管理系統的題目!!除了學生還有啥比較好編寫的嗎功能只有查詢,增

畢業設計一般除了學生管理之外。一般還有圖書館的,也是做圖書的增刪改查,庫存多少。

『拾』 一個學生成績錄入系統有哪些功能,除了成績錄入,顯示,查詢,分數高低等還有什麼啊求指導 啊

還有平均分計算、分值比例(各個分數段的人數及百分比,可用圖表表示)、用戶管理(教師、教務人員等,看是做給誰看誰用)、用戶登錄等

熱點內容
武漢大學學生會輔導員寄語 發布:2021-03-16 21:44:16 瀏覽:612
七年級學生作文輔導學案 發布:2021-03-16 21:42:09 瀏覽:1
不屑弟高考成績 發布:2021-03-16 21:40:59 瀏覽:754
大學畢業證會有成績單 發布:2021-03-16 21:40:07 瀏覽:756
2017信陽學院輔導員招聘名單 發布:2021-03-16 21:40:02 瀏覽:800
查詢重慶2018中考成績查詢 發布:2021-03-16 21:39:58 瀏覽:21
結業考試成績怎麼查詢 發布:2021-03-16 21:28:40 瀏覽:679
14中醫醫師資格筆試考試成績查分 發布:2021-03-16 21:28:39 瀏覽:655
名著賞析課程標准 發布:2021-03-16 21:27:57 瀏覽:881
北京大學商業領袖高端培訓課程 發布:2021-03-16 21:27:41 瀏覽:919