有源代碼的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]={"