回到课程主页,链接:C++程序设计课程主页-2012级
本次上机对应的教学内容:第7章 自定义类型,主要为结构体与枚举类型
【项目1】热身运动 回顾上学期学习过的知识,编程序解决下面的问题
1、编写函数stringcat,实现字符串的连接,程序中需要使用指针形式访问字符串
int main() { char s1[30]="I love "; char *s2="C++"; stringcat(s1,s2); cout<<s1<<endl; return 0; } char * stringcat(char *source, const char *dest) {//将字符串dest连接到字符串source的尾部 //返回连接后的字符串首地址 }2、用递归算法设计函数,求1*3*5*7*…*(2n-1)。(提示:可以先写出递归公式再求解)
int main () { int n, i; cout<<"Input n:"; cin>>n ; cout<<fac(n)<<endl; return 0; } long fac (int n) { }3、5个学生考了3门课程,编程求每个学生的总成绩及平均成绩(用二维数组完成)。
int main( ) { float s[5][3]; int i,j; for (i=0;i<5;i++) for (j=0;j<3;j++) cin>>s[i][j]; chengji(s); return 0; } void chengji(const float s[5][3]) { int i,j; float sum,avg; }4、编写模板函数sort,功能是:对三个形参a, b, c按照从大到小排序。(10分)
int main () { int i1,i2,i3; cin>>i1>>i2>>i3; sort(i1,i2,i3); cout<<i1<<i2<<i3<<endl; double d1,d2,d3; cin>>d1>>d2>>d3; sort(d1,d2,d3); cout<<d1<<d2<<d3<<endl; string s1,s2,s3; cin>>s1>>s2>>s3; sort(s1,s2,s3); cout<<s1<<s2<<s3<<endl; return 0; } template<typename T> //模版声明 void sort( ) { }5、按照气象划分法,通常以阳历3~5月为春季,6~8月为夏季,9~11月为秋季,12月~来年2月为冬季。使用switch结构编写函数根据月份输出对应的季节。
int main () { int m; cout<<"Input month:"; cin>>m ; season(m) ; return 0; } void season (int month) { //根据月份输出对应的季节。 }
/* * 程序的版权和版本声明部分 * Copyright (c)2013, 烟台大学计算机学院学生 * All rightsreserved. * 文件名称: date.cpp * 作 者: * 完成日期: 年 月 日 * 版本号: v1.0 * 输入描述:年月日 * 问题描述:输出对应的那一天是这一年的第几天 * 输出:第几天 */ #include <iostream> using namespace std; struct Date { int year; int month; int day; }; int main() { Date date; cout<<"input year,month,day:"; cin>>date.year>>date.month>>date.day; int days; cout<<date.month<<"月"<<date.day<<"日是"<<date.year<<"年的第"<<days<<"天."<<endl; return 0; }【项目2扩展:定义一个结构体变量(包括年、月、日),输入两个人的生日,求出他们相差多少天。
#include <iostream> using namespace std; struct Student { char num[13]; char name[10]; int cpp; int math; int english; int grade; double average; }; const int N=3; int main( ) { int i, j, k; //定义结构体数组 Student stu[N]; return 0; }参考运行图: