当前位置:网站首页>许多代码……
许多代码……
2022-08-02 14:12:00 【nanocode】
- 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
操作了吗?再点击一下“复制”标签,就可已复制了!!
不信?试试看!
边栏推荐
- 面试汇总
- Based on the matrix calculation in the linear regression equation of the coefficient estimates
- 关于推荐系统的随想
- 1. Development community homepage, register
- Installation and configuration of Spark and related ecological components - quick recall
- Detailed introduction to the hierarchical method of binary tree creation
- golang内存相关文章-收集
- 质数相关问题-小记
- Software Testing Basics (Back)
- Codeforces Round #624 (Div. 3)
猜你喜欢
光栅区域衍射级数和效率的规范
Yolov5 official code reading - prior to transmission
剑指offer:合并两个排序的链表
灵活的区域定义
二叉树的遍历:递归法/ 迭代法/ 统一迭代法(强QAQ)
In-depth understanding of Golang's Map
深入理解Mysql索引底层数据结构与算法
Introduction to in-order traversal (non-recursive, recursive) after binary tree traversal
pygame draw arc
Detailed introduction to drawing complex surfaces using the plot_surface command
随机推荐
2342. 数位和相等数对的最大和 哈希优化
二叉排序树与 set、map
软件测试基础知识(背)
Unity插件-NGUI
剑指offer:数值的整数次方
队列与栈
Introduction to MATLAB drawing functions ezplot explanation
Introduction to in-order traversal (non-recursive, recursive) after binary tree traversal
pygame image rotate continuously
光栅区域衍射级数和效率的规范
LeetCode 2353. 设计食物评分系统 维护哈希表+set
Knapsack Problem - Dynamic Programming - Theory
泰伯效应.
2.登录退出,登录状态检查,验证码
STM32LL library use - SPI communication
Qt | 实现一个简单的可以转动的仪表盘
灵活的区域定义
项目:数据库表的梳理
2021-06-06
C语言函数参数传递模式入门详解