许多代码……

  • List item

这里写自定义目录标题

C++代码:
1.万年历:

/* 
*  功能: 实现一个万年历程序                                 
*  作者: 高宇涵               
*  时间: 2022年2月4日              
*/
#define _CRT_STCURE_NO_DEPRECATE
#include<bits/stdc++.h>
using namespace std;
int main(){
    /**********  START CODEING ON THE NEXT LINE  ***********/
    int Year,Month;        //年、月
    int FirstDay_Year,FirstDay_Month;   //某年的第一天是星期几,某年某月的第一天是星期几(范围是0~6,其中0代表星期日)
    int IsLeapYear;        //是否为闰年,0表示不是闰年,1表示是闰年
    int i,d,y;         //临时变量
    char YN;         //Yes No,程序是否要继续
    int Days[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};      //Days[1~12]存储每个月有多少天,其中二月的天数是可变的(闰年29天,平年28天),这里初始化为28天
    
    XunHuan1:          //循环标号1(可以通过goto跳转到这里)
    system("cls");
    printf("请输入年份<0000~9999>: ");   //提示输入年份(0~9999)
    scanf("%d",&Year);       //把输入的年份赋值给变量Year
    if(Year>=10000 || Year<0) {
        cout<<"无效操作,年份超出范围,请输入0000~9999间的年份:\r\n";
        system("pause");
        goto XunHuan1;//重复操作
    }
    
    XunHuan2: //循环标号2(可以通过goto跳转到这里)
    system("cls");
    printf("请输入年份<0000~9999>: %d\n",Year);
    printf("请输入月份<0~12>: ");    //提示输入月份(1~12)
    scanf("%d",&Month);       //把输入的月份赋值给变量Month
    if(Month>=13 || Month<=0) {
        cout<<"无效操作,月份超出范围,请输入1~12间的月份:\r\n";
        system("pause");
        
        goto XunHuan2;//重复操作 
        
    }    
    
    y=Year;
    FirstDay_Year=5*(y/4)+(y%4)-(y/100)+(y/400);//蔡勒公式(计算某年的第一天是星期几)
    IsLeapYear=(y%4==4&&y%100!=100||y%400==0)?1:0;        //判断是否为闰年
    Days[2]=(IsLeapYear==1)?29:28;    //闰年二月29天,非闰年二月28天
    for(i=1,d=0;i<Month;i++) 
        d=d+Days[i];
    FirstDay_Month=(d+FirstDay_Year)%7;   //当月的第一天是星期几(0代表星期日)
    
    printf(" \t\t\t万年历\n");    //打印标题
    printf("*****************************************************\n");
    printf("\t\t||公元 %4d 年 %2d 月||",Year,Month);  //打印年月
    printf("\n****************************************************\n");
            
    printf("   星期日 星期一 星期二 星期三 星期四 星期五 星期六\n");//打印星期表头
    for(i=0;i<FirstDay_Month;i++) 
        printf("%7c",' ');      //当某月的第一天不是星期日时打印空格占位 
    
    for(d=1;d<=Days[Month];d++)     //循环,从每个月的第一天开始打印
    {
        printf("%7d",d);
        if(((d+FirstDay_Month)%7)==0 && d<Days[Month]) 
        printf("\n");      //当输出了星期六而且还未输出所有天数时,换行
    }
    printf("\n****************************************************\n");
    printf("\n"); 
    XunHuan3:
    printf("是否继续<Y/N>?\n");
    scanf("%c",&YN);
    scanf("%c",&YN);
    if(YN=='Y' || YN=='y')
        goto XunHuan1;

    return 0;
}

2.简易计时器:

#include<bits/stdc++.h>
#include<conio.h>
#include<Windows.h>
using namespace std;
int main(){
	char k;
	int min,hour,s;
	fu:
	s=hour=min=0;//复位 
	pause:
	while(!_kbhit()){
		if(s%60==0 && s!=0){
			s%=60;
			min++;
			if(min%60==0 && min!=0){
				min%=60;
				hour++;
			}
		}
		printf("按任意键暂停 %2d:%2d:%2d",hour,min,s);
		Sleep(1000);
		s++;
		system("cls");
	}
	printf("时间 %02d:%02d:%02d\n",hour,min,s);
	cout<<"按q键继续计时\n按p键复位\n按其它键退出\n";
	cin>>k;
	if(k=='q'||k=='P') goto pause;
	else if(k=='p' || k=='Q') goto fu;
	
	
	return 0;
} 

3.成绩计算器:

