当前位置:首页 » 课程大全 » 有源代码的c课程设计

有源代码的c课程设计

发布时间: 2021-03-14 03:04:17

『壹』 求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]={""};//数据文件的绝对路径
charuser_path[100]={""};//用户数据文件的绝对路径
charbook_path[100]={""};
intbook_pos=0;//book数组的计数
intuser_pos=0;

structuser_data
{
charname[10];
charbook_name[50];
}user[S_MAX];

structbook_data
{
charno[10];
charname[50];
charauthor[30];
charmoney[10];
charin_or_out[10];
charuser_name[10];
}book[S_MAX];

voidread_file()//从文件读取数据
{
user_pos=0;
inti;
for(i=0;i<S_MAX;i++)
{
memset(user[i].name,'',10);
memset(user[i].book_name,'',50);

memset(book[i].no,'',10);
memset(book[i].name,'',50);
memset(book[i].author,'',30);
memset(book[i].money,'',10);
memset(book[i].in_or_out,'',10);
memset(book[i].user_name,'',10);
}
user_count=GetPrivateProfileInt("USER","user_count",0,user_path);
book_count=GetPrivateProfileInt("book","book_count",0,book_path);

for(i=0;i<user_count;i++)
{
chart[5]={""};
sprintf(t,"%d",i+1);
GetPrivateProfileString(t,"name","",user[i].name,10,user_path);
GetPrivateProfileString(t,"book_name","",user[i].book_name,50,user_path);
user_pos++;
}
for(i=0;i<book_count;i++)
{
chart[5]={""};
sprintf(t,"%d",i+1);
GetPrivateProfileString(t,"no","",book[i].no,10,book_path);
GetPrivateProfileString(t,"name","",book[i].name,50,book_path);
GetPrivateProfileString(t,"author","",book[i].author,30,book_path);
GetPrivateProfileString(t,"money","",book[i].money,10,book_path);
GetPrivateProfileString(t,"in_or_out","",book[i].in_or_out,10,book_path);
GetPrivateProfileString(t,"user_name","",book[i].user_name,10,book_path);
book_pos++;
}
}

voidwrite_file()
{
inti;
for(i=0;i<user_count;i++)
{
chart[5]={""};
sprintf(t,"%d",i+1);
WritePrivateProfileString(t,"name",NULL,user_path);
WritePrivateProfileString(t,"book_name",NULL,user_path);

WritePrivateProfileString(t,"no",NULL,book_path);
WritePrivateProfileString(t,"name",NULL,book_path);
WritePrivateProfileString(t,"author",NULL,book_path);
WritePrivateProfileString(t,"money",NULL,book_path);
WritePrivateProfileString(t,"in_or_out",NULL,book_path);
WritePrivateProfileString(t,"user_name",NULL,book_path);
}
chartemp[5]={""};
inttemp_count=0;
for(i=0;i<user_pos;i++)
{
if(strcmp(user[i].name,"")==0)
{
continue;
}
chart[5]={""};
sprintf(t,"%d",i+1);
WritePrivateProfileString(t,"name",user[i].name,user_path);
WritePrivateProfileString(t,"book_name",user[i].book_name,user_path);
temp_count++;
}
sprintf(temp,"%d",temp_count);
WritePrivateProfileString("USER","user_count",temp,user_path);

temp_count=0;
for(i=0;i<book_pos;i++)
{
if(strcmp(book[i].no,"")==0)
{
continue;
}
chart[5]={""};
sprintf(t,"%d",i+1);
WritePrivateProfileString(t,"no",book[i].no,book_path);
WritePrivateProfileString(t,"name",book[i].name,book_path);
WritePrivateProfileString(t,"author",book[i].author,book_path);
WritePrivateProfileString(t,"money",book[i].money,book_path);
WritePrivateProfileString(t,"in_or_out",book[i].in_or_out,book_path);
WritePrivateProfileString(t,"user_name",book[i].user_name,book_path);
temp_count++;
}
sprintf(temp,"%d",temp_count);
WritePrivateProfileString("BOOK","book_count",temp,book_path);
}

