当前位置:首页 > 代码 > 正文

课程设计选题系统代码(课程设计选题系统代码怎么写)

admin 发布:2022-12-20 00:02 130


今天给各位分享课程设计选题系统代码的知识,其中也会对课程设计选题系统代码怎么写进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

C语言课程设计

//我以前的作业

游戏说明

1.开始游戏

1)系统随机产生一位不重复的N位数字。N的大小与等级有关。

初级:N=3 中级:N=4 高级:N=5

2)游戏者输入所猜的不重复数字,并按回车提交。提交的数据

数应与N的大小一致,当数据位数大于N时,只取前N位。

3)系统将提交的数与它自动产生的数进行比较,输出结果“*A*B”形式。其中A代表数字正确相应位置也正确,B代表数字正确但位置不正确。如:1A3B表示游戏者有1个数字的位置正确且数值也正确,除此以外,游戏者还猜对了3个数字,但位置不对,即游戏者已经猜出4位数据,但有3个数据位置不对!

4)游戏者有限定次数的猜测机会,在规定次数内完成,则游戏成功,否则,游戏失败。其中,猜测次数与等级有关:

初级:10次 中级:9次 高级:8次。

5)按完成游戏所用的时间和次数计算游戏者所得分数,游戏等级越高,猜测所用的次数越少,得分越高!若游戏者得分比系统已经保存的分数的高,将提示要求输入游戏者信息,并且保存在最佳排行之中。

2.等级设置

6)游戏者可以自行设置游戏等级:初级,中级和高级。

3.最佳排行

在最佳排行中,游戏者可以查看当前游戏的最佳排行。

4.游戏说明

在游戏说明中,游戏者可以查看游戏规则。

三.总体设计

本课程设计对模块设计的要求如下:

(1)要求使用多文件方式实现设计;

(2)要求在各个文件内实现结构化设计;

(3)每个模块作为一个单独的C文件,每个文件内的函数如表所示,表中给出了各个函数的功能说明。

(4)宏和数据结构等放在头文件中,并使用条件编译。

(1)文件及函数组成

源文件 函数名或其他成分 功能

record.h

ASK 宏定义

结构声明 结构声明

库函数及函数原型声明

game_ control.c Game_rank 设置游戏等级

Game_explain 输出游戏说明

game_ register.c Tiptop_record 记录最高分

Tiptop_output 输出最佳排行

game.c Game_main 开始游戏中心

Build_number 获取系统随机数字

Game_in_out 获取游戏者数据和输出结果

Time_command 时间控制

Game_result 游戏结果处理输出

record.c main 主函数

Menu_select 选择菜单

manage_menu 处理菜单

(2)函数设计

1.头部文件

文件名称:record.h

功 能:声明函数原型,包含文件及自定义宏和数据结构。

要 求:报告是否能正常打开文件执行操作。

2. 设置游戏等级函数

函数原型:void Game_rank(void)

功 能:可由游戏者自行设置游戏等级

参 数:void

返 回 值:void

要 求:如果游戏者没有进行等级设定,则默认初级进行游戏。

3. 输出游戏说明函数

函数原型:void Game_ explain()

功 能:输出游戏规则说明

参 数:void

返 回 值:void

要 求:说明游戏相应的按键,保证游戏者按照说明。

4. 记录最高分函数:

函数原型:void Tiptop_register(int)

功 能:把从Get_player函数得到的游戏者信息和游戏的积分信息一同保存到指定路径的Tiptop_register.dat文件中

参 数:int S;S为游戏积分

返 回 值:void

要 求:要求把Tiptop1.txt(初级最高分) Tiptop2.txt(中级最高分) Tiptop3.txt(高

级最高分)原来有的信息替换为现在的信息,并且只有积分大于原有信息的第

十名,才会被以替换的方式记录;并且是降序的方式排列的。

5. 输出最佳排行函数:

函数原型:void Tiptop_out()

功 能:输出最佳排行信息

参 数:void

返 回 值:void

要 求:没有信息的时候输出提示,有信息时按降序排列输出全部信息。

6. 开始游戏中心函数

函数原型:void Game_main()

功 能:调用Time_ control 、Build_number等函数,进行游戏的整体控制

参 数:void

返 回 值:void

要 求:注意函数的完整性,保证游戏顺利进行,注意没有设置等级时候,默认C=1!

7. 获取系统随机数字函数

函数原型:int *Build_number()

