Topic 91
Topic: Time Function Example 1
#include<cstdio>
#include<ctime>
// 涉及到时间函数的部分,这里给出资料。
// (主要我并没有深入了解这些东西
int main()
{
time_t lt;// 定义一个时间变量
lt = time(NULL);// 系统时间与日期
printf(ctime(<));// 英文的时间格式
printf(asctime(localtime(<)));//
printf(asctime(gmtime(<)));
}
// asctime() : https://www.runoob.com/cprogramming/c-function-asctime.html
// ctime(): https://www.runoob.com/cprogramming/c-function-ctime.html
// localtime(): https://www.runoob.com/cprogramming/c-function-localtime.html
// gmtime(): https://www.runoob.com/cprogramming/c-function-gmtime.html
Topic 92
Topic: Time Function Example 2
#include<cstdio>
#include<ctime>
#define R register
// 计算程序运行时间,之前提到过的
int main()
{
// 这里与之前的不同,这里是通过本地时间计算的运行时间
time_t start_time,end_time;
start_time = time(NULL);
for(R int i = 1;i <= 3000;i++)
printf("\1\1\1\1\1\1\1\1\1\1\n");
// \1 为转义字符
end_time = time(NULL);
printf("\1: The different is %6.3f\n",difftime(end_time,start_time));
// difftime返回的是 结束时间与开始时间相差的秒数
// 注意参数顺序是结束时间,开始时间
}
Topic 93
Topic: Time Function Example 3
#include<cstdio>
#include<ctime>
#define R register
// 同样是计算程序运行时间
// clock() : https://www.runoob.com/cprogramming/c-function-clock.html
int main()
{
clock_t start_time,end_time;
start_time = clock();
for(R int i = 1;i <= 10000;i++)
printf("\1\1\1\1\1\1\1\1\1\1\n");
end_time = clock();
printf("\1: The different is %6.3lf\n",(double)(end_time - start_time) / CLOCKS_PER_SEC);
}
Topic 94
Topic: Time function Example 4 (a guessing game to determine how quickly a person reacts).
#include<cstdio>
#include<ctime>
#include<cstdlib>
#define R register
int x;
int main()
{
clock_t start_time,end_time;
srand(time(NULL));
printf("now you need to guess this number\n");
int ans = rand()%100,cnt = 1;
start_time = clock();
scanf("%d",&x);
while(x != ans)
{
if(x > ans)
printf("more smaller please\n");
if(x < ans)
printf("more bigger please\n");
scanf("%d",&x);
cnt++;
}
end_time = clock();
printf("You only guessed %d times!\n",cnt);
printf("And you used %6.3lf s",(double)(end_time - start_time) / CLOCKS_PER_SEC);
}
Topic 95
Topic: Family Financial Management Mini Program
/*money management system*/
#include <cstdio>
#include <dos.h>
// 这里的代码是网上流传的未解决的代码
// 代码太抽象了,这里调整了一下排版,由于不清楚具体操作是做什么,又懒得分析,这个代码并没有完善,还是网络上的那个带有bug的代码
// 如果有人想修复这个代码的话,可以喊上我一起(- -自己抽不出大把的时间进行完善分析
int main()
{
FILE *fp;
struct date d;
float sum,chm = 0.0;
int len,i,j=0;
int c;
char ch[4]="",ch1[16]="",chtime[12]="",chshop[16],chmoney[8];
pp: clrscr();
sum = 0.0;
gotoxy(1,1);printf("|---------------------------------------------------------------------------|");
gotoxy(1,2);printf("| money management system(C1.0) 2000.03 |");
gotoxy(1,3);printf("|---------------------------------------------------------------------------|");
gotoxy(1,4);printf("| -- money records -- | -- today cost list -- |");
gotoxy(1,5);printf("| ------------------------ |-------------------------------------|");
gotoxy(1,6);printf("| date: -------------- | |");
gotoxy(1,7);printf("| | | | |");
gotoxy(1,8);printf("| -------------- | |");
gotoxy(1,9);printf("| thgs: ------------------ | |");
gotoxy(1,10);printf("| | | | |");
gotoxy(1,11);printf("| ------------------ | |");
gotoxy(1,12);printf("| cost: ---------- | |");
gotoxy(1,13);printf("| | | | |");
gotoxy(1,14);printf("| ---------- | |");
gotoxy(1,15);printf("| | |");
gotoxy(1,16);printf("| | |");
gotoxy(1,17);printf("| | |");
gotoxy(1,18);printf("| | |");
gotoxy(1,19);printf("| | |");
gotoxy(1,20);printf("| | |");
gotoxy(1,21);printf("| | |");
gotoxy(1,22);printf("| | |");
gotoxy(1,23);printf("|---------------------------------------------------------------------------|");
i = 0;
getdate(&d);
sprintf(chtime,"%4d.%02d.%02d",d.da_year,d.da_mon,d.da_day); 52
for(;;)
{
gotoxy(3,24);printf(" Tab __browse cost list Esc __quit");
gotoxy(13,10);printf(" ");
gotoxy(13,13);printf(" ");
gotoxy(13,7);printf("%s",chtime);
j = 18;
ch[0]=getch();
if(ch[0]==27)
break;
strcpy(chshop,"");
strcpy(chmoney,"");
if(ch[0]==9)
{
mm:i=0;
fp=fopen("home.dat","r+");
gotoxy(3,24);printf(" ");
gotoxy(6,4);printf(" list records ");
gotoxy(1,5);printf("|-------------------------------------|");
gotoxy(41,4);printf(" ");
gotoxy(41,5);printf(" |");
while(fscanf(fp,"%10s%14s%f\n",chtime,chshop,&chm)!=EOF) {
if(i==36)
{
getch();
i = 0;
}
if ( (i % 36) < 17)
{
gotoxy(4,6+i);
printf(" ");
gotoxy(4,6+i);
}
else if( (i % 36) >16)
{
gotoxy(41,4+i-17);
printf(" ");
gotoxy(42,4+i-17);
}
i++;
sum = sum + chm;
printf("%10s %-14s %6.1f\n",chtime,chshop,chm);
}
gotoxy(1,23);printf("|---------------------------------------------------------------------------|");
gotoxy(1,24);printf("| |");
gotoxy(1,25);printf("|---------------------------------------------------------------------------|");
gotoxy(10,24);printf("total is %8.1f#34;,sum);
fclose(fp);
gotoxy(49,24);printf("press any key to.....");getch();goto pp;
}
else
{
while(ch[0] != '\r') {
if(j < 10) {
strncat(chtime,ch,1);
j++;
}
if(ch[0] == 8)
{
len=strlen(chtime)-1;
if(j > 15){
len = len+1;
j = 11;
}
strcpy(ch1,"");
j = j - 2;
strncat(ch1,chtime,len);
strcpy(chtime,"");
strncat(chtime,ch1,len-1);
gotoxy(13,7);printf(" ");
}
gotoxy(13,7);printf("%s",chtime);ch[0]=getch();
if(ch[0]==9)
goto mm;
if(ch[0]==27)
exit(1);
}
gotoxy(3,24);printf(" ");
gotoxy(13,10);
j = 0;
ch[0]=getch();
while(ch[0] != '\r')
{
if (j < 14)
{
strncat(chshop,ch,1);
j++;
}
if(ch[0] == 8)
{
len=strlen(chshop)-1;
strcpy(ch1,"");
j = j-2;
strncat(ch1,chshop,len);
strcpy(chshop,"");
strncat(chshop,ch1,len-1);
gotoxy(13,10);printf(" ");
}
gotoxy(13,10);printf("%s",chshop);
ch[0]=getch();
}
gotoxy(13,13);
j = 0;
ch[0]=getch();
while(ch[0] != '\r'){
if (j<6) {
strncat(chmoney,ch,1);
j++;
}
if(ch[0]==8) {
len=strlen(chmoney)-1;
strcpy(ch1,"");
j=j-2;
strncat(ch1,chmoney,len);
strcpy(chmoney,"");
strncat(chmoney,ch1,len-1);
gotoxy(13,13);printf(" ");}
gotoxy(13,13);printf("%s",chmoney);
ch[0]=getch();
}
if((strlen(chshop)==0)||(strlen(chmoney)==0))
continue;
// 这下面的if不知道应该配上哪一个,未作改动
if((fp=fopen("home.dat","a+"))!=NULL);
fprintf(fp,"%10s%14s%6s",chtime,chshop,chmoney);
fputc('\n',fp);
fclose(fp);
i++;
gotoxy(41,5+i);
printf("%10s %-14s %-6s",chtime,chshop,chmoney);
}
}
}