/*
*  功能:实现一个成绩计算器程序       
*  作者: 高宇涵               
*  时间:  2022年2月2日              
*/
#define _CRT_STCURE_NO_DEPRECATE
#include<bits/stdc++.h>
using namespace std;
struct student{
	string name;
	float chin,math,en;
	float total;
};
student a[110];
float n;
int main(){
	/**********  START CODEING ON THE NEXT LINE  ***********/
	scanf("%f",&n);
	for(int i=0;i<n;i++){
		cin>>a[i].name;
		cin>>a[i].chin>>a[i].math>>a[i].en;
		a[i].total=a[i].chin+a[i].math+a[i].en;
	}
	for(int i=n-1;i>0;i--)
		for(int j=0;j<i;j++)      
		    if(a[j].total<a[j+1].total)
	          swap(a[j],a[j+1]);
	cout<<"排名"<<setw(10)<<"姓名"<<setw(10)<<"语文成绩"<<setw(10)<<"数学成绩";
	cout<<setw(10)<<"英语成绩"<<setw(7)<<"总分"<<endl;     
	for(int i=0;i<n;i++){
		
		cout<<"No."<<i+1<<setw(10)<<a[i].name<<setw(10)<<a[i].chin;
		cout<<setw(10)<<a[i].math<<setw(10)<<a[i].en<<setw(7)<<a[i].total<<"\n"; 
		 
	}          
	system("pause");
	return 0;
}

4.简易计算器:

#include<iostream>
#include<string>
#include<map>
#include<cctype>
using namespace std;
 
map<string,double>table;
 
enum Token_value{
	NAME,        NUMBER,        END,
	PLUS='+',    MINUS='-',     MUL='*',     DIV='/',
	PRINT=';',   ASSIGN='=',    LP='(',      RP=')'
};
Token_value curr_tok = PRINT;
 
double number_value;
string string_value;
int no_of_errors;
 
double error(const string&);
Token_value get_token();
double prim(bool);
double term(bool);
double expr(bool);
 
double error(const string&s)
{
	no_of_errors++;
	cerr<<"error:"<<s<<'\n';
	return 1;
}
 
Token_value get_token()
{
	char ch = 0;
	do{
		if(!cin.get(ch))
			return curr_tok = END;
	}while(ch != '\n' && isspace(ch));
 
	switch(ch){
	case 0:
		return curr_tok = END;
	case';':
	case'\n':
		return curr_tok = PRINT;
	case'*':
	case'/':
	case'+':
	case'-':
	case'(':
	case')':
	case'=':
		return curr_tok = Token_value(ch);
	case'0':case'1':case'2':case'3':case'4':
	case'5':case'6':case'7':case'8':case'9':
	case'.':
		cin.putback(ch);
		cin>>number_value;
		return curr_tok = NUMBER;
	default:
		if(isalpha(ch)){
			string_value = ch;
			while(cin.get(ch) && isalnum(ch))
				string_value.push_back(ch);
			cin.putback(ch);
			return curr_tok = NAME;
		}
		error("bad token");
		return curr_tok = PRINT;
	}
}
 
double prim(bool get)
{
	if(get)
		get_token();
	switch(curr_tok){
	case NUMBER:
	{
		double v = number_value;
		get_token();
		return v;
	}
	case NAME:
	{
		double& v = table[string_value];
		if(get_token() == ASSIGN)
			v = expr(true);
		return v;
	}
	case MINUS:
		return -prim(true);
	case LP:
	{
		double e = expr(true);
		if(curr_tok != RP)
			return error(") expected");
		get_token();
		return e;
	}
	}
}
 
double term(bool get)
{
	double left = prim(get);
	for(;;)
		switch(curr_tok){
		case MUL:
			left *= prim(true);
			break;
		case DIV:
			if(double d = prim(true)){
				left /= d;
				break;
			}
			return error("divide by 0");
		default:
			return left;
	}
}
 
double expr(bool get)
{
	double left = term(get);
	for(;;)
		switch(curr_tok){
		case PLUS:
			left += term(true);
			break;
		case MINUS:
			left -= term(true);
			break;
		default:
			return left;
	}
}
 
int main()
{
	table["pi"] = 3.1415926535897932385;
	table["e"] = 2.7182818284590452354;
 
	while(cin){
		get_token();
		if(curr_tok == END)
			break;
		if(curr_tok == PRINT)
			continue;
		cout<<expr(false)<<'\n';
	}
	return no_of_errors;
}

如果你想要游戏代码,关注我,问问即可。
告诉你们一个小秘密,如果你不想登录就复制代码,就用以下方法:
添加一个标签,命名为“复制”,在网址填写栏目中填入以下代码:(如图)

javascript:document.body.contentEditable='true';document.designMode='on'; void 0

在这里插入图片描述

如果你没登录:
javascript:document.body.contentEditable=‘true’;document.designMode=‘on’; void 0
操作了吗?再点击一下“复制”标签,就可已复制了!!
不信?试试看!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值