c++大作业说明书
【C大作业,给学生的文件】C语言大作业 华工

C语言大作业题目:专业班级姓名学号提交日期年月日一、课程设计目的与要求二、主要数据和函数说明数据类型说明:(例如:struct student类型用结构体储存学生信息,类型中包括:1、num(学号),char数组类型,最多输入10位数字;2、name(姓名),char数组类型,最多输入10位字母;3、sex(性别),char类型;4、age(年龄),int类型;5、add(地址),char数组类型,最多输入40位字母;6、mail(邮编),char数组类型,最多输入6位数字;7、tel(电话),char数组类型,最多输入20位数字;8、指针next,struct student类型,用于存放链表下一结点的地址。
函数类型说明:(例如:自定义函数:mainmenu函数类型:void参数:head指针功能:实现主菜单的显示和选择操作功能返回值:无create函数类型:struct student参数:无功能:创建一个head指针返回值:struct student类型的指针head,初始值为NULLinput函数类型:struct student参数:head指针功能:按顺序输入数据,并把数据连成链表返回值:操作完后的head指针系统库函数:(例如:函数名头文件功能输入输出函数头文件stdio.h 对数据进行输入输出strcmp函数头文件string.h 比较两字符数组是否相同fflush函数头文件stdio.h. 清除键盘缓冲区system(”cls”)头文件stdlib.h 清除当前屏幕内容Sleep函数头文件windows.h 当前操作延迟getch()函数头文件conio.h 从键盘读取一个字符三、算法及运行过程说明1. 算法2. 关键变量说明3. 程序运行截图及操作方法说明(例如:(1). 菜单,对于程序中各个菜单的选项输入时只有输入符合的编号才会执行下一步,否则待用户继续输入。
(一输入即执行,不需回车)。
C语言程序设计大作业设计说明书-简单计算器

高级语言程序设计大作业设计说明书简单计算器学院电子信息工程学院专业班级级通信工程班学生姓名xxxx学号*********指导老师xxxxxx1.概述:本程序是在C++6.0环境下开发的一款集整数与小数的四则运算和求余运算为一体的简单计算器。
主要运用了赋值、计算、选择结构(switch语句实现多分支选择结构)、条件运算、循环计算、函数调用等原理。
2.程序概要设计:前实现的功能:程序已经可以完成整数、小数的基本加减乘除;整数基本求余运算;二进制,八进制,十进制,十六进制的相互转换,并可以对输入者的输入错误提出错误警告;程序可以循环运行,也可以自我实现退出菜单的功能(需要按2次回车)。
目前发现的BUG有:1、在整数输入数字的时候,如果输入的是小数的话会一直循环菜单,不会出现结果,也不会提示输入者输入错误,也不会有结果。
2、在整数求余功能中,如果输入的是小数或者输入不合理也会出现一直循环菜单的情况,同样不会提示输入者输入错误,也不会有结果。
目前没有实现的功能有:1.给出一个二进制数,不可以计算它的原码、补码和反码。
2.整数,小数的基本运算和整数求余的运算出现错误无法提示,函数不是十分完整。
3.全部进制的函数输入的数字个数都是有限制(数字个数不能大于100),超范围就会输出错误结果,无法实现无限制的输入而得出正确结果。
4.每次算完第一次不能按回车,只能按其他按键,否则会退出,因为按两次回车就会退出程序。
5.每次算完,按非回车键都会出现一级菜单,有点繁琐,再次选择整数、小数、进制运算。
流程图:3.程序详细设计:在主函数中设置了全局变量,以实现功能选择,并用char函数实现循环输入。
运用do while语句控制结束程序,即在运算过后,如由键盘输入回车键则结束程序。
之后进入功能选择菜单,先调用写好的menu函数(回车2次可退出程序)。
输入提示及输入控制:若输入的数字不是1-3,则提示输入错误,重新输入:(运用选择结构进行判断)其中,整数、小数、及进制转换计算功能分别使用了另一个switch语句嵌套,实现选择功能。
c 语言大作业课案

面向对象程序设计大作业------计算器类、职工工资管理系统学院名称 xxxxxxxxxxxxxxxxxx 专业班级 xxxxxxxxxxxxxxxxxxxxx 学生姓名 xxxxx学号 xxxxxxxxx指导教师 xxxxxxx 完成时间: 2015 年 7 月 1 日目录1.计算器类counter1.1基本功能 (1)1.2展功功能 (1)1.3开发环境工具 (1)1.4设计过程描述 (1)1.5小结 (2)1.6附录(源程序代码) (2)1.7测试结果 (12)1.8参考文献 (15)2.职工工资信息管理系统2.1基本功能 (16)2.2展功功能 (16)2.3开发环境工具 (16)2.4设计过程描述 (16)2.5小结 (21)2.6 源程序代码 (22)2.7 测试结果 (32)2.8参考文献 (33)1.计算器类 counter1.1基本功能:设计一个计算器类模板,适用各类型表达式的“+、-、×、/”数学四则运算以及“>、>=、<、<=、!=、==”等关系运算。
数学四则运算表达式中可含有加、减、乘、除运算符以及各型数据的运算对象。
程序可以直接输入数学表达式以及关系表达式,不需要任何转换,就可以直接输出数学四则运算和逻辑运算的结果。
并且操作简单、界面清晰、灵活、实用、方便等。
(系统功能可充分自由发挥)。
1.2扩展功能:三角运算、进制转换、开方、幂指数等。
1.3开发环境工具:visual c++6.01.4设计过程描述将原函数的int型数据改为float型数据。
仿照类设计四则混合运算的程序,四则混合运算的分函数主要有double eval_exp(char *exp);//运算四则运算表达式的主函数,返回结果、void oopcalc::sizeyunsuan();//四则运算调用的主函数、double oopcalc::eval_exp(char *exp)//计算表达式函数并返回结果、get_token();//取表达式函数等。
南昌大学C 大作业讲解

软件学院大作业任务书课程名称:C++程序设计题目:C++综合编程(面向对象)专业:计算机网络技术班级:131学号:8001613学生姓名:完成人数:起讫日期:2014.6.3任课教师:李荣鑫职称:教师部分管主任:完成时间:2014.6.9说明1.本任务书由任课教师填写后,下达到学生。
2.任务完成后,任课教师需填写小结表。
3.任务书、学生成绩与学生完成后的大作业(纸质和电子两种)一并报送各教学研究部审核后转教务办。
4.另附一份全班大作业总结《C++程序设计》编程试题1.设计一个圆柱体类,定义构造函数初始化圆柱体,定义两个成员函数分别计算它的底面积和体积。
2.定义一个点类Point,有横坐标x和纵坐标y,定义构造函数初始化点,定义display()函数显示点的坐标。
再定义一个线段类Line,由两个点作为对象成员,定义不同的构造函数初始化线段,定义成员函数计算线段的距离。
3.编写一个复数类。
实现各种常用构造函数,实现整数,实数向复数的转换函数,实现整数、实数和复数以及复数和复数之间的加、减、乘法运算。
4.设计一个矩阵类,要求在矩阵类中重载加(+)、减(-)、乘(*)、复值(=)运算,在主函数中定义两个对象,并分别调用重载的运算符。
5.设计一个基类Shapes,包括成员函数display(),声明为纯虚函数。
由该类派生出两个类:矩形类Rectangle和圆类Circle, 再由长方形类派生出立方体类Box,由圆类派生出圆柱体类Cylinder。
分别定义display()函数显示图形的主要几何元素(如长宽高半径等),用GetS()计算图形的面积,用GetV计算图形的体积。
在主函数中定义相关的对象并显示相应的内容。
6.定义一个日期类Cdate.,该类有year,month,day三个私有数据成员。
实现一下功能:1)定义成员函数display()显示日期;2)定义成员函数setdate()设置日期;3)定义默认构造函数设置系统默认日期;4)重载++运算符。
C语言作业要求及设计说明书(初学者)

