基于案例的visual c++程序設(shè)計_第1頁
基于案例的visual c++程序設(shè)計_第2頁
基于案例的visual c++程序設(shè)計_第3頁
基于案例的visual c++程序設(shè)計_第4頁
基于案例的visual c++程序設(shè)計_第5頁
全文預(yù)覽已結(jié)束

下載本文檔

版權(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論