voidsearch_user_name()//按借书人姓名查询
{
system("cls");
charsearch_key[10]={""};
printf("请输入要查询图书借书人:");
scanf("%s",search_key);
inti;
ints[10]={-1,-1,-1,-1,-1,-1,-1,-1,-1,-1};
ints_i=0;
intfind=0;
for(i=0;i<book_pos;i++)
{
if(strcmp(book[i].user_name,search_key)==0)
{
find=1;
s[s_i]=i;
s_i++;
printf(" 编号:%s",book[i].no);
printf(" 名称:%s",book[i].name);
printf(" 作者:%s",book[i].author);
printf(" 金额:%s",book[i].money);
printf(" 状态:%s",book[i].in_or_out);
printf(" 借书人:%s ",book[i].user_name);
}
}
if(find==0)
{
printf(" 未找到符合条件的信息!");
}
else
{
for(i=0;i<s_i;i++)
{
printf(" 第%d本书:%s",i+1,book[i].name);
}
printf(" 共%d本",i);
}
fflush(stdin);
getchar();
}

voidsearch_book_author()//按图书作者查询
{
system("cls");
charsearch_key[50]={""};
printf("请输入要查询图书的作者:");
scanf("%s",search_key);
inti;
intfind=0;
for(i=0;i<book_pos;i++)
{
if(strcmp(book[i].author,search_key)==0)
{
find=1;
printf(" 编号:%s",book[i].no);
printf(" 名称:%s",book[i].name);
printf(" 作者:%s",book[i].author);
printf(" 金额:%s",book[i].money);
printf(" 状态:%s",book[i].in_or_out);
printf(" 借书人:%s ",book[i].user_name);
break;
}
}
if(find==0)
{
printf(" 未找到符合条件的信息!");
}
fflush(stdin);
getchar();
}

voidsearch_book_name()//按图书名称查询
{
system("cls");
charsearch_key[50]={""};
printf("请输入要查询图书的名称:");
scanf("%s",search_key);
inti;
intfind=0;
for(i=0;i<book_pos;i++)
{
if(strcmp(book[i].name,search_key)==0)
{
find=1;
printf(" 编号:%s",book[i].no);
printf(" 名称:%s",book[i].name);
printf(" 作者:%s",book[i].author);
printf(" 金额:%s",book[i].money);
printf(" 状态:%s",book[i].in_or_out);
printf(" 借书人:%s ",book[i].user_name);
break;
}
}
if(find==0)
{
printf(" 未找到符合条件的信息!");
}
fflush(stdin);
getchar();
}

voidsearch_book_no()//按图书编号查询
{
system("cls");
charsearch_key[10]={""};
printf("请输入要查询图书的编号:");
scanf("%s",search_key);
inti;
intfind=0;
for(i=0;i<book_pos;i++)
{
if(strcmp(book[i].no,search_key)==0)
{
find=1;
printf(" 编号:%s",book[i].no);
printf(" 名称:%s",book[i].name);
printf(" 作者:%s",book[i].author);
printf(" 金额:%s",book[i].money);
printf(" 状态:%s",book[i].in_or_out);
printf(" 借书人:%s ",book[i].user_name);
break;
}
}
if(find==0)
{
printf(" 未找到符合条件的信息!");
}
fflush(stdin);
getchar();
}
voidsearch_all_book()//查询所有图书
{
system("cls");
if(book_pos==0)
{
printf("真TM穷,一本书都没有");
}
else
{
inti;
printf("共有%d本书 ",book_pos);
for(i=0;i<book_pos;i++)
{
printf(" 编号:%s名称:%s作者:%s金额:%s状态:%s",book[i].no,book[i].name,book[i].author,book[i].money,book[i].in_or_out);
if(strcmp(book[i].in_or_out,"out")==0)
{
printf("借书人:%s",book[i].user_name);
}
}
}
fflush(stdin);
getchar();
}