程序设计说明书姓名:***班级:轮机136学号:************2023-12-27AHA-C语言程序设计大作业要求一、作业目的1、驾驭用C语言进行程序设计的基本方法。
2、娴熟驾驭window限制台应用程序的编写。
3、初步完成一个应用程序的设计、编码、调试,了解程序设计过程,熬炼实际应用实力。
二、作业内容猜数字嬉戏:计算机随机生成没有重复的n个数,用户从键盘输入揣测的数。
每猜一次,电脑给出提示信息。
假如用户输入的数跟计算机生成的数,数值和位置都完全相等,则胜出。
基本功能要求:1.随机生成没有重复的4个数。
(每个数字在0-9范围内)。
2.用户从键盘输入4个不重复的数,程序能对用户输入的数与随机生成的数进行匹配,并给出提示信息:“有x个数数值和位置都相同!有y个数数值相同,但位置不同。
”3.限制用户的尝试次数为10次。
4.计算、输出并保存用户的得分,计分规则:总分是100分,每失败一次扣10分。
5.有操作菜单,能依据不同选择运行不同功能:1:起先嬉戏!2:查看上次成果!3:输出帮助信息!0:退出程序!扩展功能要求:1.对用户输入的数字进行检查,假如用户输入重复的数,给出提示,要求重新输入。
2.能对嬉戏进行设置:在操作菜单中增加相应的选项:“4:系统设置”。
(1)修改要猜的数字的个数n,依据修改后的n值,计算机可随机生成n个数,用户进行n个数的揣测嬉戏。
(2)修改可以尝试的次数。
3.若嬉戏胜出且成果在前五名,可输入并记录对应的用户姓名,并添加到积分榜中。
操作菜单中相应选项改为“2:积分榜!”,用于把积分榜中保存的前五名成果及用户姓名显示出来。
4.能对积分榜的成果进行排序和输出。
提示:(1)生成一个0~9的随机数,运用rand函数:#include<stdio.h>#include<stdlib.h> //运用rand函数必需运用此头文件#include<time.h>int main(){int a;srand(time(0)); //生成一个种子。
C语言程序设计大作业设计说明书

