七月网

c语言课程设计 c语言课程设计模板

七月网3140

大家好,今天来为大家分享c语言课程设计的一些知识点,和c语言课程设计模板的问题解析,大家要是都明白,那么可以忽略,如果不太清楚的话可以看看本篇文章,相信很大概率可以解决您的问题,接下来我们就一起来看看吧!

c语言课程设计 c语言课程设计模板

C语言程序设计(学生选修课程设计)

这是我做的,你看是否满意?可能有点大,但也没办法呀,你的题目也比较大,呵呵!所以,如果满意,多给我追加点分!

#include"stdio.h"

#include"stdlib.h"

#include"string.h"

typedefstructcourse

{

charnumber[15],name[25];

intkind,time,lessontime,practicetime,credit,term;

}type;

FILE*fp1;

voidoverview();//浏览函数,负责浏览整个课程信息

voidseek();//查询函数,负责查询课程信息

voidchoose_course();//选课函数,负责让用户选课

voidout(typetemp);

voidinput();

intmain()

{

intn,i;

if((fp1=fopen("course_information.txt","wb"))==NULL)

{printf("创建文件失败!\n");exit(0);}

printf("请输入要存储的课程数目:\n");

scanf("%d",&n);

printf("开始创建文件,请输入课程信息:\n\n");

for(i=0;i<n;i++)

{

printf("请输入第%d门课程的信息:\n",i+1);

input();

printf("\n");

}

printf("如想浏览整个课程信息,请输入1;如想查询课程信息,请输入2;如想进行选课,请输入3;如想结束选修课系统,请输入0!\n");

while((scanf("%d",&n))!=EOF)

{

if(n==1)

overview();

if(n==2)

seek();

if(n==3)

choose_course();

if(n==0)

exit(0);

printf("\n\n如想继续操作,只要按规则输入你要进行的操作即可!\n规则:如想浏览整个课程信息,请输入1;如想查询课程信息,请输入2;如想进行选课,请输入3!\n");

}

printf("欢迎您使用此程序进行选课,谢谢!\n");

fclose(fp1);

return0;

}

voidinput()

{

coursec_a;

printf("请输入课程编码:");

scanf("%s",c_a.number);

printf("请输入课程名:");

scanf("%s",c_a.name);

printf("请输入课程性质:限选课,请输入1;选修课,请输入2;必修课,请输入3!");

scanf("%d",&c_a.name);

printf("请输入课程总学时:");

scanf("%d",&c_a.time);

printf("请输入课程授课时间:");

scanf("%d",&c_a.lessontime);

printf("请输入课程实验或实践时间:");

scanf("%d",&c_a.practicetime);

printf("请输入课程学分:");

scanf("%d",&c_a.credit);

printf("请输入课程所在的学期,比如第二学期,就输入2即可。");

scanf("%d",&c_a.term);

fwrite(&c_a,sizeof(structcourse),1,fp1);//将一个结构体元素写入文件中

}

voidout(typetemp)

{

printf("课程代码:%s\n课程名:%s\n",temp.number,temp.name);

printf("课程名:%s\n",temp.name);

if(temp.kind==1)

printf("课程性质:Limitedoptionalcourse\n");

elseif(temp.kind==2)

printf("课程性质:Optionalcourse\n");

elseif(temp.kind==3)

printf("课程性质:RequiredCourses\n");

else

printf("该编码系统不认识,即无对应的课程性质存在!\n");

printf("课程总学时:%d\n课程授课学时:%d\n实验或上机学时:%d\n学分:%d\n课程开课学期:%d\n\n",temp.time,temp.lessontime,temp.practicetime,temp.credit,temp.term);

}

voidoverview()

{

rewind(fp1);

coursetemp;

printf("整个课程信息如下:\n");

while((fread(&temp,sizeof(type),1,fp1))!=0)

out(temp);

}

voidseek()