voidsearch_all_user()//查询所有用户
{
system("cls");
if(user_pos==0)
{
printf("要倒闭了?一个人都没有!");
}
else
{
inti;
printf("共有%d个用户 ",user_pos);
for(i=0;i<user_pos;i++)
{
printf(" 用户名称:%s借书名称:",user[i].name);
if(strcmp(user[i].book_name,"")!=0)
{
printf("%s",user[i].book_name);
}
else
{
printf("未借书");
}
}
}
fflush(stdin);
getchar();
}

voidNo7()//查询
{
intf=1;
intsel;
while(f)
{
system("cls");
printf("********************************* ");
printf("** ");
printf("*图书管理系统--查询* ");
printf("** ");
printf("*1.按图书编号查询* ");
printf("** ");
printf("*2.按图书名称查询* ");
printf("** ");
printf("*3.按作者查询* ");
printf("** ");
printf("*4.按借书人姓名查询* ");
printf("** ");
printf("*5.查询所有图书* ");
printf("** ");
printf("*6.查询所有用户* ");
printf("** ");
printf("*0.返回主菜单* ");
printf("** ");
printf("********************************* ");
printf("请选择:(1,2,3,4,5,6,0)");
fflush(stdin);
scanf("%d",&sel);
getchar();
switch(sel)
{
case1:
search_book_no();

break;
case2:
search_book_name();

break;
case3:
search_book_author();

break;
case4:
search_user_name();

break;
case5:
search_all_book();
break;
case6:
search_all_user();
break;
case0:

f=0;
break;
default:
break;
}
}
}

voidNo6()//用户信息删除
{
system("cls");
chardel_key[10]={""};
printf("请输入要删除的用户名称:");
scanf("%s",del_key);
inti,del_pos;
intfind=0;
for(i=0;i<user_pos;i++)
{
if(strcmp(user[i].name,del_key)==0)
{
find=1;
printf(" 姓名:%s",user[i].name);
if(strlen(user[i].book_name)>0)
{
printf(" 所借书籍:%s",user[i].book_name);
}
del_pos=i;
break;
}
}
if(find==0)
{
printf(" 未找到符合条件的信息!");
fflush(stdin);
getchar();
return;
}

while(1)
{
fflush(stdin);
printf(" 确认要删除该记录吗?(y/n):");
chart;
scanf("%c",&t);
if(t=='y'||t=='Y')
{
if(strlen(user[del_pos].book_name)>0)
{
printf(" 该用户尚有书籍未归还,不能删除!");
fflush(stdin);
getchar();
return;
}
strcpy(user[del_pos].name,"");
strcpy(user[del_pos].book_name,"");
write_file();
printf(" 删除成功!");
read_file();
fflush(stdin);
getchar();
break;
}
elseif(t=='N'||t=='n')
{
printf(" 你选择了不删除,按任意键返回!");
fflush(stdin);
getchar();
break;
}
else
{
continue;
}
}
}

voidNo5()//图书删除
{
system("cls");
chardel_key[10]={""};
printf("请输入要删除的图书的名称或编号:");
scanf("%s",del_key);
inti,del_pos;
intfind=0;
for(i=0;i<book_pos;i++)
{
if(strcmp(book[i].name,del_key)==0||strcmp(book[i].no,del_key)==0)
{
find=1;
printf(" 编号:%s",book[i].no);
printf(" 名称:%s",book[i].name);
printf(" 作者:%s",book[i].author);
printf(" 金额:%s",book[i].money);
printf(" 状态:%s ",book[i].in_or_out);
del_pos=i;
break;
}
}
if(find==0)
{
printf(" 未找到符合条件的信息!");
fflush(stdin);
getchar();
return;
}

while(1)
{
fflush(stdin);
printf(" 确认要删除该记录吗?(y/n):");
chart;
scanf("%c",&t);
if(t=='y'||t=='Y')
{
if(strcmp("out",book[del_pos].in_or_out)==0)
{
printf(" 图书已经借出,不能删除!");
fflush(stdin);
getchar();
return;
}
strcpy(book[del_pos].no,"");
strcpy(book[del_pos].name,"");
strcpy(book[del_pos].money,"");
strcpy(book[del_pos].author,"");
strcpy(book[del_pos].in_or_out,"in");
strcpy(book[del_pos].user_name,"");
write_file();
printf(" 删除成功!");
read_file();
fflush(stdin);
getchar();
break;
}
elseif(t=='N'||t=='n')
{
printf(" 你选择了不删除,按任意键返回!");
fflush(stdin);
getchar();
break;
}
else
{
continue;
}
}
}