C语言程序设计大作业设计说明书概述:处在Microsoft Visual C++软件下的Developer Studio集成开发平台中进行开发。
已实现了基本功能中的:1、随机生成没有重复的4个数。
(每个数字在0-9范围内)。
2、用户从键盘输入4个不重复的数,程序能对用户输入的数与随机生成的数进行匹配,并给出提示信息:“有x个数数值和位置都相同!有y个数数值相同,但位置不同。
”3、控制用户的尝试次数为10次。
4、计算、输出并保存用户的得分,计分规则:总分是100分,每失败一次扣10分。
5、有操作菜单,能根据不同选择运行不同功能:1:开始游戏!2:查看上次成绩!3:输出帮助信息!4:游戏设置!0:退出程序!还实现了扩展功能里的:1.对用户输入的数字进行检查,如果用户输入重复的数,给出提示,要求重新输入。
2.能对游戏进行设置:在操作菜单中增加相应的选项:“4:系统设置”。
(1)修改要猜的数字的个数n,根据修改后的n值,计算机可随机生成n个数,用户进行n个数的猜测游戏。
(2)修改可以尝试的次数。
未实现的功能是扩展功能里的:1、若游戏胜出且成绩在前五名,可输入并记录对应的用户姓名,并添加到积分榜中。
操作菜单中相应选项改为“2:积分榜!”,用于把积分榜中保存的前五名成绩及用户姓名显示出来。
2、能对积分榜的成绩进行排序和输出。
经多次运行尝试,虽然编辑、编译、连接都没有错误,可以运行,但是在运行的时候有时会卡住,要等一会才会显示出来。
程序概要设计:程序流程是:开始运行到主界面,在主界面中可选择:1:开始游戏!2:查看上次成绩!3:输出帮助信息!0:退出程序!,然后选择开始游戏后,程序会生成4个不重复且在0-9之间的随机数,然后玩家需输入4个不同的数0-9之间的数,接着程序会判断玩家输入的4个数与程序生成的随机数的数值和位置是否相同,并提示4个数的数值跟位置相同和不同有几个,就这样一直循环到4个数的数值和位置都正确,或玩家尝试次数已超过10次。
《c语言大作业》1周实习指导书.doc