{

intjudge,credit=0,kind=0;

chara='N';

coursetemp;

printf("如想按学分查询,请输入1;如想按课程性质,请输入2:\n");

scanf("%d",&judge);

rewind(fp1);//将文件指针位置置为开头

if(judge==1)

{

printf("请输入要查询的学分:\n");

scanf("%d",&credit);

while((fread(&temp,sizeof(type),1,fp1))!=0)

if(credit==temp.credit)

out(temp);

}

elseif(judge==2)

{

printf("请输入你要查找课程的性质(限选课,请输入1;选修课,请输入2;必修课,请输入3):");

scanf("%d",&kind);

while((fread(&temp,sizeof(type),1,fp1))!=0)

if(temp.kind==kind)

out(temp);

}

else

printf("不好意思,无此类查询!\n");

}

voidchoose_course()

{

rewind(fp1);

coursetemp;

intjudge=1,n=0,time=0,credit=0;

charchoose[20][20];

r1:printf("请开始填写课程编号进行选课:\n");

while(judge==1)

{

printf("请输入你所选课程的标号:");

scanf("%s",choose[n]);

n++;

printf("如想继续选课,请输入1;如想提交,请输入0!\n");

scanf("%d",&judge);

}

while((fread(&temp,sizeof(type),1,fp1))!=0)

{

for(inti=0;i<n;i++)

if(strcmp(temp.number,choose[i])==0)

{time=time+temp.time;credit=temp.credit;break;}

}

if(time<270||credit<40)

gotor1;

printf("你所选的课为:\n");

while((fread(&temp,sizeof(type),1,fp1))!=0)

{

for(inti=0;i<n;i++)

if(strcmp(temp.number,choose[i])==0)

{out(temp);break;}

}

}

C语言课程设计题目

例:学生管理系统设计

设计内容:

详见视频,要求数据结构用链表,数据存储使用文件。

计算每个老师在一个学期中所教课程的总工作量。(教师单个教学任务的信息为:教师号、姓名、性别、职称、认教课程、班级、班级数目、理论课时、实验课时、单个教学任务总课时)

A、教师信息处理

(1)输入教师授课教学信息,包括教师号、姓名、性别、职称、认教课程、班级、班级数目、理论课时、实验课时。

(2)插入(修改)教师授课教学信息:

(3)删除教师授课教学信息:

(4)浏览教师授课教学信息:

B、教师工作量数据处理:

(1)计算单个教学任务总课时。计算原则如下表:

(2)计算一个教师一个学期总的教学工作量。总的教学工作量=所有单个教学任务总课时之和。

(3)教师数据查询:

提示:输入教师号或其他信息,即读出所有数据信息,并显示出来。

C、教师综合信息输出

提示:输出教师信息到屏幕。

链接:https://pan.baidu.com/s/1AdMlIyDVtLtuVVNf62As-Q?pwd=1111

提取码:1111

该系统是一个进行选择题测试的考试系统,具有测试、练习功能,具有系统设置功能,具有查分和帮助功能。

一、功能要求:

1、用文件保存试题库。(每个试题包括题干、4个备选答案、标准答案)

2、试题录入:可随时增加试题到试题库中

3、试题抽取:每次从试题库中可以随机抽出N道题及每题的得分K(N、K由键盘输入)。

4、可以设置考试时间。

5、用户可以选择“考试”和“练习”两种方式。

5、答题:用户可实现输入自己的答案,“考试”时系统不能显示答案。“练习”时每一题都可以通过查看“按钮”显示标准答案。可以用“上一题”、“下一题”翻页。选择“交卷”按钮则显示得分;

6、自动判卷:系统可根据用户答案与标准答案的对比实现判卷并给出成绩。

7、考试开始系统显示倒计时。时间为零自动交卷。

二、其它要求:

1、源程序要有适当的注释,使程序容易阅读

2、至少采用文本菜单界面(如果能采用图形菜单界面更好)

3、学生可自动增加新功能模块(视情况可另外加分)

4、写出课程设计报告,具体要求见相关说明文档

链接:https://pan.baidu.com/s/1AdMlIyDVtLtuVVNf62As-Q?pwd=1111

提取码:1111

设计内容:

设计一个简单的英语字典,输入英语单词,显示中文含义,设计要求:

链接:https://pan.baidu.com/s/1AdMlIyDVtLtuVVNf62As-Q?pwd=1111

