有源代码的c课程设计
『壹』 求C语言课程设计的源代码
课程设计报告内容 报告应包括以下内容: 摘要(300~400字) 目录 1. 概述 2. 课程设计任务及要求 2.1 设计任务 2.2 设计要求 3. 理论设计 3.1方案论证 3.2 系统设计 3.2.1 结构框图及说明 3.2.2 系统原理图及工作原理 3.3 单元电路设计 3.3.1单元电路工作原理
『贰』 高分求C语言课程设计源代码(分不多了,全部给你们)
#include <string>
#include <iostream>
#include <time.h>
#include <vector>
using namespace std;
class Employee //定义雇员类
{
public:
Employee(); //构造函数
virtual VEmployee();
virtual void Display()=0;
int GetAge(); //获取年龄
string GetName(); //获取姓名
protected:
int Id; //职工ID号
string Name; //职工姓名
char Sex[5]; //性别
int Wage; //工资
string BirthDay; //出身年月
string WorkTime; //参加工作时间
int Age; //年龄
};
class Worker : public Employee //定义工人类
{
public:
Worker();
virtual VWorker();
void Display();
};
class Teacher : public Employee //定义教师类
{
public:
Teacher();
virtual VTeacher();
void Display();
string GetAcademy();
private:
string Academy;
};
Employee::Employee()
{
}
Employee::VEmployee()
{
}
int Employee::GetAge()
{
return Age;
}
string Employee::GetName()
{
return Name;
}
Teacher::Teacher() //添加教师信息
{
cout<<"请输入该教师的信息:"<<endl;
cout<<"职工编号 : "<<endl;
cin>>Id;
cout<<"姓名 : "<<endl;
cin>>Name;
cout<<"性别 : "<<endl;
cin>>Sex;
cout<<"工资 : "<<endl;
cin>>Wage;
cout<<"出生时间 : (格式xxxx/xx/xx)"<<endl;
cin>>BirthDay;
cout<<"参加工作时间 : (格式xxxx/xx/xx)"<<endl;
cin>>WorkTime;
cout<<"所属院系 : "<<endl;
cin>>Academy;
//从生日里提取出生的年份
int Pos = BirthDay.find_first_of('/');
string BirthYear;
BirthYear.assign(BirthDay,0,Pos);
char chBirthYear[6];
strcpy(chBirthYear,BirthDay.c_str());
//获取当前系统的年份
char NowYear[5];
time_t tnow = time(0);
strftime(NowYear , 5 , "%Y" , localtime(&tnow));
Age = atoi(NowYear)-atoi(chBirthYear); //计算年龄
}
Teacher::VTeacher()
{
}
void Teacher::Display(){ //display()同名函数,输出教师信息
cout<<"职工编号 : "<<Id<<endl;
cout<<"姓名 : "<<Name<<endl;
cout<<"性别 : "<<Sex<<endl;
cout<<"工资 : "<<Wage<<endl;
cout<<"出生时间 : "<<BirthDay<<endl;
cout<<"参加工作时间 : "<<WorkTime<<endl;
cout<<"年龄 : "<<Age<<endl;
}
string Teacher::GetAcademy(){
return Academy;
}
Worker::Worker() //添加工人信息
{
cout<<"请输入该工人的信息:"<<endl;
cout<<"职工编号 : "<<endl;
cin>>Id;
cout<<"姓名 : "<<endl;
cin>>Name;
cout<<"性别 : "<<endl;
cin>>Sex;
cout<<"工资 : "<<endl;
cin>>Wage;
cout<<"出生时间 : (格式xxxx/xx/xx)"<<endl;
cin>>BirthDay;
cout<<"参加工作时间 : (格式xxxx/xx/xx)"<<endl;
cin>>WorkTime;
//从生日里提取出生的年份
int Pos = BirthDay.find_first_of('/');
string BirthYear;
BirthYear.assign(BirthDay,0,Pos);
char chBirthYear[6];
strcpy(chBirthYear,BirthDay.c_str());
//获取当前系统的年份
char NowYear[5];
time_t tnow = time(0);
strftime(NowYear , 5 , "%Y" , localtime(&tnow));
Age = atoi(NowYear)-atoi(chBirthYear); //计算年龄
}
Worker::VWorker()
{
}
void Worker::Display(){//display()同名函数,输出工人信息
cout<<"职工编号 : "<<Id<<endl;
cout<<"姓名 : "<<Name<<endl;
cout<<"性别 : "<<Sex<<endl;
cout<<"工资 : "<<Wage<<endl;
cout<<"出生时间 : "<<BirthDay<<endl;
cout<<"参加工作时间 : "<<WorkTime<<endl;
cout<<"年龄 : "<<Age<<endl;
}
void AddTeacher(vector <Teacher> *TeaInfo) //新增老师对象
{
system("color 05A"); //设置当前窗口的背景色和前景色
Teacher TeaTemp;
(*TeaInfo).push_back(TeaTemp);
}
void AddWoker(vector <Worker> *WorkerInfo) //新增工人对象
{
system("color 05A");
Worker Wokertmp;
(*WorkerInfo).push_back(Wokertmp);
}
void DisplayAll(vector <Teacher> *TeaInfo,vector <Worker> *WokerInfo){ //显示全部职工记录
system("color 05A");
cout<<"所有教师的信息:"<<endl;
vector <Teacher>::iterator pTeaInfo;
for (pTeaInfo=(*TeaInfo).begin();(*TeaInfo).empty()!=1&&pTeaInfo!=(*TeaInfo).end();pTeaInfo++) //如果到达vector末尾,则退出
{
(*pTeaInfo).Display();
cout<<endl;
}
cout<<"所有工人的信息:"<<endl;
vector <Worker>::iterator pWorkerInfo;
for (pWorkerInfo=(*WokerInfo).begin();(*WokerInfo).empty()!=1&&pWorkerInfo!=(*WokerInfo).end();pWorkerInfo++) //如果到达vector末尾,则退出
{
(*pWorkerInfo).Display();
cout<<endl;
}
cout<<"按Enter返回"<<endl;
getchar(); getchar();
}
void DisAvgTeacherAge(vector <Teacher> *TeaInfo){ //查询老师平均年龄
system("color 05A");
int SumAge = 0;
vector <Teacher>::iterator pTeaInfo;
for (pTeaInfo=(*TeaInfo).begin();(*TeaInfo).empty()!=1&&pTeaInfo!=(*TeaInfo).end();pTeaInfo++)//遍历老师容器
{ //如果到达vector末尾,则退出
SumAge+= (*pTeaInfo).GetAge();
cout<<endl;
}
if((*TeaInfo).size()!=0)
cout<<"教师的平均年龄为"<<SumAge/((*TeaInfo).size())<<endl;
else cout<<"没有记录"<<endl;
cout<<"按Enter返回"<<endl;
getchar(); getchar();
}
void DisAvgWorkerAge(vector <Worker> *WokerInfo){
system("color 05A");
int SumAge = 0;
vector <Worker>::iterator pWorkerInfo;
for (pWorkerInfo=(*WokerInfo).begin();(*WokerInfo).empty()!=1&&pWorkerInfo!=(*WokerInfo).end();pWorkerInfo++) //如果到达vector末尾,则退出
{
SumAge+= (*pWorkerInfo).GetAge();
cout<<endl;
}
if((*WokerInfo).size()!=0)
cout<<"职工的平均年龄为"<<SumAge/((*WokerInfo).size())<<endl;
else cout<<"没有记录"<<endl;
cout<<"按Enter键返回"<<endl;
getchar(); getchar();
}
void DelTeacher(vector <Teacher> *TeaInfo){ //用于删除老师信息
system("color 05A");
bool Hflag=false;
string SearchName;
vector <Teacher>::iterator pTeaInfo;
cout<<"请输入您要删除的老师的姓名:"<<endl;
cout<<"姓名: ";
cin>>SearchName;
for(pTeaInfo=(*TeaInfo).begin();(*TeaInfo).empty() != 1&&pTeaInfo!=(*TeaInfo).end();pTeaInfo++) //如果到达vector末尾,则退出
{
if (0==SearchName.compare((*pTeaInfo).GetName())) //如果找到要删除老师的姓名,则执行
{
Hflag=true; //找到老师
(*TeaInfo).erase(pTeaInfo); //删除vector中指定的老师
continue;
}
}
if (false==Hflag) //如果没有该老师,则执行
{
cout<<"没有该老师!"<<endl;
}
cout<<"按Enter返回"<<endl;
getchar(); getchar();
}
void DelWorker(vector <Worker> *WokerInfo) //用于删除工人信息
{
system("color 05A");
bool Hflag=false;
string SearchName;
vector <Worker>::iterator pWorkerInfo;
cout<<"请输入您要删除的工人的姓名:"<<endl;
cout<<"姓名: ";
cin>>SearchName;
for(pWorkerInfo=(*WokerInfo).begin();(*WokerInfo).empty() != 1&&pWorkerInfo!=(*WokerInfo).end();pWorkerInfo++) //如果到达vector末尾,则退出
{
if (0==SearchName.compare((*pWorkerInfo).GetName())) //如果找到要删除工人的姓名,则执行
{
Hflag=true; //找到工人
(*WokerInfo).erase(pWorkerInfo); //删除vector中指定的工人
continue;
}
}
if (false==Hflag) //如果没有该工人,则执行
{
cout<<"没有该老师!"<<endl;
}
cout<<"按Enter返回"<<endl;
getchar();getchar();
}
void SearchByName(vector <Teacher> *TeaInfo,vector <Worker> *WokerInfo){ //按名字查找职工信息
system("color 05A");
bool Hflag=false;
string SearchName;
vector <Teacher>::iterator pTeaInfo;
cout<<"请输入您要查找的职工的姓名:"<<endl;
cout<<"姓名: ";
cin>>SearchName;
for(pTeaInfo=(*TeaInfo).begin();pTeaInfo!=(*TeaInfo).end();pTeaInfo++)
{
if (0==SearchName.compare((*pTeaInfo).GetName())) //如果找到输入的职工,则执行
{
Hflag=true; //找到职工
cout<<"这个人是老师,他的信息为:"<<endl;
(*pTeaInfo).Display(); //显示职工信息
continue;
}
}
vector <Worker>::iterator pWorkerInfo;
for(pWorkerInfo=(*WokerInfo).begin();pWorkerInfo!=(*WokerInfo).end();pWorkerInfo++)
{
if (0==SearchName.compare((*pWorkerInfo).GetName())) //如果找到输入的职工,则执行
{
Hflag=true; //找到职工
cout<<"这个人是老师,个人信息为:"<<endl;
(*pWorkerInfo).Display(); //显示职工信息
continue;
}
}
if (false==Hflag)
{
cout<<"没有这个职工!"<<endl; //没有找到信息
}
cout<<"按Enter返回"<<endl; //返回
getchar(); getchar();
}
void DisTeacherByAcademy(vector <Teacher> TeaInfo){ //按系输出教师信息
system("color 05A");
bool Hflag=false;
string SearchName;
vector <Teacher>::iterator pTeaInfo;
while((TeaInfo).empty()!=1) { //输出所有指定系的老师
pTeaInfo=(TeaInfo).begin();
string Academy = (*pTeaInfo).GetAcademy();
cout<<"系:"<<Academy<<","<<"该系的老师有:"<<endl;
for(pTeaInfo=(TeaInfo).begin();(TeaInfo).empty()!=1&&pTeaInfo!=(TeaInfo).end();){
if (0==Academy.compare((*pTeaInfo).GetAcademy()))
{
(*pTeaInfo).Display();
cout<<endl;
(TeaInfo).erase(pTeaInfo);
pTeaInfo=(TeaInfo).begin();
}
else pTeaInfo++;
}
cout<<endl;
}
cout<<"按Enter返回"<<endl;
getchar(); getchar();
}
void WriteFile(vector <Teacher> *TeaInfo,vector <Worker> *WokerInfo) //生成新文件
{
FILE *fp;
if (NULL==(fp=fopen("Employee.txt","w+")))
{
cout<<"打开文件错误"<<endl;
exit(-1);
}
vector <Worker>::iterator pWorkerInfo;
vector <Teacher>::iterator pTeaInfo;
for(pTeaInfo=(*TeaInfo).begin();pTeaInfo!=(*TeaInfo).end();pTeaInfo++) //写入vector中所有老师的信息
{
fputs("教师信息:\n",fp);
fprintf(fp,"姓名:%s\n",(*pTeaInfo).GetName().c_str());
fprintf(fp,"年龄:%d\n",(*pTeaInfo).GetAge());
fputs("\n",fp);
}
fputs("教师信息结束\n",fp);
for(pWorkerInfo=(*WokerInfo).begin();pWorkerInfo!=(*WokerInfo).end();pWorkerInfo++) //写入vector中所有老师的信息
{
fputs("职工信息:\n",fp);
fprintf(fp,"姓名:%s\n",(*pWorkerInfo).GetName().c_str());
fprintf(fp,"年龄:%d\n",(*pWorkerInfo).GetAge());
fputs("\n",fp);
}
fputs("职工信息结束\n",fp);
fclose(fp);
}
void Mainmenu(){//菜单界面
system("color 05A"); //设置当前窗口的背景色和前景色
cout<<" ╭――――――――――《教职工管理系统》―――――――――╮"<<endl;
cout<<" ∣ 请选择功能 ∣"<<endl;
cout<<" ├――――――――――――――――――――――――――――┤"<<endl;
cout<<" ∣ 1.新建并输入职工数据 ∣"<<endl;
cout<<" ∣ 2.按条件输出职工数据 ∣"<<endl;
cout<<" ∣ 3.删除职工数据 ∣"<<endl;
cout<<" ∣ 0.退出 ∣"<<endl;
cout<<" ╰――――――――――――――――――――――――――――╯"<<endl;
cout<<" ――――――――――――――――――――――――――――――"<<endl;
cout<<" 请选择您要服务的类别: " ;
}
void Insert(vector <Teacher> *TeaInfo,vector <Worker> *WorkerInfo) //增加职工数据菜单界面
{
system("color 05A"); //设置当前窗口的背景色和前景色
int select = -1;
while(select!=0)
{
cout<<" ╭――――――――――《增加职工数据》――――――――――╮"<<endl;
cout<<" ∣ 请选择操作: ∣"<<endl;
cout<<" ├――――――――――――――――――――――――――――┤"<<endl;
cout<<" ∣ 1增加一位教师记录 ∣"<<endl;
cout<<" ∣ 2增加一位工人记录 ∣"<<endl;
cout<<" ∣ 0返回主菜单 ∣"<<endl;
cout<<" ╰――――――――――――――――――――――――――――╯"<<endl;
cin>>select;
switch(select){
case 1:AddTeacher(TeaInfo);break;
case 2:AddWoker(WorkerInfo);break;
case 3:Mainmenu();break;
default:
cout<<"回到主菜单!"<<endl;
}
}
}
void Search(vector <Teacher> *TeaInfo,vector <Worker> *WorkerInfo) //查询职工数据菜单界面
{
system("color 05A"); //设置当前窗口的背景色和前景色
int select = -1;
while(select!=0)
{
cout<<" ╭――――――――――《查询职工数据》――――――――――╮"<<endl;
cout<<" ∣ 请选择操作: ∣"<<endl;
cout<<" ├――――――――――――――――――――――――――――┤"<<endl;
cout<<" ∣ 1显示全部职工记录 ∣"<<endl;
cout<<" ∣ 2按系输出教师信息 ∣"<<endl;
cout<<" ∣ 3按姓名检索所有信息 ∣"<<endl;
cout<<" ∣ 4计算教师平均年龄 ∣"<<endl;
cout<<" ∣ 5计算工人平均年龄 ∣"<<endl;
cout<<" ∣ 0返回主菜单 ∣"<<endl;
cout<<" ╰――――――――――――――――――――――――――――╯"<<endl;
cin>>select;
switch(select){
case 1:DisplayAll(TeaInfo,WorkerInfo);break;
case 2:DisTeacherByAcademy(*TeaInfo);break;
case 3:SearchByName(TeaInfo,WorkerInfo);break;
case 4:DisAvgTeacherAge(TeaInfo);break;
case 5:DisAvgWorkerAge(WorkerInfo);break;
case 6:Mainmenu();break;
default:
cout<<"回到主菜单!"<<endl;
}
}
}
void Delete(vector <Teacher> *TeaInfo,vector <Worker> *WorkerInfo) //删除职工数据
{
system("color 05A"); //设置当前窗口的背景色和前景色
int select = -1;
while(select!=0)
{
cout<<" ╭――――――――――《删除职工数据》――――――――――╮"<<endl;
cout<<" ∣ 请选择操作: ∣"<<endl;
cout<<" ├――――――――――――――――――――――――――――┤"<<endl;
cout<<" ∣ 1删除一位教师记录 ∣"<<endl;
cout<<" ∣ 2删除一位工人记录 ∣"<<endl;
cout<<" ∣ 0返回主菜单 ∣"<<endl;
cout<<" ╰――――――――――――――――――――――――――――╯"<<endl;
cin>>select;
switch(select){
case 1:DelTeacher(TeaInfo);break;
case 2:DelWorker(WorkerInfo);break;
case 3:Mainmenu();break;
default:
cout<<"回到主菜单!"<<endl;
}
}
}
void MainCho(vector <Teacher> *TeaInfo,vector <Worker> *WorkerInfo)
{ //主菜单操作
int choice = -1;
while(choice!=0){
Mainmenu();
cin>>choice;
switch(choice){
case 1:Insert(TeaInfo,WorkerInfo);break;
case 2:Search(TeaInfo,WorkerInfo);break;
case 3:Delete(TeaInfo,WorkerInfo);break;
case 0:break;
default:
cout<<"操作错误!"<<endl;
}
}
}
void main() //主函数
{
vector <Teacher> TeaInfo; //
vector <Worker> WorkerInfo; //
vector <Teacher>::iterator pTeacher; //
vector <Worker>::iterator pWoker; //
pTeacher = TeaInfo.begin(); //
pWoker = WorkerInfo.begin(); //
MainCho(&TeaInfo,&WorkerInfo); //调用主要处理程序
WriteFile(&TeaInfo,&WorkerInfo); //存入文件操作
}
『叁』 请高手给个C语言课程设计的源代码,谢谢了`
什么是课程设计??
简单的加减法?内?容?
#include <stdio.h>
int main(){
int a,b;
scanf("%d%d",&a,&b);
printf("%d",a+b);
return 0;
}
『肆』 有没有300行左右的C语言课程设计的源代码
#include<stdio.h>
#include<stdlib.h>
#include"windows.h"
#include"string.h"
#defineS_MAX50
intuser_count=0;//用户信息的总数
intbook_count=0;
charini_path[100]={"