C++面向物件程式設計50道程式設計題(第03題)
阿新 • • 發佈:2018-11-29
C++面向物件程式設計50道程式設計題(第03題)
摘要:C++程式設計實習是為學生提供了一個既動手又動腦,獨立實踐的機會,將課本上的理論知識和實際有機的結合起來,鍛鍊學生的分析問題和解決問題的能力,提高學生運用所學知識解決實際問題的能力。
本專輯為程式設計入門者、高校計算機軟體專業學習或複習提供C++程式設計題庫。
讀者請先獨立思考哦,再與參考程式進行比對檢查。
一、問題描述
二、考察內容
基本面向物件概念,如何建立類、物件,對類資料成員和成員函式的理解,簡單的陣列運算、字串應用等。
三、難度等級
難度等級:★★★☆☆
四、參考程式
#include<iostream.h> #include <string.h> class ID{ char s[19],x[11]; int w[17]; public: ID(char *str); void fun(); void print(){ cout<<s<<endl; } }; ID::ID(char *str) { strcpy(s,str); char x1[]="10X98765432"; int w1[]={7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2}; strcpy(x,x1); for(int i=0;i<17;i++) w[i]=w1[i]; } void ID::fun() { char t[20]; strcpy(t,s+6); strcpy(s+8,t); s[6]='1'; s[7]='9'; int ss=0; for(int i=0;i<17;i++) ss+=(s[i]-'0')*w[i]; ss%=11; s[17]=x[ss]; s[18]=0; } void main() { char st[]="340524800101001"; ID test(st); cout<<"原身份證號:"; test.print(); test.fun(); cout<<"擴充套件後的原身份證號:"; test.print(); }
五、心得感受
可以在評論處寫下思考和程式設計此題的感受