提取码:1111

设计内容:

设计一个学生通信录,学生通迅录数据信息构成内容可自行设计(如:姓名、家庭地址、邮政编码、电话号码等等)。该学生通信录电话簿管理程序具有加入、删除、显示和查询等功能。

设计要求:

1、能建立、修改和增删学生通讯录

2、具有群组工能,可以增加群组和记录。

3、删除可以删除一条、一个群组、全部记录。

4、查询包含模糊查询。

5、显示可以以页面和列表方式显示。

6、有自动排序的功能。

7、要求:界面友好,易于操作,采用文件存储数据。

链接:https://pan.baidu.com/s/1AdMlIyDVtLtuVVNf62As-Q?pwd=1111

提取码:1111

[设计内容]

实现一个完整的小型音像店对录像带进行管理的系统。

[设计要求]

系统要求具有以下功能:

(1)管理音像店中的所有录像带,包括新录像带入库、录像带出租、录像带的返还、所有录像带清单的显示、根据指定条件进行查找删除录像带等各种基本操作。

(2)客户数据维护,可以将客户分为不同等级,可以根据指定客户显示其所借录像带详细信息。

(3)租金管理,根据所借日期自动计算所需交纳的租金。

(4)系统要求界面美观,菜单设计合理,操作方便。

[实验提示]

音像店有两个主要的组成部分:录像带和客户。可以构造3个链表存储以下数据:

(1)商店中所有录像带的链表;

(2)商店所有客户的链表;

(3)当前已出租的录像带链表;

链接:https://pan.baidu.com/s/1AdMlIyDVtLtuVVNf62As-Q?pwd=1111

提取码:1111

[设计内容]

航空客运订票的业务活动包括:查询航线、客票预定和办理退票等。设计一个航空订票系统实现上述功能。

[设计要求]

(1)将每条航线的有关信息存入计算机,如:终点站名、航班号、飞机号、飞行周日(星期几)、时间、乘员定额、余票量、票价,已定票客户名单和等候替补客户名单(包括姓名,所需票数);

(2)查询航线:根据旅客提出的终点站名输出下列信息:航班号、飞机号、星期几飞、最近一天航班的日期和余票量。

(3)订票:根据客户提出的要求(航班号、订票数额)查询该航班票额情况,若尚有余票,则为客户办理订票手续;若已满员或余票额少于订票额,则需重新询问客户要求。若需要,可登记排队候补;

(4)退票:根据客户提供的情况(日期、航班),为客户办理退票手续,然后查询该航班是否有人排队候补,首先询问排在第一的客户,若所退票额能满足他的要求,则为他办理订票手续,否则依次询问其他候补客户。

发挥想像,增加新的功能,完善系统。

系统要求界面美观,菜单设计合理,操作方便。

链接:https://pan.baidu.com/s/1AdMlIyDVtLtuVVNf62As-Q?pwd=1111

提取码:1111

[设计内容]

某旅馆有n个等级的房间,第I等级有个房间,每个等级的房间有个床位(1≤i≤n)。试模拟旅馆管理系统中床位分配和回收的功能,设计能为单个旅客分配床位,在其离店便回收床位(供下次分配)的算法。

[设计要求]

(1)旅客登记,即为旅客分配床位。输入旅客姓名、年龄、性别、到达日期和所需房间等级。分配成功时打印旅客姓名、年龄、到达日期、房间等级、房间号码和床位号码。分配不成功时,如所有等级均无床位,则打印“客满”信息;如旅客需要的等级均无空床位,则打印“是否愿意更换等级?”的询问信息。若旅客愿意更换,则重新输入有关信息,再进行分配,否则分配工作结束。

(2)旅客离开时,即进行床位回收。输入房间等级、房间号和床位号。

链接:https://pan.baidu.com/s/1AdMlIyDVtLtuVVNf62As-Q?pwd=1111

提取码:1111

设计内容:

职工信息包括职工号、姓名、性别、年龄、学历、工资、住址、电话等(职工号不重复)。

设计要求:

1、系统以菜单方式工作

2、职工信息录入功能(职工信息用文件保存)--输入