voidNo4()//用户信息录入
{
system("cls");
charname[10]={""};
printf("请输入新增用户信息: ");
printf("名称:");
scanf("%s",name);
strcpy(user[user_pos].name,name);
user_pos++;
write_file();//写入信息文件

printf(" 信息录入成功!");
fflush(stdin);
getchar();
}

voidNo3()//图书信息录入
{
system("cls");
charno[10]={""};
charname[50]={""};
charauthor[30]={""};
charmoney[10]={""};
charin_or_out[10]={""};
charuser_name={""};
printf("请输入新增图书信息: ");
printf("编号:");
scanf("%s",no);
printf("名称:");
scanf("%s",name);
printf("作者:");
scanf("%s",author);
printf("价格:");
scanf("%s",money);

strcpy(book[book_pos].no,no);
strcpy(book[book_pos].name,name);
strcpy(book[book_pos].author,author);
strcpy(book[book_pos].money,money);
book_pos++;
write_file();//写入信息文件

printf(" 信息录入成功!");
fflush(stdin);
getchar();
}

voidNo2()//图书还回
{
system("cls");
printf(" 请输入还回图书的编号或名称:");
chartemp[50]={""};
scanf("%s",temp);
inti;
intbook_i=-1;
intfind=0;
for(i=0;i<book_pos;i++)
{
if(strcmp(temp,book[i].no)==0||strcmp(temp,book[i].name)==0)
{
find=1;
book_i=i;
printf(" 编号:%s",book[i].no);
printf(" 名称:%s",book[i].name);
printf(" 作者:%s",book[i].author);
printf(" 金额:%s",book[i].money);
printf(" 状态:%s",book[i].in_or_out);

printf(" 按任意键进行还回操作");
fflush(stdin);
getchar();
intj;
strcpy(book[i].in_or_out,"in");
for(j=0;j<user_pos;j++)
{
if(strcmp(book[i].user_name,user[j].name)==0)
{
strcpy(user[j].book_name,"");
write_file();//写入信息文件
break;
}
}
strcpy(book[i].user_name,"");
if(j>=user_pos)
{
printf(" 数据出错");
}
else
{
printf(" 图书还回成功");
fflush(stdin);
getchar();
return;
}
}
}
if(find==0)
{
printf(" 未找到符合条件的信息!");
fflush(stdin);
getchar();
return;
}
}

voidNo1()//图书借出
{
system("cls");
printf(" 请输入出借图书的编号或名称:");
chartemp[50]={""};
scanf("%s",temp);
inti;
intbook_i=-1;
intfind=0;
for(i=0;i<book_pos;i++)
{
if(strcmp(temp,book[i].no)==0||strcmp(temp,book[i].name)==0)
{
find=1;
book_i=i;
printf(" 编号:%s",book[i].no);
printf(" 名称:%s",book[i].name);
printf(" 作者:%s",book[i].author);
printf(" 金额:%s",book[i].money);
printf(" 状态:%s",book[i].in_or_out);
if(strcmp(book[i].in_or_out,"out")==0)
{
printf(" 该图书已经借出! ");
fflush(stdin);
getchar();
return;
}
printf(" 请输入借书人姓名:");
charname[10]={""};
scanf("%s",name);
intj,user_i=-1;
for(j=0;j<user_pos;j++)
{
if(strcmp(name,user[j].name)==0)
{
user_i=j;
break;
}
}
if(j>=user_pos)
{
printf(" 找不到该借书人信息,已自动添加");
strcpy(user[user_pos].name,name);
strcpy(user[user_pos].book_name,"");
user_i=user_pos;
user_pos++;
fflush(stdin);
getchar();
}
strcpy(user[user_i].book_name,book[book_i].name);
strcpy(book[book_i].user_name,name);
strcpy(book[book_i].in_or_out,"out");
printf(" 图书借出成功");
write_file();//写入信息文件
fflush(stdin);
getchar();
return;
}
}
if(find==0)
{
printf(" 找不到该图书信息 ");
fflush(stdin);
getchar();
return;
}
}