功 能:系统调用time.h文件,利用srand((unsigned) time()产生1个N位随机数字,供游戏者猜测

参 数:void

返 回 值:int 8=*i:指向产生的随机数字构成的数组的指针

要 求:产生的数字是随机的,并且是不重复的,总共产生N(依据游戏等级而定)位数字,组成数组[初级为3个数字]。

8. 获取游戏者游戏数据和输出游戏进程结果函数

函数原型:void Course_in_out()

功 能:把游戏者猜的数据读入内存,并且分析得出结果,并输出结果

参 数:void

返 回 值:void

要 求:用A或B的代码表示本次的结果,其中A表示数值对位置也对,B表示数值对,但位置错了!每次得到游戏者的猜测数据都要分析得出结果并输出结果,以便游戏者的下一次猜测。

9. 时间控制函数

函数原型:int Time_ control()

功 能:利用dos.h和time.h文件,得到玩游戏的总时间,计算游戏积分。

参 数:void

返 回 值:int Time:游戏前后的时间差异

要 求:得到的时间是以秒为单位,数据是整型数据。

10. 游戏结果处理输出函数

函数原型:void Game_result(int m )

功 能:计算,得出最后游戏积分

参 数:int m:整个游戏的时间

返 回 值:void

要 求:按照游戏等级,设置不同的游戏积分方式。

11. 主函数:

函数原型:void main()

功 能:调用各个子函数,实现整体程序的运行

参 数:void

返 回 值: void

要 求:控制整个游戏的顺利进行。

12. 选择菜单函数:

函数原型:void Menu_select()

功 能:得到Handle_menu的返回值,由一个switch语句选择开始,等级,最佳排行,游戏说明,结束等菜单操作。

参 数:void

返 回 值:void

要 求:由Handle_menu得到数据可循环得到,直到得到数字5时,选择退出菜单,方可退出游戏,否则一直循环程序!

13. 处理菜单函数:

函数原型:int Handle_menu()

功 能:输出菜单选择提示,并由cin语句实现游戏者的输入,输入选择相应菜单对应的菜单序号,并把相应的值传给Menu_select函数

参 数:void

返 回 值:int n:选择相应菜单的菜单序号

要 求:输入的值不是相应的菜单的序号时返回0值,否则返回游戏者的输入值,以选择相应菜单。

四.程序代码

1. record.h

#include"time.h"

#includedos.h

#includestdio.h

#includestdlib.h

#includestring.h

//结构体

#define MAXSIZE 20

typedef long int ElemType; //定义结构体tiptop,存放游戏者的最高分等信息

typedef struct tiptop

{

ElemType data;

char name[MAXSIZE];

char grade[MAXSIZE];

int year;

int month;

int day;

char week[MAXSIZE];

int hour;

int minute;

int second;

}tiptop;

//全局变量

int C; //C为等级设置变量

//函数声明

void Menu_select(); //选择菜单函数

int manage_menu(); //处理菜单函数

void Tiptop_record(int); //记录最高分函数

void Tiptop_output(); //输出最佳排行函数

void Game_rank(); //设置游戏等级函数

void Game_explain(); //输出游戏说明函数

void Game_main(); //开始游戏中心函数

int *Build_number(); //获取系统随机数字函数

void Game_in_out(); //获取游戏数据和输出游戏进程结果函数

int Time_command(); //时间控制函数

void Game_result(int); //游戏结果处理输出函数

2. game_ control.c

#include"record.h"

//**********************

// 设置游戏等级函数

//**********************

void Game_rank()

{

FILE *fp;

printf("\t******************************\n");

printf("\t************1:初级************\n");

printf("\t************2:中级************\n");

printf("\t************3:高级************\n");

printf("\t******************************\n");

printf("\t请选择游戏等级:\t");

loop:

scanf("%d",C);

if(C1||C3)

{

printf("\t输入有误!请重新输入:\t");

goto loop;

}

if((fp=fopen("C.txt","w"))==NULL)

{

printf("打开C.txt文件失败!");

exit(1);

}

fwrite(C,sizeof(int),1,fp);

fclose(fp);

if(C==1)

printf("\t等级设置为初级!\n");

if(C==2)

printf("\t等级设置为中级!\n");

if(C==3)

printf("\t等级设置为高级!\n");

printf("\n");

}

//****************

//输出游戏说明函数

//****************

void Game_explain()

{

printf("游戏说明:\n");

printf("\t**********************************************************\n");

printf("\t**********************************************************\n");

printf("\t①:游戏开始,系统随机产生一位不重复的N位数字。N的大小与等级\n");

printf("\t有关:\n");

printf("\t初级:N=3\t中级:N=4\t高级:N=5\t\n");

printf("\t②:游戏者输入所猜的不重复数字,并按回车提交。\n");

printf("\t提交的数据位数应与N的大小一致,当数据位数大于N时,只取前N位;\n");

printf("\t③:系统将提交的数与它自动产生的数进行比较,输出结果\n");

printf("\t“*A*B”形式。其中A代表数字正确相应位置也正确,B代\n");

printf("\t表数字正确但位置不正确。如:1A3B表示游戏者有1个数字的位置\n");

printf("\t正确且数值也正确,除此以外,游戏者还猜对了3个数字,但位置不\n");

printf("\t对,即游戏者已经猜出4位数据,但有3个数据位置不对!\n");

printf("\t④:游戏者有限定次数的猜测机会,在规定次数内完成,\n");

printf("\t则游戏成功。否则,游戏失败。其中,猜测次\n");

printf("\t数与等级有关:\n");

printf("\t初级:10次\t中级:9次\t高级:8次。\t\n");

printf("\t⑤:按完成游戏所用的时间和次数计算游戏者所得分数,\n");

printf("\t游戏等级越高,猜测所用的次数越少,得分越高!\n");

printf("\t若游戏者得分比系统已经保存的分数的高,将提示要求\n");

printf("\t输入游戏者信息,并且保存在最佳排行之中。\n");

printf("\t⑥:游戏者可以自行设置等级!\n");

printf("\t**********************************************************\n");

printf("\t**********************************************************\n");

printf("\n");

}

3. game_ register.c

#include"record.h"

//**************

//记录最高分函数

//**************

void Tiptop_record(int S)

{

FILE *fp;

tiptop n;

char *week[]={"星期天","星期一","星期二","星期三","星期四","星期五",

"星期六"};

time_t timep;

struct tm *t;

printf("\t恭喜您!\n");

printf("\t您获得本游戏的最高分!\n");

//获取名字

printf("\t请输入您的姓名:");

printf("\t");

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

//获取时间

time(timep);

t=gmtime(timep);

t-tm_year=1900+t-tm_year;

t-tm_mon=1+t-tm_mon;

t-tm_hour=8+t-tm_hour;

n.year=t-tm_year;

n.month=t-tm_mon;

n.day=t-tm_mday;

strcpy(n.week,week[t-tm_wday]);

n.hour=t-tm_hour;

n.minute=t-tm_min;

n.second=t-tm_sec;

//获取等级

if(C==1)

strcpy(n.grade,"初级");

if(C==2)

strcpy(n.grade,"中级");

if(C==3)

strcpy(n.grade,"高级");

//获取分数

n.data=S;

if(C==1)

{

if((fp=fopen("tiptop1.txt","w"))==NULL)

{

printf("\t打开tiptop1.txt文件失败!");

exit(1);

}

fwrite(n,sizeof(struct tiptop),1,fp);

fclose(fp);

}

if(C==2)

{

if((fp=fopen("tiptop2.txt","w"))==NULL)

{

printf("\t打开tiptop2.txt文件失败!");

exit(1);

}

fwrite(n,sizeof(struct tiptop),1,fp);

fclose(fp);

}

if(C==3)

{

if((fp=fopen("tiptop3.txt","w"))==NULL)

{

printf("\t打开tiptop3.txt文件失败!");

exit(1);

}

fwrite(n,sizeof(struct tiptop),1,fp);

fclose(fp);

}

}

//****************

//输出最佳排行函数

//****************

void Tiptop_output()

{

int i;

FILE *fp;

tiptop p,q,r;

if((fp=fopen("tiptop1.txt","r"))==NULL)

{

printf("还没有最佳排行!");

exit(1);

}

fread(p,sizeof(struct tiptop),1,fp);

fclose(fp);

if((fp=fopen("tiptop2.txt","r"))==NULL)

{

printf("还没有最佳排行!");

exit(1);

}

fread(q,sizeof(struct tiptop),1,fp);

fclose(fp);

if((fp=fopen("tiptop3.txt","r"))==NULL)

{

printf("还没有最佳排行!");

exit(1);

}

fread(r,sizeof(struct tiptop),1,fp);

fclose(fp);

if(p.data==0q.data==0r.data==0)

{

printf("\t暂无最高分信息!");

printf("\n");

printf("\t是否直接进入游戏?刷新最佳排行信息?\n");

printf("\t1:是\t2:否\n");

printf("\t");

i=0;

scanf("%d",i);

if(i==1)

{

printf("\t请设置游戏等级: \n");

Game_rank();

Game_main();

}

else

Menu_select();

}

else

{

printf("\t最佳排行:\n");

printf("\t等级\t姓名\t分数\t游戏时间\n");

if(p.data!=0)

{

printf("\t%s\t%s\t%d\t",p.grade,p.name,p.data);

printf("%d—%d—%d\t",p.year,p.month,p.day);

printf("%s\t%d:%d:%d\n",p.week,p.hour,p.minute,p.second);

}

if(q.data!=0)

{

printf("\t%s\t%s\t%d\t",q.grade,q.name,q.data);

printf("%d—%d—%d\t",q.year,q.month,q.day);

printf("%s\t%d:%d:%d\n",q.week,q.hour,q.minute,q.second);

}

if(r.data!=0)

{

printf("\t%s\t%s\t%d\t",r.grade,r.name,r.data);

printf("%d—%d—%d\t",r.year,r.month,r.day);

printf("%s\t%d:%d:%d\n",r.week,r.hour,r.minute,r.second);

}

if(p.data==0)

printf("\t初级暂无最高分信息!\n");

if(q.data==0)

printf("\t中级暂无最高分信息!\n");

if(r.data==0)

printf("\t高级暂无最高分信息!\n");

//重置最佳排行榜

if(p.data!=0q.data!=0r.data!=0)

{

printf("\t是否重置最佳排行?\n");

printf("\t1:是\t2:否\t");

i=0;

scanf("%d",i);

if(i==1)

{

p.data=0;

q.data=0;

r.data=0;

if((fp=fopen("tiptop1.txt","w"))==NULL)

{

printf("打开tiptop1.txt文件失败!");

exit(1);

}

fwrite(p,sizeof(struct tiptop),1,fp);

fclose(fp);

if((fp=fopen("tiptop2.txt","w"))==NULL)

{

printf("打开tiptop2.txt文件失败!");

exit(1);

}

fwrite(q,sizeof(struct tiptop),1,fp);

fclose(fp);

if((fp=fopen("tiptop3.txt","w"))==NULL)

{

printf("打开tiptop3.txt文件失败!");

exit(1);

}

fwrite(r,sizeof(struct tiptop),1,fp);

fclose(fp);

}

}

}

}

4.game.c

#include"record.h"

//全局变量

int *c1; //产生的数保存在指针c中

int A,B; // AB均为游戏重要参数

int N; //NUM为需要猜测的数据个数

int TIME; //TIME为猜数字共有的次数

long int S; //S为游戏积分

//****************

//开始游戏中心函数

//****************

void Game_main()

{

FILE *fp;

int time;

if((fp=fopen("C.txt","r"))==NULL)

{

printf("打开C.txt文件失败!");

printf("\n");

exit(1);

}

fread(C,sizeof(int),1,fp);

N=C+2;

TIME=11-C;

if(C==1)

{

printf("\t游戏等级为:初级!\n");

}

if(C==2)

{

printf("\t游戏等级为:中级!\n");

}

if(C==3)

{

printf("\t游戏等级为:高级!\n");

}

printf("\t需要猜测的数字位数数为:%d,共有%d次猜测机会!",N,TIME);

printf("\n");

time=Time_command();

Game_result(time);

}

//********************

//获取系统随机数字函数

//********************

int *Build_number()

{

int i,j,m;

time_t t;

c1=(int *)malloc(N*sizeof(int));

if(c1==NULL)

{

printf("分配内存错误!\n");

printf("\n");

exit(1);

}

srand((unsigned) time(t));

for(i=0;iN;i++)

{

m=rand()%10; //产生一个数字

if(i==0)

*c1=m;

else

{

for(j=0;ji;j++)

{

if(m==*(c1+j)//若原有数据之中已经有了与m相同的数字,则重新产生数字

{

i--;

break;

}

*(c1+i)=m;

}

}

}

printf("\t系统产生的数据为:");

for(i=0;iN;i++)

printf("*");

printf("\n");

printf("\t您可以开始游戏! 计时开始...\n");

printf("\t不能有重复的数字!\n");

printf("\t数字中间用空格隔开\n");

return c1;

}

//****************************************

//获取游戏者游戏数据和输出游戏进程结果函数

//****************************************

void Game_in_out()

{

int i,j,m;

int n; //游戏者猜测的数字

int a[5]; //游戏者猜测的数据构成的数组

int c[5];

int *p;

p=Build_number();

for(i=0;iN;i++)

{

c[i]=*(p+i);

}

for(m=0;mTIME;m++)

{

if(m==(TIME-1))

{

printf("\t**请注意:**\n");

printf("\t**仅剩下一次机会了!**\n");

printf("\t**努力!加油!**\n");

}

printf("\t请输入第%d次猜测的数字:\t",m+1);

for(j=0;jN;j++)

{

scanf("%d",n);

a[j]=n;

}

A=0;

B=0;

for(i=0;iN;i++)

{

if(a[i]==c[i])

A++;

}

for(i=0;iN;i++)

{

for(j=0;jN;j++)

{

if(a[i]==c[j]i!=j)

B++;

}

}

printf("\t您本次猜测的结果为:\t");

printf("%d A %d B",A,B);

printf("\n");

//游戏成功控制退出猜测程序

if(A==N)

{

m=TIME;

}

}

//TIME改变,记录游戏总次数的数据

TIME=i;

free(c1);

}

//************

//时间控制函数

//************

int Time_command()

{

int a; //游戏时间

time_t first, second;

first=time(NULL); //获取系统时间

Game_in_out();

second=time(NULL); //再次获取系统时间

a=(int)difftime(second,first);

return a;

}

//********************

//游戏结果处理输出函数

//********************

void Game_result(int m)

{

FILE *fp;

tiptop p;

time_t t;

int S;

int n;

int i=0;

int minute,second;

if(A!=N)

{

S=0;

printf("\tGame over!\n");

printf("\t您本次游戏的积分为:\t%d",S);

printf("\t继续努力!\n");

printf("\t是否继续游戏?\n");

printf("\t1:是\t\t\t2:否");

printf("\n");

scanf("%d",i);

if(i==1)

Game_main();

else

Menu_select();

}

else

{

printf("\t恭喜您游戏成功!");

printf("\n");

minute=m/60;

second=m%60;

printf("\t您本次游戏所用时间为:");

printf("%d分钟%d秒\n",minute,second);

printf("\n");

//积分

if(C==1)

{

n=11-TIME;

S=n*n*n*10-m;

}

if(C==2)

{

n=10-TIME;

S=n*n*n*n*10-m;

}

if(C==3)

{

n=9-TIME;

S=n*n*n*n*n*10-m;

}

if(S10)

{

srand((unsigned) time(t));

S=rand()%100;

}

printf("\t您本次游戏的积分为:\t%d",S);

printf("\n");

}

//判断是否符合最高分条件

if(C==1)

{

if((fp=fopen("tiptop1.txt","r"))==NULL)

{

printf("打开tiptop1.txt文件失败!");

printf("\n");

exit(1);

}

fread(p,sizeof(struct tiptop),1,fp);

fclose(fp);

}

if(C==2)

{

if((fp=fopen("tiptop2.txt","r"))==NULL)

{

printf("打开tiptop2.txt文件失败!");

printf("\n");

exit(1);

}

fread(p,sizeof(struct tiptop),1,fp);

fclose(fp);

}

if(C==3)

{

if((fp=fopen("tiptop3.txt","r"))==NULL)

{

printf("打开tiptop3.txt文件失败!");

printf("\n");

exit(1);

}

fread(p,sizeof(struct tiptop),1,fp);

fclose(fp);

}

if(S=(p.data))

Tiptop_record(S);

//提示跳转

if(C==1)

{

printf("\t您本次游戏等级是初级,是否要进入中级?\n");

printf("\t1:是\t\t\t2:否");

printf("\n\t");

i=0;

scanf("%d",i);

if(i==1)

{

C=2;

if((fp=fopen("C.txt","w"))==NULL)

{

printf("打开C.txt文件失败!");

exit(1);

}

fwrite(C,sizeof(int),1,fp);

fclose(fp);

Game_main();

}

else

Menu_select();

}

if(C==2)

{

printf("\t您本次是中级游戏,是否要进入高级游戏呢?\n");

printf("\t1:是\t\t\t2:否");

printf("\n\t");

i=0;

scanf("%d",i);

if(i==1)

{

C=3;

if((fp=fopen("C.txt","w"))==NULL)

{

printf("打开C.txt文件失败!");

exit(1);

}

fwrite(C,sizeof(int),1,fp);

fclose(fp);

Game_main();

}

else

Menu_select();

}

}

5.record.c

#include"record.h"

//******

//主函数

//******

void main()

{

printf("\n");

printf("********************************************\n");

printf("********************************************\n");

printf(" 欢迎进入猜数字游戏 \n");

printf("\n");

printf("\t设计者: \n");

printf("********************************************\n");

printf("********************************************\n");

printf("\n");

Menu_select();

}

//************

//选择菜单函数

//************

void Menu_select()

{

while(1)

{

switch(manage_menu())

{

case 0:

printf("输入有误,请重新输入!\n");

break;

case 1:

Game_main();

break;

case 2:

Game_rank();

break;

case 3:

Tiptop_output();

break;

case 4:

Game_explain();

break;

case 5:

printf("\n");

printf("\n");

printf("*************** ** ** **** ** ** ** ** *** \n");

printf("*************** ** ** ** ** **** ** ** ** ***** \n");

printf(" ** ** ** ** ** ** ** ** ** ** ******* \n");

printf(" ** ** ** ** ** ** ** ** ** ** ******* \n");

printf(" ** *********** ************* ** ** ** **** ***** \n");

printf(" ** *********** ************* ** ** ** **** ***** \n");

printf(" ** ** ** ** ** ** ** ** ** ** ***** \n");

printf(" ** ** ** ** ** ** ** ** ** ** *** \n");

printf(" ** ** ** ** ** ** **** ** ** *** \n");

printf(" ** ** ** ** ** ** ** ** ** *** \n");

printf("\n");

printf("Goodbye!\n");

exit(1);

}

}

}

//************

//处理菜单函数

//************

int manage_menu()

{

int n;

printf("\t**************************\n");

printf("\t**\t1:开始游戏\t**\n");

printf("\t**\t2:等级设置\t**\n");

printf("\t**\t3:最佳排行\t**\n");

printf("\t**\t4:游戏说明\t**\n");

printf("\t**\t5:退出游戏\t**\n");

printf("\t**************************\n");

printf("\t请输入相应序号选择相应菜单:");

printf("\t");

scanf("%d",n);

printf("\n");

if(n1||n5)

n=0;

return n;

}

C++课程设计选题管理系统,源代码。

错误或者警告

先做到没有编译错误,之后在编译器的提示下解决编译器的警告,因为编译器的警告往往指出了潜在的危险

学一门开发语言,语法本身是基础,但是比较简单。然而要提高,就要涉及到应用,这种提高往往是跨越性的,一定程度上也代表了菜鸟和大师的区别

语法学习完成之后,建议你选择一款编译器,比如Visual C++,C++ Builder,Intel C++,GCC(MinGW)等

然后基于指定编译器尝试写算法或者软件,或者找一些数据结构和算法的书,写写代码,出现了问题,你就会清楚下一步该怎么办了!

比如:

实现一些经典数据结构,比如树,图,查找等,你会有什么思路?

写个常规病毒的专杀工具,你会使用什么思路,什么算法?

写个简单的进程管理器,你会有什么思路,什么算法?

建议性的提示,或许对你有些帮助!

如何用c#语句编写“课程设计选题系统的实现”? 谢谢!!!

学生,课程设计,然后一张中间表,表示学生选择的课程设计。

如果系统要更详细还可以再细分的,看你需求。

java课程设计题目及代码是什么?

java课程设计题目及代码分别是:

1、题目:计算器。设计内容是设计一个图形界面(GUI)的计算器应用程序,完成简单的算术运算。

设计要求是设计的计算器应用程序可以完成家法、减法、乘法、除法和取余运算。且有小数点、正负号、求倒数、退格和清零功能。

2、代码:

数字按钮NumberButton类如下:

import java.awt.

import java.awt.event.

import javax.swing.

public class NumberButton extends Button.

{

int number.

public NumberButton(int number).

 {

super(""+number).

this.number=number.

setForeground(Color.blue).

}

public int getNumber().

{

return number;

}

}

其它java课程设计题目及代码是:

题目:华容道。编写一个按钮的子类,使用该子类创建的对象代表华容道中的人物。通过焦点事件控制人物颜色,当人物获得焦点时颜色为蓝色,当失去焦点时颜色为灰色。

通过键盘事件和鼠标事件来实现曹操、关羽等人物的移动。当人物上发生鼠标事件或键盘事件时,如果鼠标指针的位置是在人物的下方(也就是组件的下半部分)或按下键盘的“↓“键,该人物向下移动。向左、向右和向上的移动原理类似。

代码是:

String name[]={"曹操","关羽","张","刘","马","许","兵","兵","兵","兵"}.

for(int i=0;iname.length;i++).

{

person[i]=new Person(i,name[i]).

person[i].addKeyListener(this).

person[i].addMouseListener(this).

//     person[i].addFocusListener(new Person).

add(person[i]).

}

person[0].setBounds(104,54,100,100).

person[1].setBounds(104,154,100,50).

person[2].setBounds(54,154,50,100).

person[3].setBounds(204,154,50,100).

person[4].setBounds(54,54,50,100).

person[5].setBounds(204,54,50,100);

person[6].setBounds(54,254,50,50);

person[7].setBounds(204,254,50,50);

person[8].setBounds(104,204,50,50);

person[9].setBounds(154,204,50,50);

课程设计题目:学生成绩管理系统

功能 能够实现输入记录、查询记录、更新记录、统计记录、输出记录等功能。

1. 输入记录。对每个学生的学号、姓名、班级、数学、英语、计算机成绩进行输入并存储,在程序的运行过程中,数据的存储可以采用结构体数组或者链表,但是最终应该存储在文件中。

2. 维护记录。能够实现添加、删除、修改学生记录,但是一定要将最终数据存储到文件中。

3. 查询记录。根据班级、学号、科目等查询学生的成绩。如果查询时学生数据并没有读入到结构体数组或者链表中,则应该先从文件中读出数据并存储在结构体数组或者链表中,然后在结构体数组或者链表中查询满足条件的数据。

4. 统计记录。完成对各门功课最高分和不及格人数的统计。

#include stdio.h

#include stdlib.h

#include malloc.h

#define LEN sizeof(Student)

typedef struct student

{

int num;

char name[20];

int score[4];

int sum;

struct student *next;

}Student;

int n;

Student *cin(void);

Student *sort_1(Student *head,int);

void sort_2(Student *head);

void print(Student *head);

Student *sort_all(Student *head);

void find(Student *head);

Student *add_new(Student *head);

Student *cin()

{

int flag;

Student *head,*p1,*p2;

n=0;

head=(Student *)malloc(LEN);

p2=head;

printf("\n请输入第%d名学生的学号,学号为0表示结束输入:",n+1);

scanf("%d",flag);

while(getchar()!='\n');

for(;flag;)

{

n++;

p1=(Student *)malloc(LEN);

p1-num=flag;

printf("请输入第%d名学生的姓名:",n);

scanf("%s",p1-name);

printf("请输入第%d名学生的语文成绩:",n);

scanf("%d",p1-score[0]);

printf("请输入第%d名学生的数学成绩:",n);

scanf("%d",p1-score[1]);

printf("请输入第%d名学生的英语成绩:",n);

scanf("%d",p1-score[2]);

printf("请输入第%d名学生的计算机成绩:",n);

scanf("%d",p1-score[3]);

p1-sum=p1-score[0]+p1-score[1]+p1-score[2]+p1-score[3];

p2-next=p1;

p2=p1;

printf("\n请输入第%d名学生的学号,没有此学生则输入0表示结束:",n+1);

scanf("%d",flag);

}

p2-next=NULL;

printf("\n\n");

return head;

}

Student *sort_all(Student *head)

{

int choose;

for(;;)

{

printf("\n\t\t# # # # # 学生成绩统计排序 # # # #\n");

printf("\t\t#\t1.按学生学号排序\t #\n");

printf("\t\t#\t2.按学生总分排序\t #\n");

printf("\t\t#\t3.按学生语文成绩排序\t #\n");

printf("\t\t#\t4.按学生数学成绩排序\t #\n");

printf("\t\t#\t5.按学生英语成绩排序\t #\n");

printf("\t\t#\t6.按学生计算机成绩排序\t #\n");

printf("\t\t#\t7.单科高分及均分\t #\n");

printf("\t\t#\t8.显示当前学生成绩\t #\n");

printf("\t\t#\t0.返回上一级菜单\t #\n");

printf("\t\t# # # # # 由himpo友情提供# # # # #\n\n");

printf("请输入你要执行的操作:");

scanf("%d",choose);

while(getchar()!='\n');

switch(choose)

{

case 1:

case 2:

case 3:

case 4:

case 5:

case 6:head=sort_1(head,choose);break;

case 7:print(head);sort_2(head);break;

case 8:print(head);break;

case 0:return head;

default: printf("\n\n您的输入有误!请重新输入:\n\n");break;

}

}

}

Student *sort_1(Student *head,int choose)

{

Student *p1,*p2=head-next,*pm,*px;

Student mid;

if (!p2) return head;

for(p1=p2;p1-next!=NULL;p1=p1-next)

{

pm=p1;

for(p2=p1-next;p2!=NULL;p2=p2-next)

switch(choose)

{

case 1:if (pm-nump2-num) pm=p2;break;

case 2:if (pm-sump2-sum) pm=p2;break;

case 3:if (pm-score[0]p2-score[0]) pm=p2;break;

case 4:if (pm-score[1]p2-score[1]) pm=p2;break;

case 5:if (pm-score[2]p2-score[2]) pm=p2;break;

case 6:if (pm-score[3]p2-score[3]) pm=p2;break;

}

if (pm!=p1)

{

mid=*pm;

*pm=*p1;

*p1=mid;

px=pm-next;

pm-next=p1-next;

p1-next=px;

}

}

printf("\n排序后的成绩表为:\n");

print(head);

return head;

}

void sort_2(Student *head)

{

Student *p=head-next;

int max_1,max_2,max_3,max_4,min_1,min_2,min_3,min_4;

int max_sum,min_sum;

int sum_1=0,sum_2=0,sum_3=0,sum_4=0;

float aver_1,aver_2,aver_3,aver_4,aver_sum;

if (!p) return;

max_1=min_1=p-score[0];max_2=min_2=p-score[1];

max_3=min_3=p-score[2];max_2=min_2=p-score[3];

max_sum=min_sum=p-sum;

for(;p;p=p-next)

{

if (max_1p-score[0]) max_1=p-score[0];

else if (min_1p-score[0]) min_1=p-score[0];

if (max_2p-score[1]) max_2=p-score[1];

else if (min_2p-score[1]) min_2=p-score[1];

if (max_3p-score[2]) max_3=p-score[2];

else if (min_3p-score[2]) min_3=p-score[2];

if (max_4p-score[3]) max_4=p-score[3];

else if (min_4p-score[3]) min_4=p-score[3];

if (max_sump-sum) max_sum=p-sum;

else if (min_sump-sum) min_sum=p-sum;

sum_1+=p-score[0];sum_2+=p-score[1];sum_3+=p-score[2];sum_4+=p-score[3];

}

aver_1=1.0*sum_1/n;aver_2=1.0*sum_2/n;aver_3=1.0*sum_3/n;aver_4=1.0*sum_4/n;

aver_sum=aver_1+aver_2+aver_3+aver_4;

printf("总共%d名学生,具体数据为:\n",n);

printf("语文最高分为%d,最低分为%d,平均分为%.2f\n",max_1,min_1,aver_1);

printf("数学最高分为%d,最低分为%d,平均分为%.2f\n",max_2,min_2,aver_2);

printf("英语最高分为%d,最低分为%d,平均分为%.2f\n",max_3,min_3,aver_3);

printf("计算机最高分为%d,最低分为%d,平均分为%.2f\n",max_4,min_4,aver_4);

printf("总分最高分为%d,最低分位%d,平均分为%.2f\n",

max_sum,min_sum,aver_sum);

}

void find(Student *head)

{

Student *p;

int choose,fnum;

char tem[20];

if (n==0) {printf("\n当前系统没有任何学生数据,您就别费劲了!\n ");return;}

for(;;)

{

printf("\n请输入您要查询学生的方式:\n\n");

printf("1、按学号查询;2、按姓名查询;0、我不查询了。\n\n");

printf("请选择:");

scanf("%d",choose);

while(getchar()!='\n');

if (choose==1)

{

printf("\n请输入你要查询的学生的学号,输入0退出学号查询:");

scanf("%d",fnum);

for(;fnum;)

{

for(p=head-next;p!=NULLp-num!=fnum;p=p-next);

if (!p)

{

printf("\n\n找不到你要查询的学号,请重新输入,输入0表示结束:");

scanf("%d",fnum);

}

else if (p-num==fnum)

{

printf("\n学号为%d学生的数据为:\n",p-num);

printf("学号\t姓名\t语文成绩 数学成绩 英语成绩 计算机\

成绩 总分\n");

printf("%d\t%s\t %d %d %d %d \

%d\n",p-num,

p-name,p-score[0],p-score[1],p-score[2],p-score[3],

p-sum);

printf("\n\n请输入你还要查询的学生的学号,输入0表示不按学\

号查询了:");

scanf("%d",fnum);

}

}

}

else if (choose==2)

{

printf("\n请输入你要查询的学生的姓名,输入0退出姓名查询:");

scanf("%s",tem);

for(;strcmp(tem,"0");)

{

for(p=head-next;p!=NULLstrcmp(p-name,tem);p=p-next);

if (!p)

{

printf("\n\n找不到你要查询的姓名,请重新输入,输入0表\

示结束:");

scanf("%s",tem);

}

else if (!strcmp(p-name,tem))

{

printf("\n姓名为%s学生的数据为:\n",p-name);

printf("学号\t姓名\t语文成绩 数学成绩 英语成绩 \

计算机成绩 总分\n");

printf("%d\t%s\t %d %d %d \

%d %d\n",

p-num,p-name,p-score[0],p-score[1],p-score[2],

p-score[3],p-sum);

printf("\n\n请输入你还要查询的学生的姓名,输入0表\

示不按姓名查询了:");

scanf("%s",tem);

}

}

}

else if (choose==0) {printf("\n你选择了不查询!\n");break;}

else {printf("\n你以其他方式选择了不查询!\n");break;}

}

}

Student *add_new(Student *head)

{

Student *p;

int flag;

printf("\n\n请输入你要新加入学生的学号,学号为0表示结束输入:");

scanf("%d",flag);

while(getchar()!='\n');

for(;flag;)

{

p=(Student *)malloc(LEN);

p-num=flag;

printf("请输入新加入学生的姓名:",n);

scanf("%s",p-name);

printf("请输入新加入学生的语文成绩:",n);

scanf("%d",p-score[0]);

printf("请输入新加入学生的数学成绩:",n);

scanf("%d",p-score[1]);

printf("请输入新加入学生的英语成绩:",n);

scanf("%d",p-score[2]);

printf("请输入第%d名学生的计算机成绩:",n);

scanf("%d",p-score[3]);

p-sum=p-score[0]+p-score[1]+p-score[2]+p-score[3];

p-next=head-next;

head-next=p;

n++;

printf("\n请输入还要加入学生的学号,没有此学生则输入0表示结束:");

scanf("%d",flag);

}

head=sort_1(head,1);

printf("加入后的成绩表为:\n");

print(head);

return head;

}

void print(Student *head)

{

Student *p=head-next;

if (!p) {printf("\n\n此系统目前没有任何学生数据!\n\n\n");return;}

printf("此系统目前共计学生%d名:\n",n);

printf("**************************学生成绩统计一览************************\

*****\n");

printf("学号\t姓名\t语文成绩 数学成绩 英语成绩 计算机成绩 总分\n");

for(;p;p=p-next)

printf("%d\t%s\t %d %d %d %d %d\n",

p-num,p-name,

p-score[0],p-score[1],p-score[2],p-score[3],

p-sum=p-score[0]+p-score[1]+p-score[2]+p-score[3]);

printf("************************此软件由himpo友情提供*************************\

*\n\n");

}

int main()

{

Student *head;

int choose,i;

head=(Student *)malloc(LEN);

head-next=NULL;

for(;;)

{

printf("\n\t\t* * * * * 学生成绩管理系统 * * * *\n");

printf("\t\t*\t1.学生数据键盘录入\t *\n");

printf("\t\t*\t2.学生数据统计排序\t *\n");

printf("\t\t*\t3.查询学生数据\t\t *\n");

printf("\t\t*\t4.插入学生数据\t\t *\n");

printf("\t\t*\t5.显示当前成绩表\t *\n");

printf("\t\t*\t0.退出成绩管理系统\t *\n");

printf("\t\t* * * * * 由himpo友情提供* * * * *\n\n");

printf("\n请输入你要执行的操作:");

scanf("%d",choose);

while(getchar()!='\n');

switch(choose)

{

case 1:printf("\n\t\t\t\t****注意****");

printf("\n\n 此选项将会建立新的学生数据系统 ,原来的数据将\

不再存在,你确信要删除原来的数据并建立新的数据系统么?\n\n");

printf("1、建立新的数据系统;0、放弃建立新的数据系统。\n\n");

printf("请选择:");

scanf("%d",i);

if (i==1) {head=cin();print(head);break;}

else if (i==0)

{

printf("\n你选择了放弃建立新的数据系统!\n");

break;

}

else {

printf("\n你做出别的选择,当作放弃建立!\n");

break;

}

case 2:head=sort_all(head);break;

case 3:find(head);break;

case 4:head=add_new(head);

case 5:print(head);break;

case 0:system("pause");return 0;

default: printf("\n\n您的输入有误!请重新输入:\n\n");break;

}

}

}

C程序课程设计题目:小学生计算机辅助教学系统。 详情如下,望各位高手帮忙给出源代码!

#include stdio.h

#include stdlib.h

#include time.h

void main()

{

int a,b,op,term;

int x,i=0;

int counter = 0; /*初始答对题数为0*/

char opchar;

srand(time(NULL)); /*为函数rand()设置随机数种子*/

a= rand()%10+1;

b= rand()%10+1;

for(i= 0;i 10;i++)

{

a= rand()%10+1;

b= rand()%10+1;

op=rand()%4+1;

switch(op) /*根据运算符号不同进行不同的运算*/

{

case1:opchar='+';

term=a+ b;

break;

case2: opchar='-';

term=a - b;

break;

case3: opchar='*';

term=a*

b;

break;

case

4:

opchar='/';

term=a/b;

break;

default:

printf("Wrong

operator!");

}

printf("%d%c%d=",a,opchar,b);

scanf("%d",x);

if(x==term)

{

printf("Right!\n");

counter++;

}

else

printf("Wrong!\n");

}

printf("Total

score is %d\n",counter*10);

printf("Rate

of correctness is %d%%\n",counter*10);

}

课程设计选题系统代码的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于课程设计选题系统代码怎么写、课程设计选题系统代码的信息别忘了在本站进行查找喔。

版权说明:如非注明,本站文章均为 AH站长 原创,转载请注明出处和附带本文链接;

本文地址:http://ahzz.com.cn/post/31466.html


取消回复欢迎 发表评论:

分享到

温馨提示

下载成功了么?或者链接失效了?

联系我们反馈

立即下载