第一篇:c语言课程实践范文
C语言课程实践-实践1实验报告
实验报告
1. 程序源代码
程序1 编程先由计算机“想”一个1~100之间的数请人猜,如果人猜对了,则计算机给出提示“Right!”,否则提示“Wrong!”,并告诉人所猜的数是大还是小,然后结束游戏。要求每次运行程序时机器所“想”的数不能都一样。 #include #include #include void main() {
int input_number;
int random_number; srand( (unsigned)time( NULL ) ); random_number = rand()%100+1; printf("输入您想猜的0~100之间的数:"); scanf("%d",&input_number); if (input_number >= 0 && input_number <= 100) {
if (input_number == random_number)
{
printf(" right!");
}
else if (input_number > random_number)
{
printf(" 您猜的数过大 ");
}
else
{
printf(" 您猜的数过小 ");
} }
else
{
printf(" 您猜的数应在0~100之间"); } } 程序2 编程先由计算机“想”一个1~100之间的数请人猜,如果人猜对了,则结束游戏,并在屏幕上输出人猜了多少次才猜对此数,以此来反映猜数者“猜”的水平;否则计算机给出提示,告诉人所猜的数是太大还是太小,直到人猜对为止。 #include #include #include void main() {
int input_number;
int random_number; int n; srand( (unsigned)time( NULL ) ); random_number = rand()%100+1; for(n=1;;n++) {
printf("输入您想猜的0~100之间的数:"); scanf("%d",&input_number); if (input_number >= 0 && input_number <= 100)
if (input_number == random_number)
{
printf(" right! ");
if(n==1)
{
printf(" 您猜了%d次,太牛逼了. ",n);break;
}
else if(n>1&&n<6)
{
printf(" 您一共猜了%d次,水平还行. ",n);break;
}
else
{
printf(" 您一共猜了%d次,才猜对,很勉强啊. ",n);break;
}
}
else if (input_number > random_number)
printf(" 您猜的数过大 ");
else
printf(" 您猜的数过小 ");
else
printf(" 您猜的数应在0~100之间"); } } 程序3 编程先由计算机“想”一个1~100之间的数请人猜,如果人猜对了,则结束游戏,并在屏幕上输出人猜了多少次才猜对此数,以此来反映猜数者“猜”的水平;否则计算机给出提示,告诉人所猜的数是太大还是太小,最多可以猜10次,如果猜了10次仍未猜中的话,结束游戏。
#include #include #include void main() {
int input_number;
int random_number; int n; srand( (unsigned)time( NULL ) ); random_number = rand()%100+1; for(n=1;n<=10;n++) {
printf("输入您想猜的0~100之间的数:"); scanf("%d",&input_number); if (input_number >= 0 && input_number <= 100)
if (input_number == random_number)
{
printf(" right! ");
if(n==1)
{
printf(" 您猜了%d次,太牛逼了. ",n);break;
}
else if(n>1&&n<6)
{
printf(" 您一共猜了%d次,水平还行. ",n);break;
}
else
{
printf(" 您一共猜了%d次,才猜对,很勉强啊. ",n);break;
}
}
else if (input_number > random_number)
printf(" 您猜的数过大,您还有%d次机会 ",10-n);
else
printf(" 您猜的数过小,您还有%d次机会 ",10-n);
else
printf(" 您猜的数应在0~100之间"); } if(n==11)
printf(" 你输了! "); }
程序4 编程先由计算机“想”一个1~100之间的数请人猜,如果人猜对了,在屏幕上输出人猜了多少次才猜对此数,以此来反映猜数者“猜”的水平,则结束游戏;否则计算机给出提示,告诉人所猜的数是太大还是太小,最多可以猜10次,如果猜了10次仍未猜中的话,则停止本次猜数,然后继续猜下一个数。每次运行程序可以反复猜多个数,直到操作者想停止时才结束。 #include #include #include void main() {
int input_number;
int random_number; int n,i=1;
game: srand( (unsigned)time( NULL ) ); random_number = rand()%100+1; for(n=1;n<=10;n++) {
printf("第%d轮游戏,输入您想猜的0~100之间的数:",i); scanf("%d",&input_number); if (input_number >= 0 && input_number <= 100)
if (input_number == random_number)
{
printf(" right! ");
if(n==1)
{
printf(" 您猜了%d次,太牛逼了. ",n);break;
}
else if(n>1&&n<6)
{
printf(" 您一共猜了%d次,水平还行. ",n);break;
}
else
{
printf(" 您一共猜了%d次,才猜对,很勉强啊. ",n);break;
}
}
else if (input_number > random_number)
printf(" 您猜的数过大,您还有%d次机会 ",10-n);
else
printf(" 您猜的数过小,您还有%d次机会 ",10-n);
else
printf(" 您猜的数应在0~100之间"); }
} if(n==11) { printf(" 你输了! "); i=i+1; goto game; } 2. 遇到的问题及解决方法
问题1:随机数如何调用?
解决方法:运用srand( (unsigned)time( NULL ) )函数。
问题2:”直到人猜对为止”功能如何实现? 解决办法:运用一个“无穷循环”,另游戏能够不断进行,并运用break语句停止于猜对情况。
问题3: “以此来反映猜数者“猜”的水平”功能的实现?
解决办法:在猜对情况下的if语句中嵌套if语句实现“猜数次数”的判断,分支输出“猜”的水平。
问题4:“每次运行程序可以反复猜多个数”功能的实现?
解决办法:此功能比较困难,但反复阅读程序后,发现代码并不复杂,运用goto语句和if语句的运用进行循环,即可实现此功能,且不会因为运用goto语句造成程序模块的混乱。
3. 总结(心得体会)
这是“C语言课程实践”的第一次实践,由于平时并没接触过Microsoft Visual C++ 6.0这个编译软件,因此刚开始还存在操作方面的苦难。经过一两节课的实践,能够熟悉界面和学会新建工程。
此次实践题目是“猜数游戏”,题目分成4个部分,其实内容相同,只是功能逐渐增加。鉴于这种题目,编写程序中需要思考预留部分,比如运用if语句嵌套时,要注意把“猜对”、“猜错”和“误猜”分支出来,使程序容易阅读也容易进行修改。
在编写程序过程中,遇到几个核心问题,通过学习后把困难一个个突破,并成功实现题目所要求的功能。
最后,我对编程有进一步认识,而且在编程调试过程中,能够从中发现问题并解决问题,这是程序能够走向成功的必经之路,也是带来成功喜悦必不可少的过程。
第二篇: 《C语言程序设计(实践)》课程教学大纲
一、课程的性质和任务
课程性质:《C语言程序设计(实践)》是多媒体技术专业《C后续课程设计课程。
本课程的任务是:通过课程设计,为学生提供一个既动手又动脑,独立实践的机会,将课本上的理论知识和实际有机的结合起来,锻炼学生的分析解决实际问题的能力。提高学生实际编程的能力。
本课程教学应达到的基本要求是:利用学到的编程知识和编程技巧,通过布置具有一定难度的程序设计题目,帮助学生熟悉程序的设计、编写与调试过程。
语言程序设计》课程的
二、时间安排
本课程设计时间为一周(28学时),题目提前两周布置,使学生作好准备。具体时间安排如下:
1.分析设计准备阶段(周一)
2.编程调试阶段(周二至周四)
3.总结报告和书写说明书阶段(周三至周四) 4.考核阶段(周五)
三、课题内容:
提供以下备选课题: 1.图书管理信息系统 2.民航订票系统 3.标准化考试系统 4.时钟
四、组织管理: 对学生分组,每组3~6人,每组选一课题。
五、考核评估:
成绩分优、良、中、及格和不及格五等,从以下几方面考核: 1.程序设计的可用性,实用性,通用性,可扩充性(40%) 2.学生的动手能力,创新精神(30%) 3.总结报告(10%) 4.答辩水平(20%)
主编:姚培华
主审:王富荣
第三篇:C语言程序设计课程考试模式改革实践与研究
摘要:针对程序设计类课程教学效果不佳的教学实际,以C语言程序设计课程为例,通过分析历年试卷,提出加强中间实践教学过程考核及以程序设计题为主的无纸化期末考核,并从试题库建设、系统设计思想、软件功能结构、运行效果等方面介绍无纸化考试平台。
关键词:动手编程能力;教学质量;无纸化考核方式
引言
C语言程序设计是理工科类专业的一门必修课程。就当前严峻的就业形势及社会对计算机操作能力越来越高的要求而言,学校在培养学生程序设计能力方面还有待提高。针对当前的教学现状,进行本门课程的考试方法改革,即以无纸化考试方式驱动学生加强平时动手能力的训练,以提高C语言程序设计课程的教学质量。与传统纸质考试模式比较,无纸化机试考试模式可以很好地考查学生的程序设计能力,同时也能很好地排除考试各环节中人为因素的影响,比如评分标准不一致等现象。此外,机试考试也减轻了教师的出题、评阅、统计、分析等工作任务,提高了工作效率。
1教学现状分析
1.1学生的程序设计能力水平普遍较低
通过对近3年3100份试卷的分析发现,能够编写出完整正确程序的学生人数不足40%,而卷面分数达到合格的人数却超过了75%,如图1所示;此外,近3年全国计算机等级考试(二级C)的合格率不超过28%,如图2所示。这些数据说明学生的程序设计能力与社会对人才的要求还存在一定差距。
1.2传统纸质考试方式弱化了对学生程序设计能力水平的考查
程序设计语言类课程的考试应着重考查学生的动手编程能力。目前,该类课程的学习效果评价手段多以传统纸质试卷为主,其中程序设计题仅占20%,弱化了对学生程序设计能力的考查,因此普遍存在卷面合格的学生不能编写完整正确程序的现象。
一个完整正确的程序往往不能一次就编写成功,需要不断地调试,从中发现错误并加以改正,学生在调试过程中不断巩固所学内容。传统纸质试卷考试方式在考查学生调试程序能力方面也存在弱势。
1.3传统纸质考试方式不符合全国计算机等级考试改革方向
教育部规定自2013年开始全国计算机等级考试所有科目均采用无纸化考试方式,学生是否具有计算机语言程序设计能力,是否具有解决实际问题的能力,都不再是纸上谈兵。无纸化考试教学改革可提高学生学习的积极性和主动性,培养其实际动手编程能力,提高教学质量。
2改革举措
针对C语言程序设计课程建立一套5000道试题的试题库,涵盖教学大纲规定的所有知识点,且重点、难点突出,开发与之对应的无纸化考试平台,并制定科学合理、切实可行的无纸化考试管理办法及平时考核机制。
2.1以教学大纲为蓝本建设试题库
根据C语言程序设计课程教学大纲,组织该课程的一线授课教师共同建设试题库,确保试题内容设置具有科学合理、难度适宜、重点突出、结合实际等特点,能够全面评价学生的程序设计能力。该试题库建立过程中,参与教师达到17名,试题类型包括程序填空、程序改错和程序设计3类,试题数量分别为1000道、1000道、3000道,覆盖知识点69个,涉及算法26种。
2.2结合软件工程思想开发无纸化考试平台
无纸化考试平台以提高教学质量及学生的动手编程能力、全面考核学生的程序设计能力、减轻教师出题和评阅等繁琐工作任务为主要目标,功能主要包括服务器端与客户端两部分。服务器端完成试题库维护、考试参数设置、考试数据文件生成与打印等功能,客户端完成随机抽题、考生作答、自动评阅等功能,具体功能如图3所示。
该平台的关键功能是随机抽题和成绩评定:随机抽题模块确保所抽试题覆盖知识点广、涉及算法不重复;同时对于程序设计题的成绩评定,建立科学合理的评分准则。此外,该平台注重考
2.3加强平时实践教学环节的考核
考试模式改革的目的不是用机试考试方式简单地代替纸质考试方式,而是通过考核方式的转变,扭转学生对C语言学习的认识,强调利用计算机语言解决实际问题的学习目的,加强动手编程能力的培养。全面考核学生的程序设计能力不能仅依赖于期末考核,还要侧重于平时实践环节的考核,只有这样,学生才能在实践中不断积累经验,牢固掌握知识。
学校已将C语言程序设计课程平时实践考核成绩作为最终成绩的重要部分,比例为50%。平时成绩的具体考核形式主要有两种:一是针对每一章设置独立知识点的试题,各章学习结束后,利用该考试平台进行章节测试,随机抽取一道试题,让学生利用25~30分钟作答;第二种形式是以2~3人的组为单位,课下完成一个复合知识点的题目,这类题目考核的知识点既包含学过的,也包含没学过的,需要学生课下主动查阅资料,寻找解决方法,最终以答辩形式向其他同学汇报,成绩由其他同学打分确定。
核学生利用计算机语言解决实际问题的能力,即以程序设计题为主,辅以程序填空及程序改错题。平台的建立利用面向对象程序设计方法并结合软件项目开发思想,其部分运行界面如图4所示。
2.4加强程序设计能力的考核
无纸化考试系统既能考核学生阅读程序的能力,又能考核学生编程调试程序的能力,采用该系统进行期末考试,每份试卷包含3道试题,均为程序设计题,它们所属章节不同。本系统将章节分为3部分:顺序结构与选择结构为第1部分,循环结构与数组为第2部分,函数、指针及结构体为第3部分。此外,3道试题所涉及的算法均不同,各试题分值分别为30分、30分、40分,试题难度由易到难。这样既能保证考核知识面广,又能公正地评价每位学生的程序设计能力。
2.5人性化的考核模式
C语言程序设计课程的教学任务分两个学期完成,其中第1学期任务量在4400人左右,第2学期任务量在2200人左右。面对众多的考生,无纸化考试需分批分阶段完成,根据制定的科学有效的无纸化考试管理办法,结合网上预约考试平台,学生可在规定的时间段内合理选择考试时间,实现人性化的考试。具体实施步骤为:课程结束前两周由教务处发布考试通知,考试时间一般定于课程结束后的第2周,从周一至周五全天工作时间均可进行考试,考场数量根据本学期考生数量适当增加或减少。学生自收到通知之日起,就可通过预约系统进行考试预约,教务工作人员随时查看预约情况,合理安排监考教师,学生根据预约结果合理安排考前准备进度。
3改革效果
3.1激发了学生学习的主动性
考试方式的转变,加强了学生动手编程能力的训练,学生不再每天纸上谈兵,靠死记硬背获取知识,而是通过上机编写程序、调试程序,灵活掌握课堂中学到的知识,并举一反三,收到了事半功倍的效果。学生对本门课程的相互讨论增多了,对获取更多知识的欲望增强了,课堂教学过程中学生主动与教师的交流也增多了。
3.2提高了学生的编程能力
经过近两年的实践,本门课程的考试成绩有了明显的提高,全国计算机等级考试(二级C)的通过率增长了约9个百分点。由于C语言程序设计课程是大一阶段的必修课,学生通过实践锻炼,掌握了程序设计语言类课程的学习方法,在学习后续的其他类似课程时入门快、效率高,增强了自信心。如数据结构课程,绝大多数学生不会再因为程序设计语言不过关而学不好,可完全将学习重点放在数据的逻辑结构学习中。
3.3减轻了教师的工作量
无纸化考试方式减少了教师考前出题、试后评阅、分数统计等繁杂的工作,同时也避免了由于工作失误而造成的分数统计错误等现象,教师的工作重点完全转向如何改进教学方法、提高学生的实际动手编程能力和提高教育教学质量。
4结语
加强实践教学环节是学好计算机语言的关键所在,机试考核方式驱动了学生对计算机语言的学以致用。下一步的工作是借鉴C语言程序设计课程取得的改革经验,结合其他各门计算机语言课程的特点,逐步完成Java语言、c++语言等课程的教学改革。
第四篇:C语言课程设计程序
#include #include #include struct student { int num; char name[15];
//定义学生结构体,st数组。
int score[5]; float jqave; int rank; }st[27];
struct kecheng { int num; char kcname[20];
//定义课程结构体,course数组. float xuefen; float biaozhuncha; int youxiu; int lianghao; int zhongdeng; int jige; int bujige;
}course[5];
void readdata1() {
int i,j;
char str1[100];
FILE *f1;
f1=fopen("c:xinji110213.txt","r");
fgets(str1,100,f1); // printf("%-s",str1);
for(i=0;i<27;i++)
{
fscanf(f1,"%d%s",&st[i].num,st[i].name);
// printf("%-4d%-10s",st[i].num,st[i].name);
for(j=0;j<5;j++)
{
fscanf(f1,"%d",&st[i].score[j]); // printf("%-9d",st[i].score[j]); }
// printf(" "); }
fclose(f1); }
void readdata2() {
int k;
char str2[100];
FILE *f2;
f2=fopen("c:xj02kc.txt","r");
fgets(str2,100,f2); // puts(str2);
for(k=0;k<5;k++)
{
fscanf(f2,"%d%s%f",&course[k].num,course[k].kcname,&course[k].xuefen);
// printf("%-8d%-10s%2.1f ",course[k].num,course[k].kcname,course[k].xuefen);
}
fclose(f2); } void jqave() { int i,j; float s=0,sum=0; for(i=0;i<27;i++)
{
for(j=0;j<5;j++)
{
s+=course[j].xuefen;
sum+=st[i].score[j]*course[j].xuefen ;
}
st[i].jqave =sum/s;
} }
void ranking()
{ int i,j;
for(i=0;i<27;i++) {
st[i].rank=1;
for(j=0;j<27;j++)
if(st[i].jqave
st[i].rank=st[i].rank+1; } }
void paiminghoudechengji() { int i,j; FILE *fp; fp=fopen("c:MC110213.txt","w"); printf(" 名次 学号
姓名
数学分析
高等代数
C语言
大学物理
大学艺术
加权平均分 "); fprintf(fp," 名次 学号
姓名
数学分析
高等代数
C语言
大学物理
大学艺术
加权平均分 ");
for(i=0;i<27;i++)
{
printf("%3d%5d%8s",st[i].rank,st[i].num,st[i].name);
fprintf(fp,"%3d%5d%8s",st[i].rank,st[i].num,st[i].name);
for(j=0;j<5;j++)
{
printf("%10d",st[i].score[j]);
fprintf(fp,"%10d",st[i].score[j]);
}
printf("%12.2f ",st[i].jqave);
fprintf(fp,"%12.2f ",st[i].jqave); } fclose(fp); }
void xiechengji() { int j; FILE *fp; fp=fopen("c:xj1110213.txt","w"); fprintf(fp," 编号
课程名称
课程学分
标准差
优秀
良好
中等
及格
不及格
"); printf(" 编号
课程名称
课程学分
标准差
优秀
良好
中等
及格
不及格
"); for(j=0;j<5;j++)
{
printf("%3d%15s%10.2f",course[j].num,course[j].kcname,course[j].xuefen); fprintf(fp,"%3d%15s%10.2f",course[j].num,course[j].kcname,course[j].xuefen);
printf("%10.1f%8d%8d%8d%8d%6d ",course[j].biaozhuncha,course[j].youxiu,course[j].lianghao,course[j].zhongdeng,course[j].jige,course[j].bujige);
fprintf(fp,"%10.1f%8d%8d%8d%8d%6d ",course[j].biaozhuncha,course[j].youxiu,course[j].lianghao,course[j].zhongdeng,course[j].jige,course[j].bujige);
} fclose(fp); }
void pingjunfen() { int i,j;
for(j=0;j<5;j++)
{
float zongfen=0,pingjunfen=0;
for(i=0;i<27;i++)
zongfen+=st[i].score[j];
pingjunfen=zongfen/27;
} }
void biaozhuncha() {
int i,j;
for(j=0;j<5;j++) {
float zongfen=0,pingjunfen=0,x=0;
for(i=0;i<27;i++)
zongfen+=st[i].score[j];
pingjunfen=zongfen/27;
for(i=0;i<27;i++)
x+=(st[i].score[j]-pingjunfen)*(st[i].score[j]-pingjunfen);
course[j].biaozhuncha=(float)sqrt((x/27));
} }
void count() {
int i,j;
for(i=0;i<5;i++)
{
course[i].youxiu=0,course[i].lianghao=0,course[i].zhongdeng=0,course[i].jige=0,course[i].bujige=0;
for(j=0;j<27;j++)
{
if(st[j].score[i]<60)
course[i].bujige++;
else if(st[j].score[i]<=69)
course[i].jige++;
else if(st[j].score[i]<=79)
course[i].zhongdeng++;
else if(st[j].score[i]<=89)
course[i].lianghao++;
else
course[i].youxiu++;
} } }
void chengjitiao() {
int i,j; FILE *fp; fp=fopen("c:cjt110213.txt","w"); do
{ printf("请输入你要查询的编号
退出请按零");
scanf("%d",&i);
fprintf(fp," 编号
姓名
数学分析
高等代数
C语言
大学物理
大学艺术
加权平均分
名次 "); printf(" 编号
姓名
数学分析
高等代数
C语言
大学物理
大学艺术
加权平均分
名次 "); if(i>=0&&i<=26) fprintf(fp,"%3d%10s",st[i-1].num,st[i-1].name);
printf("%3d%10s",st[i-1].num,st[i-1].name); for(j=0;j<5;j++) {
printf("%9d",st[i-1].score[j]);
fprintf(fp,"%9d",st[i-1].score[j]); } printf("%12.2f%8d ",st[i-1].jqave,st[i-1].rank); fprintf(fp,"%12.2f%8d ",st[i-1].jqave,st[i-1].rank); fclose(fp); } while(i>0&&i<28);
}
void bujigexueshengmingdan() {
int i,j;
printf("不及格学生名单如下: "); printf(" 学号
姓名
不及格课程
分数
"); for(i=0;i<27;i++) {
for(j=0;j<5;j++)
if(st[i].score[j]<60)
{printf("%3d%12s",st[i].num,st[i].name);
printf("%15s%8d ",course[j].kcname,st[i].score[j]);
// printf("
平均分");
// printf("%10.2f
名次%8d ",st[i].jqave,st[i].rank);
}
} }
void youdeng() { int i,k; printf(" 优等生名单如下 "); printf("编号
姓名
数学分析
高等代数
C语言 大学物理 大学艺术 加权平均分
名次 "); for(i=0;i<27;i++) { // for(j=0;j<5;j++)
if(st[i].jqave>=90||st[i].rank<=3)
{
printf("%2d%10s",st[i].num,st[i].name);
for(k=0;k<5;k++)
printf("%9d",st[i].score[k]);
printf("%10.2f%8d ",st[i].jqave,st[i].rank);
}
else ;
} }
void caidan()
{ loop: printf("
&&简易教学管理系统&& ");
printf("press 1 for
排名后的成绩表
! ");
printf("press 2 for
各科成绩情况! ");
printf("press 3 for
成绩条! ");
printf("press 4 for
不及格学生名单! ");
printf("press 5 for
优等生名单! ");
printf("press 0 for
退出 ");
int t;
scanf("%d",&t);
switch(t)
{
case 1:
paiminghoudechengji();break;
case 2:
xiechengji();break;
case 3:
chengjitiao();break;
case 4:
bujigexueshengmingdan();break;
case 5:
youdeng();break;
case 0:
exit(0);
}
goto loop;
}
void main() {
readdata1();
readdata2();
jqave();
ranking();
pingjunfen();
biaozhuncha(); count();
caidan(); }
第五篇:C语言课程设计选题
题
一、《学生成绩管理系统》
1、 写一个“学生成绩管理”程序,要求程序如下功能:
(1) 成绩录入,(2)成绩修改(按学号修改),(3)成绩查询(至少提供按学号、按姓名、按班级、按课程等4种查询方式)(4)统计汇总(总分、平均分、最高分、最低分等)
2、 一条学生的成绩记录结构如下:
学号(主键,无重复,数据类型可用长整型,编码位数及含义自定) 姓名(字符型数据,长度自定) 班级(整型数据,长度自定)
课程成绩(包括至少4门课程成绩,课程名自定,每门课程数据类型为实型数据,长度5位,小数1位)
3、学生成绩以文件形式存放
要求用链表实现数据的输入、查询、修改和删除操作。 4. 作业提交方式:
(1)设计报告:在程序运行界面突出显示设计者的班级、学号和姓名。 内容包括:设计思路、功能模块划分、系统结构图、程序清单。 设计报告一律用A4纸打印,封面要统一,装订线在左侧,双面打印。
(2)光盘:每个班统一制作一张光盘,每人一个文件夹,命名为:学号和姓名。
光盘内含:源程序文件;可执行程序文件;测试用例;课程设计报告WORD文档。
题
二、《工资管理系统》 题
三、《图书管理系统》
1、主要的数据表
图书基本信息表,借书卡信息表,借阅信息表,图书分类信息表,代码表等.
2、主要功能模块
图书基本情况的录入,修改,删除等基本操作. 办理借书卡模块. 实现借书功能. 实现还书功能.
1 能方便的对图书进行查询. 对超期的情况能自动给出提示信息. 具有数据备份和数据恢复功能.
3、设计要求
图书编号可参考国家统一的图书编码方法,再完成基本功能模块的情况下,尽量使系统能具有通用性.
题
四、《仓库管理系统》 题
五、《票务管理系统》
题
六、《通讯录管理系统》等等„„
作业要求和提交方式: 同题一。
题
七、《学生学籍管理系统》
1、主要的数据表
学生基本情况数据表,学生成绩数据表,课程表,代码表等.
2、主要功能模块
实现学生基本情况的录入,修改,删除等基本操作. 对学生基本信息提供灵活的查询方式. 完成一个班级的学期选课功能. 实现学生成绩的录入,修改,删除等基本操作. 能方便的对学生的每个学期成绩进行查询. 具有成绩统计,排名等功能. 具有留级,休学等特殊情况的处理功能. 能输出常用的各种报表. 具有数据备份和数据恢复功能.
3、设计要求
学生成绩表的设计,要考虑到不同年级的教学计划的变化情况. 对于新生班级,应该首先进行基本情况录入,选课,然后才能进行成绩录入.
2 题
八、《地铁站售票机售票过程的模拟》
1. 本题内容为:用C语言编写一个模拟广州市地铁一号线某车站自动售票机售单程票的过程的程序。要求可以选择输入起点站。
2. 要求按“选到达站”→“投币“→“出票”的过程准确无误地完成一次购票操作。
选到达站:用显示菜单方式显示各车站名,然后按相应的车站编号选择;
投币:按到达站的票价,可用按下一次空格键代表投入一枚一元硬币。(不要直接按数字键);
出票:用给出文字信息表示出票操作(包括退还多投的硬币信息)。
3. 要求能对乘客购票步骤给予提示,对错误操作给予提醒。(如在规定的时间快到时未能投入足够的币额则显示催促信息,而规定的时间到后未能投入足够的币额者则取消本次购票操作并退还已投款项)。
4. 操作简便、可靠性好(不能遇误操作就出现退出运行程序或死机)。 5. 作业提交方式:同题一。
3 题
九、《银行储蓄管理系统》
1、主要的数据表
定期存款单,活期存款帐,存款类别代码表等.
2、功能模块
实现储户开户登记. 办理定期存款帐. 办理定期取款手续. 办理活期存款帐,办理活期取款手续. 实现利息计算. 输出明细表. 具有数据备份和数据恢复功能.
3、设计要求
要进行实际调研,系统功能在实现时参照实际的储蓄系统的功能.同时要考虑银行系统数据的安全与保密工作.数据要有加密功能.
题
十、《设备管理系统》
1、主要数据表
设备明细帐表,设备使用单位代码表,国家标准设备分类表等.
2、功能模块
实现设备的录入,删除,修改等基本操作. 实现国家标准设备代码的维护. 能够对设备进行方便的检索. 实现设备折旧计算. 能够输出设备分类明细表. 具有数据备份和数据恢复功能.
3、设计要求
具体设备编码参考国家统一编码方法,功能实现也要考虑通用性.
题十
一、《医院药品进销存管理系统》
1、主要的数据表
药品分类代码表,药品库存表,供货商信息表,采购信息表等.
2、功能模块
4 新药品的入库. 过期药品的出库登记,处理记录. 药品库存检索. 供货商信息检索. 药品采购记录管理. 药品用药说明信息管理. 输出相应的数据报表. 具有数据备份和数据恢复功能.
3、设计要求
具体项目内容去医院进行调研,药品编码也应参考国家统一编码方法.
题十
二、《英语学习助手系统》
1、主要的数据表
英语分级单词表,常用单词例句表,短文分级表等.
2、功能模块
实现英语单词的录入,修改,删除等基本操作. 实现常用英语单词例句的录入,修改,删除等基本操作. 实现英语单词检索,翻译等. 常用英语单词例句检索. 根据难度随机生成一份单词测试题目. 能够检索出短文极其翻译对照表. 具有数据备份和数据恢复功能.
3、设计要求
系统要考虑实用性,尽量实现英汉互译.英语单词和短语可以考虑加上声音.
题十
三、《大学生就业咨询系统》
1、主要数据表
用人单位基本信息表,专业信息表,地区代码表等
2、功能模块
对用人单位的基本信息进行录入,修改,删除等. 实现毕业生专业信息的维护. 定时发布用人单位的毕业生需求信息. 方便的实现对人才需求信息的检索. 对用人单位的级别能够自动进行变更.
5 能够对历年的毕业需求信息进行统计,分析. 具有数据备份和数据恢复功能.
3、设计要求
方便毕业生进行就业信息检索,可考虑将就业信息在网上进行发布.
题十
四、《教务辅助管理系统》
1、主要的数据表
教师基本信息表,课程表,教室资源表等
2、功能模块
对上课教师基本信息进行管理. 对全院开设的课程进行管理. 录入教师基本上课信息. 实现自动排课功能. 计算工作量 能够进行各种数据统计. 能够输出相应的报表. 具有数据备份和数据恢复功能.
3、设计要求
软件功能主要考虑实用,具体功能模块一定要先进行调研.
如果有下列情况,则视情节严重程度,成绩下降若干档次,直至不及格: 光盘文件含有病毒或者内容不能正确读出; 抄袭、复制别人程序或文档; 未能按时提交实验报告和光盘。
本学期第X周要到机房演示运行程序。
【c语言课程实践范文】相关文章:
c语言课程实践总结08-01
c语言课程实践报告08-01
《C语言》课程教改浅论09-10
C语言课程设计实习报告04-10
c语言课程设计万年历04-20
通讯录c语言课程设计04-25
《C语言程序设计》课程教学探索10-26
C语言课程设计数字钟程序04-24
《C语言程序设计》教学实践探索09-10