intflag_exit=0;

voida88()
{
system("cls");
while(1)
{
fflush(stdin);
printf(" 真的要退出吗?(y/n):");
chart;
scanf("%c",&t);
if(t=='y'||t=='Y')
{
flag_exit=1;
break;
}
elseif(t=='N'||t=='n')
{
flag_exit=0;
return;
}
else
{
continue;
}
}
system("cls");
printf("ooooooooooooooooooooooooooooo ");
printf("ooooooooooooooooooooooooooooo ");
printf("oooooo ");
printf("oooooooooooooooooo ");
printf("oooooooooooooooooo ");
printf("oooooooooooo ");
printf("oooooooooooooooooo ");
printf("oooooooooooo ");
printf("oooooooooooo ");
printf("oooooooooooooooooooo ");
printf("ooooooooooooooooooooo ");
printf("ooooooooooo ");
printf("oooooooooooooooooooo ");
printf("ooooooooooooo ");
fflush(stdin);
getchar();
}

voidtitle()
{
intf=1;
intsel;
while(f)
{
system("cls");
printf("******************************* ");
printf("** ");
printf("*图书管理系统* ");
printf("** ");
printf("*1.图书借出* ");
printf("** ");
printf("*2.图书还回* ");
printf("** ");
printf("*3.图书录入* ");
printf("** ");
printf("*4.用户录入* ");
printf("** ");
printf("*5.图书删除* ");
printf("** ");
printf("*6.用户删除* ");
printf("** ");
printf("*7.查询* ");
printf("** ");
printf("*0.退出* ");
printf("** ");
printf("******************************* ");
printf("请选择:(1,2,3,4,5,6,7,0)");
fflush(stdin);
scanf("%d",&sel);
getchar();
switch(sel)
{
case1:
No1();

break;
case2:
No2();

break;
case3:
No3();

break;
case4:
No4();

break;
case5:
No5();

break;
case6:
No6();

break;
case7:
No7();

break;
case0:
a88();
if(flag_exit==1)
system("exit");
else
{
break;
}
f=0;
break;
default:
break;
}
}
}

intmain(intargc,char*argv[]){
_getcwd(ini_path,100);//取得当前程序的绝对路径
strcpy(user_path,ini_path);
strcat(user_path,"\user.ini");
strcpy(book_path,ini_path);
strcat(book_path,"\book.ini");
if(!access(user_path,0))
{

}
else
{
printf(" 用户数据文件不存在,按任意键将创建文件");
getchar();
FILE*fp;
fp=fopen(user_path,"wb");
intre=fputs("[USER] user_count=0",fp);
if(re>=0)
{
printf(" 用户数据文件创建成功!");
}
else
{
printf(" 用户数据文件创建失败!");
}
getchar();
fclose(fp);
}
if(!access(book_path,0))
{

}
else
{
printf(" 图书数据文件不存在,按任意键将创建文件");
getchar();
FILE*fp;
fp=fopen(book_path,"wb");
intre=fputs("[BOOK] book_count=0",fp);
if(re>=0)
{
printf(" 图书数据文件创建成功!");
}
else
{
printf(" 图书数据文件创建失败!");
}
getchar();
fclose(fp);
}
read_file();
title();
return0;
}

『伍』 c语言课程设计,设计一个任意的程序!有说明,要求源程序150行左右!很急!!!

#include <data.h>
#include <windows.h>
#include <stdio.h>
#include <malloc.h>
#include <winbase.h>
#include <process.h>

void Search()
{
char temp[100];
char buffer[2];
char result[100];
printf("请输入要查询的单词:\n");
scanf("%s",&temp);
buffer[0]=temp[0];
buffer[1]='\0';
int ret=GetPrivateProfileString(buffer,temp,0,result,100,"e:\\data.ini");
if(ret>0)
printf("%s\n\n\n\n\n",result);
else
printf("%s\nsorry,没有您要查找的单词!",temp);
/*printf("sorry,没有您要查找的单词!.\n\n\n\n\n");*/
}

