1. 程式人生 > >【C++】用結構體完成:程式設計求出3個學生中某個學生的平均成績

【C++】用結構體完成:程式設計求出3個學生中某個學生的平均成績

//用結構體完成:程式設計求出3個學生中某個學生的平均成績
#include <iostream>
#include <string.h>
using namespace std;
struct student
{
	char *name;
	double score[3];
};
struct student stu[3]={{"han",80,90,95},{"zhao",78,85,92},{"dan",75,60,59}};  //初始化
struct student *find(struct student *s)
{
	char name1[20];
	cout<<"請輸入您要查詢的學生姓名:";
	cin>>name1;
	for(int i(0);i<3;i++)
		if(strcmp(name1,s[i].name)==0)
			return s+i;
	cout<<"您要查詢的人不存在。"<<endl;
	return 0;
}
int main()
{
	struct student *p;
	p=find(stu);
	cout<<p->name<<": "<<(p->score[0]+p->score[1]+p->score[3])/3<<endl;
	return 0;
}

相關推薦

C++結構完成程式設計3學生某個學生平均成績

//用結構體完成:程式設計求出3個學生中某個學生的平均成績 #include <iostream> #include <string.h> using namespace st

C++單個結構

核心觀點: 單個結構體是不能寫成“指標名 = 結構體變數名”; 結構體陣列卻可以寫成“指標名 = 結構體變數名”  。 觀點1論證:單個結構體是不能寫成“指標名 = 結構體變數名”的, 例如 pstu = stu1 是錯誤的,必須寫成 pstu = &stu1

C++指向結構變數的指標

#include"iostream" #define N 10 using namespace std; //指向結構體變數的指標 struct Student { int numb; char *

C語言結構陣列指標完成有三學生資訊,存放在結構陣列,要求輸出全部資訊

//用結構體陣列指標完成:有三個學生資訊,存放在結構體陣列中,要求輸出全部資訊 #include <stdio.h> struct Stu { int num; char name[2

C語言結構陣列完成有5學生(包括學號,姓名,成績),要求按照成績高低輸出學生資訊.

//用結構體陣列完成:有5個學生(包括學號,姓名,成績),要求按照成績高低輸出學生資訊 #include <stdio.h> struct Stu { int num; char na

C語言結構給另一個同類型結構賦值: 等號即可

看到很多C程式碼的結構體賦值都是用memcpy函式來拷貝,其實根本不需要,用等號直接賦值即可。結構體描述的是的一塊連續記憶體的記憶體佈局,同類型的一個結構體變數給另一個結構體變數賦值,使用等號編譯不會有任何問題,其效果顯然也和人直覺認為的一樣,拷貝對應記憶體。

c++=過載,報錯沒有合適的複製建構函式

不想看太多的朋友看這句就行了:在你的複製建構函式作為引數傳進去的那個物件前加個const. 是這樣的,在寫機器學習作業的時候,遇到了很多矩陣演算法,為了處理上的方便,我寫了一個矩陣類Matrix,如下

MATLABMATLAB 結構

Matlab 中結構體, 使用很方便, 直接用或者先用 struct 關鍵字建立結構都可以. 不用宣告, 不用初始化, 直接用.表明這是一個結構體即可. % a complex number x.real = 0; x.imag = 0; 使用 struc

C++:sort對string型別進行排序

前言 這個問題來自於leetcode上面的一道題 Valid Anagram Given two strings s and t, write a function to determine if t is an anagram of s. For ex

c++工廠模式實現計算器功能(附工廠模式程式碼)

工廠模式 編譯環境:Linux vim DynBase.h #ifndef _DYN_BASE_H_ #define _DYN_BASE_H_ #include <map> #inclu

C#三大結構

談到程式設計肯定會三大結構,接下來就給大家分享一下C#中三大結構的相關知識。 順序結構 程式碼從第一行走到最後一行就是順序結構,哈哈,我理解的順序結構就是按照順序來唄。 迴圈結構 函式名稱 while do…while

C++結構作為引數傳遞並返回

#include"iostream.h" #include"stdio.h" #include"string.h" struct Date { int day,month,year; }; Dat

C#三大結構之迴圈

————前言——————————————————————————    何為結構?我個人理解,結構相當於人的骨架,支撐著人的整個身體,行為與肢體之間的協調。程式語言中的結構也是如此,正因為結構的存在,才組成了一段程式碼,一個系統,一個程式。上一篇部落格已經介紹了分支結構,下

C++指標陣列構造字串陣列

</pre><pre name="code" class="html">#include"iostream" using namespace std; //用指標陣列構造字

Cc語言編寫一個猜字遊戲!!!!

首先,編寫一個猜字遊戲需要使用者選擇頁面 其次是,在遊戲過程中如果猜錯就需要重新輸入(即需要用到迴圈結構) 當用戶猜對了,就需要停止程式。(使用break) #define _CRT_SECURE_N

改善結構相等性效能

目錄:https://www.cnblogs.com/liqingwen/p/10261436.html 通過重寫 Equals 方法可以改善結構體相等比較的效能方法。 如果結構體包含引用型別欄位(而不是僅僅只有值型別,如 int)。 預設情況下,結構體的相等性是通過對記憶體中的兩個結構體物件進

C++ 花括號初始化和括號初始化有什麼區別?

比如下面這個問題 long double ld=3.1415926536; int a{ld},b={ld}; //錯誤,轉換未執行,因為存在丟失資訊的危險 int c(ld),d=(ld); //正確,轉化執行,且確實丟失了部分值 為什麼會提示 “a”本地函式定義是非法的,而c,d卻又沒問

C++——類的形式封裝動態順序表

在前面已經用C語言實現過了 https://blog.csdn.net/Paranoid_cc/article/details/79773441 今天用另一種語言C++ 以類的形式來實現一下 順序表是在計算機記憶體中以陣列的形式儲存的線性表,線性表的順序儲存是指用一組地址連續的儲

c++c++實現複數類及運算子的過載

#include<iostream> using namespace std; class Complex { public: Complex(double real = 0.0, double image = 0.0)//建構函式 :_real(real

c++資料結構———堆

堆是一種特殊的資料結構,它通常是一個可以被看做一棵樹的陣列物件。 What?那它到底是一棵樹,還是一個數組呢?答案是陣列。這個陣列以二叉樹的形式來維護。注意:這個二叉樹必須是完全二叉樹 堆結構的二叉樹