《C语言大作业》实习指导书一、课程的性质、任务和目的c语言是非常优秀的程序设计语言,应用广泛,是高校计算机专业的一门专业基础课程。
学好c语言,是学习计算机专业课程和用好计算机的重要基础。
耍学好c语言,应抓好理论学习、上机实验以及综合应用这三个环节。
本课程是计算机专业的学生在完成了《计算机语言c》课程的学习后,为加强学生对程序设计思想的理解、通过解决有一定代表性的小型综合应用类课题从而提高实际编程能力而设置的一门实践性课程。
木课程为学生提供了一个既动手乂动脑,独立实践的机会,将课木上的理论知识和实际有机地结合起来,培养和锻炼学生分工协作、分析和解决实际问题并利用计算机求解问题的能力,以提高学生适应实际,实践编程的能力,从而掌握基本的程序设计过程和技巧,具备初步的高级语言程序设计和调试能力。
通过本课程的学习,要求学生:•熟练地掌握计算机语言C的语法结构•熟练地掌握结构化语言C的三种结构•培养良好的编程风格•培养编程和调试能力,使学生巩固《计算机语言C》课程学习的内容,强化实践动手能力,提高编程水平•为后续各门计算机专业课程及其它编程语言的学习打下基础二、根据班级人数分组根据班级人数分为若干小组,每组1〜3人左右,选组长一名。
组长的作用及任务:1.选题或抽题2.召集组内成员开会讨论:•总体功能•模块的划分•任务分配•进度安排等3.组内参考资料的共享4.收集组内每个成员的程序5.组织联调6 •向指导老师报告课题划分及工作进度三、选择题目及任务安排选择题目:通过布置具冇一定难度的综合性程序设计题目,帮助学生利用所学到的编程知识和编程技巧,进一步熟悉程序编写,独立完成程序查错和调试、改错。
每个题目的具体功能由组内统一商量后确定,确定分工时要注意1・2周内能够完成。
注意:相同题目每个组要求功能不能一样。
参考题目如下:1.通信录管理系统2.班级学生档案管理系统3.班级成绩管理系统4.链表综合操作四、课题的功能每个课题都要求有常用的增加、修改、删除、查找记录等功能。
C++大作业说明