void InsertItem()
{
char temp[100];
char buffer[2];
char result[100];

printf("请输入要插入的单词:\n");
scanf("%s",&temp);
printf("请输入单词的解释:\n");
getchar();
scanf("%s",&result);
buffer[0]=temp[0];
buffer[1]='\0';
int ret=WritePrivateProfileString(buffer,temp,result,"e:\\data.ini");
if(ret=0)
printf("哈哈~~~插入失败!。\n\n\n\n\n");
else
printf("嘿嘿~~~~插入成功!。\n\n\n\n\n");
}

int main(int argc, char* argv[])
{
int index;
main:
printf("******************\n\n");
printf(" 1 英译汉\n");
printf(" 2 插入新的词汇\n");
printf(" 3 清空屏幕\n");
printf(" 4 退出\n\n");
printf("**********************************\n");
do{
printf("请选择操作(1~4):\n");
scanf("%d",&index);
}while(index<0||index>5);
switch(index)
{
case 1:
Search();
goto main;
break;
case 2:
InsertItem();
goto main;
break;
case 3:
system("cls");
goto main;
break;
case 4:
return 0;
break;
default:
break;
}
return 0;
}

『陆』 急需要C语言程序源代码 做课程设计,谢谢啦! ! !。。。。。。

c语言的把一个文件分成相等的两个文件。
#include<stdio.h>

int main()
{
int len=0;
int len2=0;
FILE* stream;
FILE* stream1;
FILE* stream2;
char buf[50];
char buf1[50];
char buf2[50];
char text[1024];

printf("input anfile path to open:");

scanf("%s",buf);
stream=fopen(buf,"r+");

fseek(stream,0,SEEK_END);
len=ftell(stream);
printf("the file %s length is %d!\n",buf,len);
len2 = len/2;

printf("intput 2 file name: \n");
scanf("%s%s",buf1,buf2);
fseek(stream,0,SEEK_SET);
stream1=fopen(buf1,"w+");
stream2=fopen(buf2,"w+");
fread(text,len2,1,stream);
fwrite(text,len2,1,stream1);
fread(text,len-len2,1,stream);
fwrite(text,len-len2,1,stream2);

fclose(stream);
fclose(stream1);
fclose(stream2);

return 0;
}
文件合并
#include<stdio.h>

int main()
{
int len=0;
int len2=0;
FILE* stream;
FILE* stream1;

char buf[50];
char buf1[50];

char text[1024];

printf("input anfile path to open:");

scanf("%s",buf);
stream=fopen(buf,"r+");

fseek(stream,0,SEEK_END);

printf("intput another file name: \n");
scanf("%s",buf1);

stream1=fopen(buf1,"r+");
fseek(stream1,0,SEEK_END);
len=ftell(stream1);
fseek(stream1,0,SEEK_SET);
fread(text,len,1,stream1);
fwrite(text,len,1,stream);

fclose(stream);
fclose(stream1);
remove(buf1);//remove the another file

return 0;
}
需要在程序目录下有文件存在

『柒』 求C语言课程设计的源代码和流程图

YT

『捌』 急需编一份C语言程序源代码做课程设计。。。。。。谢谢啦!!! 要求如下:

我晕,看看这么长题目都懒得看了,还悬赏0分,汗

『玖』 求C语言课程设计源代码 急~!!

#include "stdio.h"
#define MAX 100 /*定义输入数据的最大长度*/

void countmax(int a[MAX],int N){ /*计算最值的函数*/
int minn=a[0],maxx=a[0]; /*minn表最小值,maxx表最大值*/
for(int i=0;i<=N;i++){ /*N是实际输入数组的长度*/
if(a[i]<minn) /*循环求最值*/
minn=a[i];
else
if(a[i]>maxx)
maxx=a[i];
}
printf("\n最小值:%d\n最大值:%d\n",minn,maxx);
printf("\n————————————————————————\n");
}

