課程設計題目答案
① 急求一份電大資料庫應用課程設計作業題目既答案
<a href="index.asp" title="我的鏈接">鏈接</a>
用圖片做鏈接才能用alt="..."
但是這種顯示時間不長,如果要長時間顯示(滑鼠沒離開前),得用javascript做,代碼如下:(mouse.js)
<script language="JavaScript">
function seashowtip(tips,flag,iwidth){
var my_tips=document.all.mytips;
if(flag){
my_tips.innerHTML=tips;
my_tips.style.display="";
my_tips.style.width=iwidth;
my_tips.style.left=event.clientX+10+document.body.scrollLeft;
my_tips.style.top=event.clientY+5+document.body.scrollTop;
}
else
{
my_tips.style.display="none";
}
}
</script>
<style>
body
</style>
<div id=mytips style="position:absolute;background-color:#FFFFFF;width:350;height:20;border:1px solid gray;display:none;filter: progid:DXImageTransform.Microsoft.Shadow(color=#BFBFBF,direction=135,strength=3); left:6; top:5"></div>
<----------------------------------------------------------------->
使用時例子:<!--#include file="mouse.js"-->
<%if len(trim(rs3("CC_shiyou")))>3 then%><a href="#" onmousemove="seashowtip(this.tips,2,150)" onmouseout="seashowtip(this.tips,0,150)" onkeydown="if(event.keyCode==13)event.keyCode=9" onkeyup="value=value.replace(/[^\d]/g,'')" tips=" <%=rs3("CC_shiyou")%>"><%=left(rs3("CC_shiyou"),3)%>...</a><%else%><%=trim(rs3("CC_shiyou")%><%end if%>
我這個顯示的是資料庫記錄的某個欄位中如果文字超過3個字元就在單元格里顯示3個加...,然後用滑鼠經過才能顯示完全的欄位內容,這樣做主要是為了不讓因欄位文字太多撐破表格單元格,影響表格美觀
裡面的數字參數是顯示注釋框的寬和高以及離開滑鼠的手指多遠等,可以修改數字參數
② 課程設計題目,2選1,請高手幫忙,急~~~~~~~~~~~~~~~~~~~~~~~~~~~~
第3個自動增加功能模塊不太明白。是說程序運行之後自動增加還是對已有代碼的擴展。
③ 補充:跪求機械設計課程設計題目答案,題目如下: 1.設計用於兩級閉式圓錐-圓柱齒輪傳動-輸送帶。齒
我記得這個是機械的課程設計題目啊,你可以翻下你的機械設計書,基本上有類似一個計算過程,蠻復雜的。難點是哪個減速器的裝配圖。其實吧,課程設計還是自己來做下吧,實在不行,參考上屆的文本。
④ 求課程設計題目
真巧我最近要做這個報告,把我的給你分享下,呵呵(對了你不是噓噓康吧?用戶名好熟悉)
經過測試運行正常,可別說不正常啊~~~
下面的是代碼,別說你不會啊~~~直接復制,改後綴.ASM 編譯 連接 OK
B_P EQU BYTE PTR
W_P EQU WORD PTR
D_P EQU DWORD PTR
CODE SEGMENT
ASSUME CS:CODE,DS:CODE
ORG 100H
;主程序開始
NEWSTAR:
JMP STAR
EVEN
NUM1 DW 0,0
NUM2 DW 0,0
NUM3 DW 0,0
JGV4 DW 0,0
YSF LABEL WORD
YSF1 DB 0
YSF2 DB 0
JUV DB 0
UV DB 0
;使DS:SI指向第一有效字元
OVERS LABEL NEAR
CLD
PUSH AX
OVERS1:
LODSB
CMP AL,' '
JZ OVERS1
CMP AL,9
JZ OVERS1
DEC SI
CMP AL,13
POP AX
RET
;輸出一個製表符
TAB LABEL NEAR
MOV AL,9
JMP SHORT DISP
;輸出一個回車換行符
CRLF LABEL NEAR
MOV AL,13
CALL DISP
MOV AL,10
;顯示一個字元
DISP LABEL NEAR
PUSH AX
PUSH DX
MOV AH,2
MOV DL,AL
INT 21H
POP DX
POP AX
RET
;檢查是否為運算符
ISYSF LABEL NEAR
CLD
LODSB
CALL ISJJ
JZ ISYSF1
CALL ISII
JZ ISYSF1
DEC SI
ISYSF1:
RET
;檢查是否是加減運算
ISJJ LABEL NEAR
CMP AL,'+'
JZ ISYSF1
CMP AL,'-'
RET
;檢查是否為乘除運算
ISII LABEL NEAR
CMP AL,'*'
JZ ISYSF1
CMP AL,'/'
JZ ISYSF1
CMP AL,'\'
RET
;數據輸出
;CX=10 十進制
;CX=16 十六進制
DOUT LABEL NEAR
PUSH AX
PUSH BX
PUSH DX
PUSH BP
XOR BP,BP
DOUT1:
INC BP
PUSH AX
MOV AX,DX
XOR DX,DX
DIV CX
MOV BX,AX
POP AX
DIV CX
PUSH DX
MOV DX,BX
OR BX,AX
JNZ DOUT1
DOUT2:
POP AX
ADD AL,'0'
CMP AL,'9'
JBE DOUT3
ADD AL,'A'-'9'-1
DOUT3:
CALL DISP
DEC BP
JNZ DOUT2
POP BP
POP DX
POP BX
POP AX
RET
;輸入數據在DX:AX中返回
;CX=0 數據為10進制
;CX#0 數據為16進制
DATE LABEL NEAR
PUSH BX
PUSH BP
PUSH DI
XOR AX,AX
XOR DX,DX
DATE1:
MOV DI,AX
LODSB
CMP AL,'0'
JB DATE7
CMP AL,'9'
JA DATE6
DATE2:
AND AX,0FH
SHL DI,1
RCL DX,1
MOV BX,DI
MOV BP,DX
SHL DI,1
RCL DX,1
SHL DI,1
RCL DX,1
JCXZ DATE3
SHL DI,1
RCL DX,1
Jmp short DATE4
DATE3:
ADD DI,BX
ADC DX,BP
DATE4:
ADD AX,DI
ADC DX,0
JMP DATE1
DATE5:
ADD AL,9
JMP DATE2
DATE6:
JCXZ DATE7
CMP AL,'A'
JB DATE7
CMP AL,'F'
JBE DATE5
CMP AL,'a'
JB DATE7
CMP AL,'f'
JBE DATE5
DATE7:
MOV AX,DI
DEC SI
OR DI,DX
POP DI
POP BP
POP BX
RET
;數據1與數據2根據YSF1進行加減運算
JSJJ LABEL NEAR
MOV AX,NUM2
MOV DX,NUM2+2
CMP YSF1,'+'
JZ JSJJ1
SUB NUM1,AX
SBB NUM1+2,DX
JMP SHORT JSJJ2
JSJJ1:
ADD NUM1,AX
ADC NUM1+2,DX
JSJJ2:
RET
;數據1與數據2根據YSF1進行乘除運算
JSII1 LABEL NEAR
MOV BX,OFFSET NUM1
JMP SHORT JSII2_1
;數據2與數據3根據YSF2進行乘除運算
JSII2 LABEL NEAR
MOV BX,OFFSET NUM2
JSII2_1:
DB 66H
MOV AX,[BX]
DB 66H
MOV CX,[BX+4]
CMP YSF2,'*'
JNZ JSII2_2
DB 66H
IMUL CX
JMP SHORT JSII2_3
JSII2_2:
DB 66H
CWD
DB 66H
IDIV CX
CMP YSF2,'/'
JZ JSII2_3
DB 66H
XCHG DX,AX
JSII2_3:
DB 66H
MOV [BX],AX
RET
;顯示結果
XUJG LABEL NEAR
MOV AX,JGV4
MOV DX,JGV4+2
MOV CX,10
CMP UV,10
JZ XUJG0
MOV CX,16
XUJG0:
TEST DX,8000H
JZ XUJG1
CMP UV,10
JZ XUJG2
CALL DOUT
XUJG2:
NOT AX
NOT DX
ADD AX,1
ADC DX,0
PUSH AX
CMP UV,10
JZ XUJG3
MOV AL,' '
CALL DISP
MOV AL,'('
CALL DISP
XUJG3:
MOV AL,'-'
CALL DISP
POP AX
CMP UV,10
JZ XUJG1
CALL DOUT
MOV AL,')'
CALL DISP
RET
XUJG1:
CALL DOUT
RET
;計算結果放入DX:AX中
JSJG LABEL NEAR
CALL JSJJ
MOV AX,NUM1
MOV DX,NUM1+2
RET
;從DS:SI處取一個數據
LOADATE LABEL NEAR
LODSB
CMP AL,'('
JZ LOADATE1
DEC SI
PUSH CX
XOR CX,CX
CMP UV,10
JZ LOADATE0
INC CX ;取16進制數
LOADATE0:
CALL DATE ;取數據放入DX:AX中
POP CX
RET
LOADATE1:
PUSH NUM1 ;保存數據1數據2及運算符
PUSH NUM1+2
PUSH NUM2
PUSH NUM2+2
PUSH YSF
INC JUV
MOV JGV4,0 ;結果值清零
MOV JGV4+2,0
;進行四則運算
SZYS LABEL NEAR
CALL ISYSF ;首字元是運算符?
JZ SZYS2
CALL LOADATE ;不是,取數並保存
MOV NUM1,AX
MOV NUM1+2,DX
SZYS1:
XOR AX,AX ;數據2清零
MOV NUM2,AX
MOV NUM2+2,AX
CALL ISYSF ;下個是運算符?
JZ SZYS3
JNZ SZYS6
SZYS2:
PUSH AX
MOV AX,JGV4 ;將結果作為數據1
MOV NUM1,AX
MOV AX,JGV4+2
MOV NUM1+2,AX
POP AX
SZYS3:
MOV YSF1,AL
MOV YSF2,AL
CALL ISJJ ;是加減運算轉
JZ SZYS4
CALL LOADATE ;取數據2
MOV NUM2,AX
MOV NUM2+2,DX
CALL JSII1 ;數據1與數據2根據YSF1進行乘除運算
JMP SZYS1 ; 結果保存在數據1中
SZYS4:
CALL LOADATE ;取數據2並保存
MOV NUM2,AX
MOV NUM2+2,DX
SZYS4_1:
CALL ISYSF
JNZ SZYS6
CALL ISJJ ;運算符2是加減運算?
JNZ SZYS5 ;不是轉
PUSH AX
CALL JSJJ ;數據1與數據2根據YSF1進行加減運算
POP AX ; 結果保存在數據1中
MOV YSF1,AL ;保存新的運算符
JMP SZYS4
SZYS5:
MOV YSF2,AL ;保存運算符2
CALL LOADATE ;取數據3
MOV NUM3,AX
MOV NUM3+2,DX
CALL JSII2 ;數據2與數據3根據YSF2進行乘除運算
JMP SZYS4_1 ; 結果保存在數據2中
SZYS6:
MOV CL,AL
CMP AL,13
JNZ SZYS9
SZYS7:
CALL JSJG
CMP JUV,0
JZ SZYS8
DEC JUV
POP YSF
POP NUM2+2
POP NUM2
POP NUM1+2
POP NUM1
RET
SZYS8:
CMP CL,')'
JZ SZYS10
MOV JGV4,AX
MOV JGV4+2,DX
JNZ SZYS12
SZYS9:
CMP AL,')'
JNZ SZYS11
INC SI
JMP SZYS7
SZYS10:
MOV NUM1,AX
MOV NUM1+2,DX
JMP SZYS1
SZYS11:
STC
RET
SZYS12:
CLC
RET
;數制處理
UVIL LABEL NEAR
PUSH SI
UVIL1:
LODSB
CMP AL,' '
JZ UVIL2
CMP AL,9
JZ UVIL2
CMP AL,13
JZ UVIL4
JNZ UVIL1
UVIL2:
MOV BX,SI
CALL OVERS
JZ UVIL3
LODSW
CALL OVERS
POP SI
JNZ SZYS11
CMP AX,'01'
JNZ SZYS11
PUSH SI
MOV UV,10
UVIL3:
MOV AL,13
MOV [BX-1],AL
UVIL4:
POP SI
CLC
RET
;預置結果
YVJG LABEL NEAR
MOV AH,52H
INT 21H
MOV AX,ES:[BX-2]
MOV DS,AX
MOV AX,DS:[0CH]
MOV CS:JGV4,AX
MOV AX,DS:[0EH]
MOV CS:JGV4+2,AX
PUSH CS
POP DS
PUSH CS
POP ES
RET
;保存結果
BCJG LABEL NEAR
MOV AH,52H
INT 21H
MOV AX,ES:[BX-2]
MOV DS,AX
MOV AX,CS:JGV4
MOV DS:[0CH],AX
MOV AX,CS:JGV4+2
MOV DS:[0EH],AX
PUSH CS
POP DS
PUSH CS
POP ES
RET
STAR:
MOV SI,81H
CLD
CALL OVERS
JNZ STAR1
STAR0:
MOV DX,OFFSET MESS1
JMP STAR4
STAR1:
CALL YVJG
CALL UVIL
JB STAR0
MOV SAVESP,SP
CALL SZYS
MOV SP,SAVESP
MOV DX,OFFSET MESS2
JB STAR4
CALL CRLF
CALL XUJG
CALL BCJG
MOV DX,OFFSET MESS3
STAR4:
MOV AH,9
INT 21H
INT 20H
SAVESP DW 0
MESS1 DB 13,10,' Syntax:',13,10
DB ' JS <Expression> [10]',13,10,'$'
MESS2 DB 'Error in expression !$'
MESS3 DB 13,10,'$'
CODE ENDS
END NEWSTAR
⑤ 求C++課程設計題答案啊~~急。。。
#include <fstream.h> 文件操作頭文件
#include <string.h> 字元串流
class Person //人員類(抽象類)
{
protected:
double num; //編號
char Name[20]; //姓名
int Duty; //人員類別標志(1-教師,2-實驗員,3-行政人員,4-教師兼實驗員,5-行政兼教師)
double Salary; //基本工資
Person *next; //指針域
public:
Person() //基類構造
{
next=0; //指針域設置為空
}
virtual ~Person() //基類虛析構
{
}
virtual void Input()=0; //從鍵盤輸入數據
virtual void Input(ifstream& ifs)=0; //從文件輸入數據
virtual void Output()=0; //向屏幕輸出數據
virtual void Output(ofstream& ofs)=0; //向文件輸出數據
virtual double Incoming()=0; //計算收入
friend class College;
};
class Teacher:virtual public Person //教師類
{
protected:
int Hours; //教師課時
public:
//為對象設置數據分為兩種途徑,通過1)構造函數,2)一般成員函數
//分開可以使得程序中應用更加靈活
//本程序採用:預設構造+Input()
Teacher() //構造函數,初始化部分數據
{
Duty=1;
Salary=800;
}
void Input() //鍵盤補充輸入其它數據
{
cout<<"\n編號:"; cin>>num;
cout<<"\n姓名:"; cin>>Name;
cout<<"\n教師上學期課時:"; cin>>Hours;
Salary=Incoming();
}
void Input(ifstream& ifs)
{
ifs>>num>>Name>>Duty>>Hours>>Salary;
}
void Output()
{
cout<<num<<"\t"<<Name<<"\t"<<Duty<<"\t"<<Hours<<"\t"<<Salary<<"\t"<<endl;
}
void Output(ofstream& ofs)
{
ofs<<num<<"\t"<<Name<<"\t"<<Duty<<"\t"<<Hours<<"\t"<<Salary<<"\t"<<endl;
}
double Incoming()
{
if(Hours>120)
return Salary+(Hours-120)*20;
else
return Salary;
}
};
class Assistant:virtual public Person //實驗員
{
protected:
int Allowance;
int Hours;
public:
Assistant()
{
Duty=2;
Salary=650;
Allowance=150;
}
void Input()
{
cout<<"\n編號:"; cin>>num;
cout<<"\n姓名:"; cin>>Name;
cout<<"\n實驗員上學期實驗課時:"; cin>>Hours;
Salary=Incoming();
}
void Input(ifstream& ifs)
{
ifs>>num>>Name>>Duty>>Hours>>Salary;
}
void Output()
{
cout<<num<<"\t"<<Name<<"\t"<<Duty<<"\t"<<Hours<<"\t"<<Salary<<"\t"<<endl;
}
void Output(ofstream& ofs)
{
ofs<<num<<"\t"<<Name<<"\t"<<Duty<<"\t"<<Hours<<"\t"<<Salary<<"\t"<<endl;
}
double Incoming()
{
if(Salary>70)
return Salary+Allowance+(Hours-70)*20;
else
return Salary+Allowance;
}
};
class Manager:virtual public Person //行政人員
{
protected:
int Allowance;
public:
Manager()
{
Duty=3;
Salary=750;
Allowance=250;
}
void Input()
{
cout<<"編號:"; cin>>num;
cout<<"姓名:"; cin>>Name;
Salary=Incoming();
}
void Input(ifstream& ifs)
{
ifs>>num>>Name>>Duty>>Salary;
}
void Output()
{
cout<<num<<"\t"<<Name<<"\t"<<Duty<<"\t"<<"\t"<<Salary<<"\t"<<endl;
}
void Output(ofstream& ofs)
{
ofs<<num<<"\t"<<Name<<"\t"<<Duty<<"\t"<<Salary<<"\t"<<endl;
}
double Incoming()
{
return Salary+Allowance;
}
};
class Teacher_Assistant:public Teacher,public Assistant //教師兼實驗員
{
public:
Teacher_Assistant()
{
Duty=4;
Teacher::Salary=800;
Assistant::Allowance=150;
}
void Input()
{
cout<<"\n編號:"; cin>>num;
cout<<"\n姓名:"; cin>>Name;
cout<<"\n教師上學期課時:"; cin>>Teacher::Hours;
Salary=Incoming();
}
void Input(ifstream& ifs)
{
ifs>>num>>Name>>Duty>>Teacher::Hours>>Salary;
}
void Output()
{
cout<<num<<"\t"<<Name<<"\t"<<Duty<<"\t"<<Teacher::Hours
<<"\t"<<Salary<<endl;
}
void Output(ofstream& ofs)
{
ofs<<num<<"\t"<<Name<<"\t"<<Duty<<"\t"<<Teacher::Hours<<"\t"
<<Salary<<"\t"<<endl;
}
double Incoming()
{
if(Teacher::Hours>120)
return Salary+(Teacher::Hours-120)*20
+Allowance;
else
return Salary+Allowance;
}
};
class Manager_Teacher:public Manager,public Teacher //行政人員兼教師
{
public:
Manager_Teacher()
{
Duty=5;
Manager::Salary=750;
}
void Input()
{
cout<<"\n編號:"; cin>>num;
cout<<"\n姓名:"; cin>>Name;
cout<<"\n行政人員兼職教師上學期課時:"; cin>>Hours;
Salary=Incoming();
}
void Input(ifstream& ifs)
{
ifs>>num>>Name>>Duty>>Hours>>Salary;
}
void Output()
{
cout<<num<<"\t"<<Name<<"\t"<<Duty<<"\t"<<Hours<<"\t"<<Salary<<"\t"<<endl;
}
void Output(ofstream& ofs)
{
ofs<<num<<"\t"<<Name<<"\t"<<Duty<<"\t"<<Hours<<"\t"<<Salary<<"\t"<<endl;
}
double Incoming()
{
return Manager::Salary+Allowance+Hours*20;
}
};
class College
{
private:
Person *PL;
void Clear();
int College::Cfind(int ID,Person **p1,Person **p2);
public:
College(); //構造
~College(); //析構
void Add(); //增加職工
void Delete(); //刪除職工
void Modify(); //修改職工
void Print(); //輸出職工信息
void Save(); //職工信息存檔
void Load(); //職工信息裝入
void Find(); //查找
void Build(); //導引
void Stat(); //統計
};
College::College() //構造函數(創建1個頭結點的鏈表)
{
Person *p=new Teacher;
PL=p;
cout<<"自動裝入數據……………………\n";
Build();
}
College::~College() //析構函數(僅保留1個頭結點)
{
Person *p=PL;
while(p) //逐個刪除結點,包括頭結點
{
PL=p->next;
delete p;
p=PL;
}
PL=0;
}
void College::Add() //增加職工
{
char c;
do
{
cout<<"\n** 增加職工 **\n";
//查找尾結點
Person *p=PL;
while(p->next)p=p->next;
int ch;
cout<<"輸入職工分類碼[1-教師,2-實驗員,3-行政人員,4-教師兼實驗員,5-行政兼教師]:\n"; cin>>ch;
//創建新結點,錄入數據,連接到鏈表
Teacher *pt;
Assistant *pa;
Manager *pm;
Teacher_Assistant *pta;
Manager_Teacher *pmt;
switch(ch)
{
case 1: pt=new Teacher; pt->Input();
p->next=pt;
break;
case 2: pa=new Assistant; pa->Input();
p->next=pa;
break;
case 3: pm=new Manager; pm->Input();
p->next=pm;
break;
case 4: pta=new Teacher_Assistant; pta->Input();
p->next=pta;
break;
case 5: pmt=new Manager_Teacher; pmt->Input();
p->next=pmt;
break;
default: return;
}
cout<<"是否進行循環?y/n\n";
cin>>c;
}while(c=='y'||c=='Y');
Save();
}
void College::Clear() //清除所有的職工結點(僅保留頭結點)
{
Person *p=PL->next;
while(p)
{
PL->next=p->next;
delete p;
p=PL->next;
}
}
//查找
void College::Find()
{
double ID;
Person *p1;
Person *p2;
cout<<"輸入你要查詢的編號:";
cin>>ID;
p1=PL->next;
p2=PL;
while(p1)
{
if(p1->num==ID)
break; //找到
else
{
p2=p1; //繼續查找
p1=p1->next;
}
}
if(!p1) {cout<<"找不到你所查詢的人!!!\n請確認你所查詢的編號是否出錯!!!\n";return;}
else
{ cout<<"\n** 職工信息表 **\n";
cout<<"編號 姓名 崗位 課時 收入情況(元)\n";
p1->Output();}
}
//查找職工結點(返回1-找到,0-未找到.結點指針由p1返回,p2為前看指針)
int College::Cfind(int ID,Person **p1,Person **p2)
{
*p1=PL->next;
*p2=PL;
while(*p1)
{
if((*p1)->num==ID)
break; //找到
else
{
*p2=*p1; //繼續查找
*p1=(*p1)->next;
}
}
return *p1?1:0;
}
void College::Delete() //刪除職工
{
cout<<"\n** 刪除職工 **\n";
int num;
Person *p1,*p2;
cout<<"編號:"; cin>>num;
if(!Cfind(num,&p1,&p2))
{
cout<<"指定的人員沒有找到!\n";
}
else
{
p2->next=p1->next; //連接
delete p1;
cout<<"正確刪除!\n";
}
Save();
}
void College::Modify() //修改職工
{
cout<<"\n** 修改職工 **\n";
int num;
Person *p1,*p2;
cout<<"編號:"; cin>>num;
if(!Cfind(num,&p1,&p2))
{
cout<<"指定的人員沒有找到!\n";
}
else
{
p1->Output(); //輸出原來的職工信息(做提示)
p1->Input(); //輸入新的職工信息(更新)
cout<<"修改完成!\n";
}
Save();
}
void College::Print() //輸出職工信息
{
cout<<"\n** 職工信息表 **\n";
cout<<"編號 姓名 崗位 課時 收入情況(元)\n";
Person *p=PL->next;
if(!p)
{
cout<<"無職工記錄!\n";
return;
}
while(p) //遍歷鏈表,輸出職工信息
{
p->Output();
p=p->next;
}
}
void College::Save() //職工信息存檔?
{
ofstream f("Person.dat",ios::out); //打開文件
//遍歷輸出至文件
Person *p=PL->next;
while(p)
{
p->Output(f);
p=p->next;
}
f.close(); //關閉文件
cout<<"職工信息已經保存在Person.dat.\n";
}
void College::Build() //職工信息
{
char buf[81]; //臨時空間
int Duty; //人員類型
Person *p2; //新建結點的指針
long t; //讀寫位置
//清除現有結點(保留頭結點)
Clear();
//打開文件
ifstream f("Person.dat",ios::in);
//建立結點,讀數據
Person *p=PL; //尾結點指針
while(1)
{
//讀取人員類型
t=f.tellg();
f>>buf>>buf>>Duty;
if(f)
{
//根據人員類型創建新結點
switch(Duty)
{
case 1: p2=new Teacher; break;
case 2: p2=new Assistant; break;
case 3: p2=new Manager; break;
case 4: p2=new Teacher_Assistant; break;
case 5: p2=new Manager_Teacher; break;
default: f.close(); return;
}
p->next=p2;
p=p->next;
f.seekg(t);
p->Input(f);
}
else
break;
}
//關閉文件
f.close();
}
void College::Load() //職工信息錄入
{
char ah;
int c;
cout<<"\n** 職工信息錄入 **\n";
do
{
cout<<"輸入要錄入的職工個數:\n";
cin>>c;
for(int i=1;i<=c;i++)
{
//查找尾結點
Person *p=PL;
while(p->next)p=p->next;
int ch;
cout<<"輸入職工分類碼[1-教師,2-實驗員,3-行政人員,4-教師兼實驗員,5-行政兼教師]:"; cin>>ch;
//創建新結點,錄入數據,連接到鏈表
Teacher *pt;
Assistant *pa;
Manager *pm;
Teacher_Assistant *pta;
Manager_Teacher *pmt;
switch(ch)
{
case 1: pt=new Teacher; pt->Input();
p->next=pt;
break;
case 2: pa=new Assistant; pa->Input();
p->next=pa;
break;
case 3: pm=new Manager; pm->Input();
p->next=pm;
break;
case 4: pta=new Teacher_Assistant; pta->Input();
p->next=pta;
break;
case 5: pmt=new Manager_Teacher; pmt->Input();
p->next=pmt;
break;
default: return;
}
}
Save();
cout<<"是否還要繼續錄入職工信息?? y/n\n";
cin>>ah;
}while(ah=='Y'||ah=='y');
}
void College::Stat()
{
Person *p1;
Person *p2;
double Sa=0;
int a,b,i=0;
double c,d;
cout<<"選擇你要統計的類別\n[1—類別;2—工資;3—要發的工資總數;4—總的人數]\n";
cin>>a;
if(a==1)
{
cout<<"輸入你要統計的類別:\n[1-教師,2-實驗員,3-行政人員,4-教師兼實驗員,5-行政兼教師]\n";
cin>>b;
p1=PL->next;
p2=PL;
while(p1)
{
if(p1->Duty==b)
{
i++;
//找到
p2=p1; //繼續查找
p1=p1->next;
}
else
{
p2=p1; //繼續查找
p1=p1->next;
}
}cout<<b<<"類職工的個數是:"<<i<<endl;
}
else if(a==2)
{
cout<<"輸入工資下限:";cin>>c;
cout<<"\n輸入工資上限:";cin>>d;
p1=PL->next;
p2=PL;
while(p1)
{
if(p1->Salary>=c&&p1->Salary<=d)
{
p1->Output();//找到
p2=p1; //繼續查找
p1=p1->next;
}
else
{
p2=p1; //繼續查找
p1=p1->next;
}
}
}
else if(a==3)
{
Person *p=PL->next;
while(p) //遍歷鏈表
{
Sa=Sa+(p->Salary);
p=p->next;
}
cout<<"工資總數是:"<<Sa<<endl;
}
else if(a==4)
{
Person *p=PL->next;
while(p)
{
i=i+1;
p=p->next;
}
cout<<"總人數是:"<<i<<endl;
}
cout<<"統計完成!!!\n";
}
void main()
{
char ch;
College c; //定義大學對象
//顯示主菜單,接受選擇,並分支調用大學類的相應功能的成員函數
do
{
cout<<"\n☆☆ 高校工資管理系統 ☆☆\n";
cout<<"1—數據錄入\n";
cout<<"2—查詢\n";
cout<<"3—修改職工\n";
cout<<"4—增加職工\n";
cout<<"5—刪除職工\n";
cout<<"6—統計\n";
cout<<"7—瀏覽\n";
cout<<"8—退出\n"<<"請選擇:\n";
cin>>ch;
switch(ch)
{
case '1': c.Load(); break;
case '2': c.Find(); break;
case '3': c.Modify(); break;
case '4': c.Add(); break;
case '5': c.Delete(); break;
case '6': c.Stat(); break;
case '7': c.Print(); break;
}
}while(ch!='8');
}
⑥ 課程設計題目
肯復雜 不怎麼好說
⑦ C#課程設計的一道題目。
有些系統的演示可以看看謝謝
⑧ 運籌學課程設計案例分析題以及答案
您好
樓主
很高興看見了您的問題
雖然我無法正確的回答您的問題
但是我的回答能給您幾點提示
1
游戲中遇到了疑問可以先去看看游戲幫助
2
當自己實在無法解決時可以求助資深玩家
其實
很多難題都是完全可以自己解決的!
當您自己解決問題時是不是很有成就感。
同時我也深信樓主的智慧
祝您能早日找到問題答案
希望我的回答也能夠幫到您!
祝您好運。謝謝採納
!
⑨ 跪求機械設計課程設計題目答案,題目如下:單級錐齒輪減速器,一級鏈傳動,工作年限10年,班制2年
分這么少。做一個這樣的設計要好幾天呢