3、职工信息浏览功能--输出

4、职工信息查询功能--算法

查询方式

按学历查询等

按职工号查询等

5、职工信息删除、修改功能(可选项)

6、按工号排序

链接:https://pan.baidu.com/s/1AdMlIyDVtLtuVVNf62As-Q?pwd=1111

提取码:1111

设计内容:

图书信息包括:书号、书名、作者名、分类号、出版社、出版时间、价格等。

设计功能:

1、系统以菜单方式工作

2、图书信息录入功能(图书信息用文件保存)--输入

3、图书信息的编辑功能(插入、删除、修改)

4、图书信息浏览功能(按书号、书名、出版时间、价格等排序输出)。

5、图书信息查询功能(按书号、书名、作者名、出版社查询,提供模糊查询的功能)

链接:https://pan.baidu.com/s/1AdMlIyDVtLtuVVNf62As-Q?pwd=1111

提取码:1111

设计内容:

实验设备信息包括:设备编号,设备种类(如:微机、打印机、扫描仪等等),设备名称,设备价格,设备购入日期,是否报废,报废日期等。

设计功能:

1、能够完成对设备的录入和修改

2、对设备进行分类统计

3、设备的破损耗费和遗损处理

4、设备的查询

要求:采用文件方式存储数据,系统以菜单方式工作

链接:https://pan.baidu.com/s/1AdMlIyDVtLtuVVNf62As-Q?pwd=1111

提取码:1111

设计内容:

设计一个学生选修课程系统,假定有n门课程,每门课程有:课程编号,课程名称,课程性质(公共课、必修课、选修课),总学时,授课学时,实验或上机学时,学分,开课学期等信息,学生可按要求(如总学分不得少于60)自由选课。

设计功能:

1、系统以菜单方式工作

2、课程信息录入功能(课程信息用文件保存)--输入

3、课程信息的编辑功能(插入、删除、修改)

4、课程信息浏览功能(按课程编号、课程名称、总学时、学分等排序输出)。

5、课程信息查询功能(按课程编号、课程名称、课程性质、开课学期等查询,提供模糊查询的功能)

6、学生选修课程

7、学生选课信息查询

链接:https://pan.baidu.com/s/1AdMlIyDVtLtuVVNf62As-Q?pwd=1111

提取码:1111

设计内容:

某公司有四个销售员(编号:1-4),负责销售五种产品(编号:1-5)。每个销售员都将当天出售的每种产品各写一张便条交上来。每张便条包含内容:1)销售员的代号,2)产品的代号,3)这种产品的当天的销售额。每位销售员每天上缴1张便条。试设计一个便条管理系统。

设计功能:

1、系统以菜单方式工作

2、便条信息录入功能(便条信息用文件保存)--输入

3、收集到了上个月的所有便条后,读取销售情况

1)计算每个人每种产品的销售额。

2)按销售额对销售员进行排序,输出排序结果(销售员代号)

3)统计每种产品的总销售额,对这些产品按从高到底的顺序,输出排序结果(需输出产品的代号和销售额)(可选项)

链接:https://pan.baidu.com/s/1AdMlIyDVtLtuVVNf62As-Q?pwd=1111

提取码:1111

设计内容:

设计出模拟手机通信录管理系统,实现对手机中的通信录进行管理。

设计功能:

(1)查看功能:选择此功能时,列出下列三类选择。

A.办公类B.个人类C.商务类,当选中某类时,显示出此类所有数据中的姓名和电话号码)

(2)增加功能:能录入新数据

一个结点包括:姓名、电话号码、分类(A办公类B个人类C商务类)、电子邮件)。

例如:杨春13589664454商务类chuny@126.com

当录入了重复的姓名和电话号码时,则提示数据录入重复并取消录入;当通信录中超过15条信息时,存储空间已满,不能再录入新数据;录入的新数据能按递增的顺序自动进行条目编号。

(3)拔号功能:

能显示出通信录中所有人的姓名,当选中某个姓名时,屏幕上模拟打字机的效果依次显示出此人的电话号码中的各个数字,并伴随相应的拔号声音。