void found(int a[MAX],int N){ /*查找函数*/
int Flag = 1,x; /*Flag用来标记是否查找成功,0表成功,1表未成功*/
printf("请输入你要查找的数: ");
scanf("%d",&x); /*x是待查找的数*/
for(int i=0;i<=N;i++){
if(a[i]==x){
printf("所找的数在数组中的位置是第 %d 位\n",i+1);
Flag = 0;
break;
}
}
if(Flag == 1)
printf("Not Found!\n");
printf("————————————————————————\n");
}

void deletedata(int a[MAX],int N){ /*删除操作函数*/
int Flag = 1,x,pos; /*Flag用来标记是否删除成功,0表成功,1表未成功,pos用来记录删除的位置*/
printf("请输入你要删除的数: ");
scanf("%d",&x);
for(int i = 0;i <= N;i++){ /*在数组中循环查找所要删除的数*/
if(a[i]==x){
for(int j=i;j<=N;j++) /*删除位置后的数全部向前移动一位*/
a[j]=a[j+1];
Flag = 0;
N--; /*数组长度减1*/
pos = i; /*记录删除位置*/
break;
}
}
if(Flag==1)
printf("Not Found!");
else{
printf("删除成功!\n");
printf("所删除的数在数组中的位置是第 %d 位\n",pos+1);
}
printf("删除操作后的数据为:\n");
for(int j=0;j<=N;j++)
printf("%d ",a[j]);
printf("\n————————————————————————\n");
}

void sumdata(int a[MAX],int N){ /*求奇数和偶数函数*/
int SUM1=0,SUM2=0,N1=0,N2=0;
/*SUM1表示偶数之和,N1表偶数个数
**SUM2表示奇数之和,N2表奇数个数
*/
for(int i=0;i<=N;i++){
if(a[i]%2==0){
N1++;
SUM1 = SUM1 + a[i];
}
else{
N2++;
SUM2 = SUM2 + a[i];
}

}
printf("数据中的偶数个数为: %d 个,平均值为: %d\n",N1,SUM1/N1);
printf("数据中的奇数个数为: %d 个,平均值为: %d\n",N2,SUM2/N2);
printf("————————————————————————\n");
}

int main(){

int i=0,k,N,a[MAX],data;
/*k用来标记所选择的操作,data表示输入的数据,a数组用来存储输入的数据*/
printf("请输入数据:\n");
scanf("%d",&data);
while(data!=0){
a[i]=data;
scanf("%d",&data);
N=i++;
}
printf("\n您输入了%d个数据,如下所示:\n",N+1);
for(i=0;i<=N;i++)
printf("%d ",a[i]);

printf("\n————————————————————————");
printf("\n\n请选择下面的一个项目:\n");
printf("1、求最值\n2、查找\n3、删除\n4、统计及平均\n5、退出\n");
printf("————————————————————————\n");
scanf("%d",&k);
switch(k){
case 1:
countmax(a,N);
break;
case 2:
found(a,N);
break;
case 3:
deletedata(a,N);
break;
case 4:
sumdata(a,N);
break;
case 5:
break;
default:
break;
}
return 0;
}

『拾』 急求一份C语言软件课程设计报告,关于用C实现BMP图像显示的。最好附有源代码~

q

热点内容
武汉大学学生会辅导员寄语 发布:2021-03-16 21:44:16 浏览:612
七年级学生作文辅导学案 发布:2021-03-16 21:42:09 浏览:1
不屑弟高考成绩 发布:2021-03-16 21:40:59 浏览:754
大学毕业证会有成绩单 发布:2021-03-16 21:40:07 浏览:756
2017信阳学院辅导员招聘名单 发布:2021-03-16 21:40:02 浏览:800
查询重庆2018中考成绩查询 发布:2021-03-16 21:39:58 浏览:21
结业考试成绩怎么查询 发布:2021-03-16 21:28:40 浏览:679
14中医医师资格笔试考试成绩查分 发布:2021-03-16 21:28:39 浏览:655
名著赏析课程标准 发布:2021-03-16 21:27:57 浏览:881
北京大学商业领袖高端培训课程 发布:2021-03-16 21:27:41 浏览:919