《面向对象程序设计》大作业的说明一、3个示例(相应的cpp文件和h文件具有完整的源代码)1.以下程序涉及类模板,补充顺序栈类模板成员函数的定义,利用队列实现栈的逆置。
//sq_queue_sq_stack.h#include<iostream.h>//定义循环队列模板类template <class T>class sq_queue{protected:int mm; //循环队列容量int front,rear; //队头、队尾指针T*q; //循环队列向量指针public:sq_queue(int); //构造函数,建立空循环队列int emptyqueue(); //测试队列是否下溢void enqueue(T); //入队T dequeue(); //出队};//定义顺序栈模板类template <class T>class sq_stack{private:int mm; //顺序栈容量int top; //栈顶指针T*s; //顺序栈向量指针public:sq_stack(int); //构造函数,建立空栈int emptystack(); //测试栈是否下溢void push(T); //入栈T pop(); //出栈T get(); //读栈顶元素void print(); //从栈顶到栈底输出栈中元素};//定义循环队列类模板构造函数template<class T>sq_queue<T>::sq_queue(int m){mm=m+1; //设置队列容量,考虑到循环队列少用一个存储单元q=new T[mm]; //动态分配循环队列存储空间front=rear=mm-1; //设置空队列}//定义顺序栈类模板构造函数template<class T>sq_stack<T>::sq_stack(int m){mm=m; //设置顺序栈容量s=new T[mm]; //动态分配顺序栈存储空间top=0; //设置空栈}//定义循环队列类模板成员函数template<class T>int sq_queue<T>::emptyqueue(){if(front==rear) return 1;else return 0;}template<class T>void sq_queue<T>::enqueue(T x){rear=(rear+1)%mm;q[rear]=x;}template<class T>T sq_queue<T>::dequeue(){front=(front+1)%mm;return q[front];}//定义顺序栈类模板成员函数//顺序表逆置.cpp#include "sq_queue_sq_stack.h"void main(){sq_queue<char> queue(20); //建立容量为20的队列对象sq_stack<char> stack(20); //建立容量为20的栈对象char ch;for(ch='a';ch<='f';ch++)stack.push(ch);stack.print();while(!stack.emptystack())queue.enqueue(stack.pop());while(!queue.emptyqueue())stack.push(queue.dequeue());stack.print();cout<<"按“Y”键结束";cin>>ch;}2.以下程序涉及类模板、友元函数、插入符“<<”重载函数,补充成员函数、友元函数的定义,实现将顺序表A按元素值奇、偶数拆分成两个表,A表存放奇数,B表存放偶数。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
#include <iostream>//包括cin、cout等函数
#include <ctime>//随机函数所需
#include <string>//字符串函数所需
usingnamespace std;//使用命名空间std
class Person//候选人Person类的声明
srand (time(0)); //让随机函数rand()不再产生重复的数字
num=rand()%100;
Leader_num=num;//自动为候选人生成一个1-100之间的编号
cout<<"编号:"<<Leader_num<<'\t';//输出候选人的编号
cout<<"候选人的姓名:";
cin>>Leader_name;//输入候选人的姓名,如:张三
cout<<"每人请投两张票。"<<endl;
for(i=1;i<=M;i++)//循环每次输入投票者所要投给的候选人
{
cout<<"投票人"<<i<<endl;
cout<<"第一张投谁的票:";
cin>>num1;//输入第一票所投的候选人的编号
cout<<"第二章投谁的票:";
cin>>num2;//输入第一票所投的候选人的编号
{
int EorrTicket=0,NoEorrTicket=0,TotalTicket=0;//EorrTicket为无效票数, NoEorrTicket为有效票数,TotalTicket为总选票数
for(int i=0;i<N;i++)
{
if(leader[i].count>=M)//判断每位候选人的票数是否大于投票者人数,若大于,有效票数为投票人数,否则继续执行
count=0;
cout<<"得票数:"<<count<<endl;//输出候选人刚开始的得票数
}
//友员函数的的类外定义:
//投票者对候选人进行投票
void Vote(Person get[],int N,int M)
{
int num1,num2,i,j;//每一个投票者可以投出自己两张宝贵的 两票,允许两张投给 一个候选人,分别为num1,num2
(7)输出获选人的姓名和得票数。
(2)扩展功能要求:
(1)对候选人的得票数进行排序输出。
(2 实现可视化界面
四、概要设计
函数头:#include <iostream>//包括cin、cout等函数
#include <ctime>//随机函数所需
#include <string>//字符串函数所需
using namespace std;//使用命名空间std
for(j=0;j<N;j++)
{
if(num1==get[j].Leader_num)//判断投票者第二张票的编号
{
get[j].count+=1;break;}//每个投票者第一张票所对应的候选人的 编号,若对应,该候选人得票数+1
}
}
for(j=0;j<N;j++)
if(num2==get[j].Leader_num)//判断投票者第二张票的编号
C++课题程序设计
(课题:班干选举系统程序设计)
成 员:孙 涛、 罗 天
陈海键、 汤行行
王晓坤、 章慧珠、白洁
专 业:自动化(交通信息与控制)
组 名:第10组
程序分工:孙涛汤行行负责程序编写,白洁辅助编写
王晓坤罗天负责前期资料收集整理
白洁章慧珠负责编写文档
一、需求分析
1.编写目的
编写本文档,是为了方便班级班干部的选举系统更好的使用以及对程序作一个说明。编写这个程序同时也是为了更好的掌握和运用C语言,C++程序设计,计算机软件技术基础的相关知识,提高VC++ 6.0软件的使用能力,培养分析问题、解决问题的能力。
EorrTicket=leader[i].count-M;//求有效票数
TotalTicket+=leader[i].count;//求总票数
}
NoEorrTicket=TotalTicket-EorrTicket;//求无效票数
//输出总票数,有效票数,无效票数
cout<<"\n总票数:"<<TotalTicket<<"\t有效票数:"<<NoEorrTicket<<"\t无效票数:"<<EorrTicket<<endl;
int N,M;//定义候选人数与投票人数,N为候选人数,M为投票人数
cout<<"请输入候选人数N:";
cin>>N;//输入候选人数N
cout<<"请输入投票人数M:";
cin>>M;//输入投票人数M
int i,j;
Person Leader[20];//定义一个Person类型对象数组存放候选人信息
主函数:
int main()
{//界面
cout<<".........................................."<<endl;
cout<<"................欢迎进入班干部选举系统....."<<endl;
cout<<"..........................................."<<endl;
{
get[j].count+=1;break;}//每个投票者第二张票所对应的候选人 的编号,若对应,该候选人得票数+1
}
}
}
//友员函数的的类外定义:
//对各候选人的得票数进行排序
void Sort( Person array[],int N)
{
int i,j;
Person temp;
for(j=1;j<=2;j++)
cout<<"此次班干部获选人:"<<"\n姓名:"<<leader[0].Leader_name<<"\t得票数为:"<<leader[0].count<<endl;
}
在类中,成员函数与友元函数是类内和类外的接口,是类内和类外沟通的主要桥梁纽带,函数和函数间可以互相调用。在这里还用到了for循环语句和if语句,这两种语句在C++程序设计中运用十分广泛,for循环语句中往往还会嵌套,形成几个循环,在C++中除了for循环语句外还有while、do-while等等。与if语句连用的还有else if和else。在上面Vote函数中还用到了bfeak语句,主要是退出循环体,它只能用于循环语句和switch语句,不能单独使用或用于其他语句中,和它紧密相连的还有continue语句。它们两个的区别是break推出全部循环,continue只退出本次循环。
cout<<"记录候选人的信息:"<<endl;
for(i=0;i<N;i++)
Leader[i].Record();//记录候选人信息
cout<<"\n开始投票:"<<endl;
Vote(Leader,N,M);//每个投票者投票
set(Leader,N,M);//对最后的结果进行统计并输出
return 0;
友元函数是类中常见的,它可以是不属于任何类的非成员函数,也可以是其它类的成员函数,它可以访问本类的私有成员,在类体中用friend对该函数进行声明。出了友元函数外还有友元类。
//成员函数的的类外定义:
//记录各候选人的个人信息以及初始化得票数
void Person::Record()
{
int num;
Sort(leader,N);//调用排序函数,对leader数组进行从高->低的排序
//调整各候选人的有效票数
for(i=0;i<N;i++)
{
if(leader[i].count>M)
leader[i].count-=EorrTicket;
}
//输出各候选人的有效票数
cout<<"\n各候选人的票:"<<endl;
}
主函数main为成员函数提供实参数,如本程序中main函数为成员函数提供N、M与对象数组Leader三个实参,调用Record、Vote、和set三个函数,进行对候选人信息的记录,进行投票和输出最后的结果。
七、流程图
八、测试结果
进入系统界面
设置候选人、投票人人数
输入候选人姓名并自动生成编号
进行投票
{
for(i=0;i<N-1;i++)
{
if(array[i].count<array[i+1].count)