(4)修改功能:

选中某个人的姓名时,可对此人的相应数据进行修改

(5)删除功能:

选中某个人的姓名时,可对此人的相应数据进行删除,并自动调整后续条目的编号。

链接:https://pan.baidu.com/s/1AdMlIyDVtLtuVVNf62As-Q?pwd=1111

提取码:1111

每个教师的信息为:教师号、姓名、性别、单位名称、家庭住址、联系电话、基本工资、津贴、生活补贴、应发工资、电话费、水电费、房租、所得税、卫生费、公积金、合计扣款、实发工资。注:应发工资=基本工资+津贴+生活补贴;合计扣款=电话费+水电费+房租+所得税+卫生费+公积金;实发工资=应发工资-合计扣款。

A、教师信息处理

(1)输入教师信息

(2)插入(修改)教师信息:

(3)删除教师信息:

(4)浏览教师信息:

提示:具体功能及操作参考题1。

B、教师数据处理:

(1)按教师号录入教师基本工资、津贴、生活补贴、电话费、水电费、房租、所得税、卫生费、公积金等基本数据。

(2)教师实发工资、应发工资、合计扣款计算。

提示:计算规则如题目。

(3)教师数据管理

提示:输入教师号,读出并显示该教师信息,输入新数据,将改后信息写入文件

(4)教师数据查询:

提示:输入教师号或其他信息,即读出所有数据信息,并显示出来。

(5)教师综合信息输出

提示:输出教师信息到屏幕。

链接:https://pan.baidu.com/s/1AdMlIyDVtLtuVVNf62As-Q?pwd=1111

提取码:1111

C语言课程设计

//随便写了个,你看看能用不

#include<stdio.h>

#include<string.h>

intlogin(void)//登陆

{

charuser[16];

charpassword[16];

printf("\033[8;16H");//定位到8行16列

printf("user:");

scanf("%s",user);

printf("\033[10;16H");//定位到10行16列

printf("password:");

scanf("%s",password);

//账号:admin密码:123

if((strcmp(user,"admin")==0)&&(strcmp(password,"123")==0))

{

printf("\033[9;18H");//定位到9行18列

printf("regionsuccess!\n");

return0;

}

printf("\033[9;18H");//定位到9行18列

printf("userorpassworderror!\n");

sleep(1);

printf("\033[2J\n");//清屏

login();

}

voidfunctional_selection_frame(void)//界面

{

printf("\033[8;16H");//定位到8行16列

printf("1.课表查询\n");

printf("\033[9;16H");//定位到9行16列

printf("2.学生选课\n");

printf("\033[10;16H");//定位到10行16列

printf("3.考试申请\n");

printf("\033[11;16H");//定位到11行16列

printf("4.退出系统\n");

return;

}

intfunctional_selection(void)//功能选择

{

charc;

intflag=0;

functional_selection_frame();

system("stty-echo");//关闭回显

system("stty-icanon");//设置一次性读操作

while(1)

{

c=getchar();

switch(c)

{

case'1':

printf("\033[2J\n");//清屏

printf("\033[10;16H1-课表查询\n");//定位到10行16列

flag=1;

break;

case'2':

printf("\033[2J\n");//清屏

printf("\033[10;16H2-学生选课\n");//定位到10行16列

flag=1;

break;

case'3':

printf("\033[2J\n");//清屏

printf("\033[10;16H3-考试申请\n");//定位到10行16列

flag=1;

break;

case'4':

printf("\033[2J\n");//清屏

printf("\033[10;16H4-退出系统\n");//定位到10行16列

flag=1;

break;

default:

break;

}

if(flag==1)

break;

}

system("sttyecho");//开启回显

system("sttyicanon");//关闭一次性读操作

return0;

}

intmain(void)

{

intret;

printf("\033[2J\n");//清屏

ret=login();//登录输入账号密码 账号:admin密码:123

if(ret<0)

return-1;

printf("\033[2J\n");//清屏

functional_selection();//功能选择1-课表查询2-学生选课3-考试申请4-退出系统

return0;

}

OK,本文到此结束,希望对大家有所帮助。