下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
基于案例的visualc++程序設(shè)計案例:設(shè)計一個學(xué)生成績管理程序,要求能夠?qū)崿F(xiàn)添加學(xué)生信息、計算學(xué)生總分和平均分、查詢學(xué)生成績、刪除學(xué)生信息等功能。
在基于案例的VisualC++程序設(shè)計中,我們首先需要搭建程序的界面??梢允褂肕FC進行界面設(shè)計,通過拖拽控件和設(shè)置屬性來構(gòu)建用戶交互界面。界面中可以包括按鈕、文本框、列表框等控件,以實現(xiàn)各種功能。
接下來,我們需要設(shè)計學(xué)生類來保存學(xué)生的信息??梢詣?chuàng)建一個名為Student的類,其中包含學(xué)生的姓名、學(xué)號、各科目成績等屬性。代碼示例如下:
```cpp
classStudent
{
public:
CStringname;//學(xué)生姓名
intstudentID;//學(xué)生學(xué)號
intscores[3];//學(xué)生三科目的成績
//構(gòu)造函數(shù)
Student(CStringn,intid,ints1,ints2,ints3)
{
name=n;
studentID=id;
scores[0]=s1;
scores[1]=s2;
scores[2]=s3;
}
};
```
在主界面的添加學(xué)生信息功能中,我們可以通過文本框輸入學(xué)生姓名、學(xué)號和各科目成績,然后點擊一個按鈕將學(xué)生信息添加到學(xué)生列表中。代碼示例如下:
```cpp
voidCMyProjectDlg::OnBnClickedAddButton()
{
//從文本框讀取學(xué)生信息
CStringname;
GetDlgItemText(IDC_NAME_EDIT,name);
intstudentID=GetDlgItemInt(IDC_ID_EDIT);
intscore1=GetDlgItemInt(IDC_SCORE1_EDIT);
intscore2=GetDlgItemInt(IDC_SCORE2_EDIT);
intscore3=GetDlgItemInt(IDC_SCORE3_EDIT);
//創(chuàng)建學(xué)生對象
Studentstudent(name,studentID,score1,score2,score3);
//添加到學(xué)生列表
m_studentList.push_back(student);
//刷新學(xué)生列表顯示
UpdateStudentList();
}
```
在計算學(xué)生總分和平均分功能中,我們可以遍歷學(xué)生列表,累加各科目成績,并計算平均分。代碼示例如下:
```cpp
voidCMyProjectDlg::OnBnClickedCalculateButton()
{
inttotalScore=0;//總分
intstudentCount=m_studentList.size();//學(xué)生數(shù)量
//遍歷學(xué)生列表,累加成績
for(inti=0;i<studentCount;i++)
{
totalScore+=m_studentList[i].scores[0]+m_studentList[i].scores[1]+m_studentList[i].scores[2];
}
doubleaverageScore=totalScore/(double)(studentCount*3);//平均分
//顯示計算結(jié)果
CStringresult;
result.Format(_T("總分:%d,平均分:%.2f"),totalScore,averageScore);
SetDlgItemText(IDC_RESULT_STATIC,result);
}
```
在查詢學(xué)生成績功能中,我們可以根據(jù)學(xué)生姓名或?qū)W號搜索學(xué)生信息,并將查詢結(jié)果顯示在列表框中。代碼示例如下:
```cpp
voidCMyProjectDlg::OnBnClickedSearchButton()
{
//獲取查詢關(guān)鍵字
CStringkeyword;
GetDlgItemText(IDC_KEYWORD_EDIT,keyword);
//清空列表框
m_studentListBox.ResetContent();
//遍歷學(xué)生列表,查找匹配項
intstudentCount=m_studentList.size();
for(inti=0;i<studentCount;i++)
{
if(m_studentList[i].name.Find(keyword)!=-1||m_studentList[i].studentID==_ttoi(keyword))
{
//匹配項加入列表框
CStringitem;
item.Format(_T("姓名:%s,學(xué)號:%d,科目1:%d,科目2:%d,科目3:%d"),
m_studentList[i].name,m_studentList[i].studentID,m_studentList[i].scores[0],
m_studentList[i].scores[1],m_studentList[i].scores[2]);
m_studentListBox.AddString(item);
}
}
}
```
在刪除學(xué)生信息功能中,我們可以通過選擇學(xué)生列表中的某一項,然后點擊刪除按鈕來刪除學(xué)生信息。代碼示例如下:
```cpp
voidCMyProjectDlg::OnBnClickedDeleteButton()
{
//獲取選擇的索引
intselectedIndex=m_studentListBox.GetCurSel();
if(selectedIndex!=LB_ERR)
{
//刪除學(xué)生信息
m_studentListBox.DeleteString(selectedIndex);
m_studentList.erase(m_studentLi
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 基于二零二五年度標(biāo)準(zhǔn)的農(nóng)產(chǎn)品質(zhì)量檢測合同2篇
- 針對2025年度新能源項目建設(shè)的融資租賃合同2篇
- 民宿改造升級承攬合同
- 醫(yī)療廢水處理合同范本
- 2025版專業(yè)書籍文印與發(fā)行服務(wù)合同3篇
- 二零二五年度信息技術(shù)兼職聘用合同范本4篇
- 2025版土地轉(zhuǎn)包及使用權(quán)變更合同協(xié)議3篇
- 2025版小企業(yè)合同管理規(guī)范與合同風(fēng)險控制策略3篇
- 二零二五年度借款展期協(xié)議及擔(dān)保合同范本下載2篇
- 2025年度綠色建筑節(jié)能改造項目合同模板4篇
- 2025年春新滬科版物理八年級下冊全冊教學(xué)課件
- 2025屆高考語文復(fù)習(xí):散文的結(jié)構(gòu)與行文思路 課件
- 電網(wǎng)調(diào)度基本知識課件
- 拉薩市2025屆高三第一次聯(lián)考(一模)語文試卷(含答案解析)
- 《保密法》培訓(xùn)課件
- 回收二手機免責(zé)協(xié)議書模板
- (正式版)JC∕T 60023-2024 石膏條板應(yīng)用技術(shù)規(guī)程
- (權(quán)變)領(lǐng)導(dǎo)行為理論
- 2024屆上海市浦東新區(qū)高三二模英語卷
- 2024年智慧工地相關(guān)知識考試試題及答案
- GB/T 8005.2-2011鋁及鋁合金術(shù)語第2部分:化學(xué)分析
評論
0/150
提交評論