星座查询的编程思路(星座查询程序)

admin 91 0

本文目录一览:

用VB语言编写输入出生日期算出生肖与星座的程序

'新建窗体form1

'添加控件 DTPicker1,Command1

Private Sub Command1_Click()

Dim aa As Integer

Dim bb As Integer

Dim cc As Integer

Dim dd_xingzuo As Integer

Dim dd_shengxiao As Integer

Dim leirong As String

bb = DTPicker1.Month

aa = DTPicker1.Day

cc = DTPicker1.Year

dd_xingzuo = (bb * 100 + aa)

dd_shengxiao = cc Mod 12

If dd_xingzuo 112 And dd_xingzuo 221 Then

leirong = "星座:水瓶座"

End If

If dd_xingzuo = 221 And dd_xingzuo = 321 Then

leirong = "星座:双鱼座"

End If

If dd_xingzuo = 322 And dd_xingzuo = 420 Then

leirong = "星座:白羊座"

End If

If dd_xingzuo = 421 And dd_xingzuo = 521 Then

leirong = "星座:金牛座"

End If

If dd_xingzuo = 522 And dd_xingzuo = 621 Then

leirong = "星座:双子座"

End If

If dd_xingzuo = 622 And dd_xingzuo = 721 Then

leirong = "星座:巨蟹座"

End If

If dd_xingzuo = 722 And dd_xingzuo = 821 Then

leirong = "星座:狮子坐"

End If

If dd_xingzuo = 822 And dd_xingzuo = 921 Then

leirong = "星座:处女座"

End If

If dd_xingzuo = 922 And dd_xingzuo = 1021 Then

leirong = "星座:天秤座"

End If

If dd_xingzuo = 1022 And dd_xingzuo = 1121 Then

leirong = "星座:天蝎座"

End If

If dd_xingzuo = 1122 And dd_xingzuo = 1221 Then

leirong = "星座:射手座"

End If

If dd_xingzuo = 1222 Or dd_xingzuo = 111 Then

leirong = "星座:摩羯座"

End If

Select Case dd_shengxiao

Case 0

leirong = leirong vbCrLf "身肖:猴"

Case 1

leirong = leirong vbCrLf "身肖:鸡"

Case 2

leirong = leirong vbCrLf "身肖:狗"

Case 3

leirong = leirong vbCrLf "身肖:猪"

Case 4

leirong = leirong vbCrLf "身肖:鼠"

Case 5

leirong = leirong vbCrLf "身肖:牛"

Case 6

leirong = leirong vbCrLf "身肖:虎"

Case 7

leirong = leirong vbCrLf "身肖:兔"

Case 8

leirong = leirong vbCrLf "身肖:龙"

Case 9

leirong = leirong vbCrLf "身肖:蛇"

Case 10

leirong = leirong vbCrLf "身肖:马"

Case 11

leirong = leirong vbCrLf "身肖:羊"

End Select

MsgBox leirong, vbInformation, "计算结果"

End Sub

用java编一个程序能通过用户输入的生日判断用户的星座。请大神们给点提示或者思路吧。规定不能自定义方法

既然不允许用其他的方式,那就直接上代码吧....

public static void main(String[] args) {

        int point = -1;

        String[] str = {"白羊","金牛","双子","巨蟹","狮子","处女","天平","天蝎","射手","摩羯","水瓶","双鱼"};

        SimpleDateFormat sdf = new SimpleDateFormat("MM-dd");

        System.out.println("请输入一个日期,格式为MM-dd,例如:8-9");

        Scanner scan = new Scanner(System.in);

        Date d = null;

        while (true) {

            try {

                String input = scan.next();

                d = sdf.parse(input);

                break;

            } catch (Exception ex) {

                System.out.println("请输入正确的日期格式,例如:08-09");

            }

        }

        //格式化日期,将日期转成**.**的格式,比如1月1日转成1.01

        Double date = Double.parseDouble((d.getMonth() + 1)

            + "." + String.format("%02d", d.getDate()));

        if (3.21 = date  4.19 = date) {

            point = 0;

        } else if (4.20 = date  5.20 = date) {

            point = 1;

        } else if (5.21 = date  6.21 = date) {

            point = 2;

        } else if (6.22 = date  7.22 = date) {

            point = 3;

        } else if (7.23 = date  8.22 = date) {

            point = 4;

        } else if (8.23 = date  9.22 = date) {

            point = 5;

        } else if (9.23 = date  10.23 = date) {

            point = 6;

        } else if (10.24 = date  11.22 = date) {

            point = 7;

        } else if (11.23 = date  12.21 = date) {

            point = 8;

        } else if (12.22 = date  12.31 = date) {

            point = 9;

        } else if (1.01 = date  1.19 = date) {

            point = 9;

        } else if (1.20 = date  2.18 = date) {

            point = 10;

        } else if (2.19 = date  3.20 = date) {

            point = 11;

        }

        if(point == -1) {

            System.out.println("你真的是地球人么....");return;

        }

        System.out.println(String.format(

            "找到啦!o^ ^o,你的星座是%s.", str[point]));

用C++:给一个日期,判断它是何星座并给出该星座的特征。要求:面向对象编程,有关功能的实现封装在类中。

建立一个枚举

星座 //enum xingzuo{}

在{}里写入12个星座的名字

建立一个类

建一个类的数组

分别存入12个星座的信息

在类里放入星座的

开始日期 int kaiShi //如:0220

结束日期 int jieShu // 0321

……

//其他的特征

代码:

先判断输入的日期是那个属于那个星座

然后打印出类里的信息就行了

你可以自己去实现下

锻炼下自己

日期的格式你可以

从0101到1231

int riQi

如输入0228

就代表2月28号

用if语句 if(riQi=kaiShiriQi=jieShu)

星座查询的编程思路(星座查询程序)-第1张图片-星缘配

C语言编译一个能根据生日判断什么星座

用if else实现会比较好!因为星座日期是一个时间段啊!而switch语句是符合某个值的!

汇编程序设计星座查询系统

;哥们,你的课题也太麻烦了......不过,还是做出来了!!!

;

;用MASM 5.0编译

;文件输出格式如下:

;ZZZZZZZZZ 2.22 双鱼座 Pisces

;DDDDDDDDD 3.13 双鱼座 Pisces

;aaaaaaaaa 1.22 水瓶座 Aquarius

;VVVVVVVVV 5.23 双子座 Gemini

;汇编程序设计星座查询系统

; 悬赏分:50 - 离问题结束还有 15 天 9 小时

;功能描述:

; 通过输入姓名,月份日期 输出相应的星座。如输入:04-19,输;出:Aries。

; 输入Q 结束退出。同时把刚才的查询结果保存在quary.txt文档中。

;文档中的格式为:

;姓名 生日 星座

;

;星座日期信息如下:

;星座 日期(公历) 英文名

;魔羯座 (12/22 - 1/19) Capricorn 29

;水瓶座 (1/20 - 2/18) Aquarius 29

;双鱼座 (2/19 - 3/20) Pisces 30-31

;牡羊座 (3/21 - 4/20) Aries 31

;金牛座 (4/21 - 5/20) Taurus 30

;双子座 (5/21 - 6/21) Gemini 32

;巨蟹座 (6/22 - 7/22) Cancer 31

狮子座 (7/23 - 8/22) Leo 31

;处女座 (8/23 - 9/22) Virgo 31

;天秤座 (9/23 - 10/22) Libra 30

;天蝎座 (10/23 - 11/21) Scorpio 30

;射手座 (11/22 - 12/21) Sagittarius 30

;

;这个不会做额,哪位高手能在元旦假之前教我做呀?急用额,帮帮忙!

;能运行的话一定追加分感谢

;问题补充:邮箱651325419@qq.com

;

;

; 1.20 2.19 3/4/5.21 6/11/12.22 7/8/9/10.23

;

;

;

;

data segment

DIAN DB '.' ;"月.日"

KONG DB 5 DUP (' ') ;5个空格

xz_long EQU 12+7 ;整个xz 中单个XZ的长度

;file db 'czr.txt',0

file db 'quary.txt',0

handle dw ?

ERR1 db 0dh,0ah,'Creat file Error!$'

xz db '水瓶座 Aquarius $双鱼座 Pisces $牡羊座 Aries $金牛座 Taurus $双子座 Gemini $巨蟹座 Cancer $狮子座 Leo $处女座 Virgo $天秤座 Libra $天蝎座 Scorpio $射手座 Sagittarius$魔羯座 Capricorn $'

buff1 db 10,11 dup (0) ;input name

buff2 db 3,4 dup (0) ;input month

buff3 db 3,4 dup (0) ;input day

m1 db 0 ;month

d1 db 0 ;day

CRLF DB 0dh,0ah,'$'

file_ptr dw ? ;write position from string xz

s1 db 0dh,0ah,0dh,0ah,' Name: $'

s2 db 0dh,0ah,'Month: $'

s3 db 0dh,0ah,' Day: $'

W_F_BUFF DB 0DH,0AH

data ends

code segment

assume cs:code, ds:data

main proc far

start:

push ds

xor ax,ax

push ax

mov ax,data

mov ds,ax

;--------------------------------------FFFFFFFFFFF

mov dx,offset file

mov al,2 ;r/w mode

mov ah,3dh ;open file

int 21h

jc error ;open file error

mov handle,ax ;save handle

jmp w_file

error:

mov dx,offset file

mov cx,0 ;file attr

mov ah,3ch ;creat file

int 21h

jc error_1

mov handle,ax ;save handle

jmp w_file

error_1:

mov ah,09

lea dx,ERR1 ;disp 'Creat file Error!$'

int 21h

jmp END_D

w_file:

mov ah,42h ;shift file w/r ptr

mov bx,handle

mov al,2 ;set w/r ptr to file eof

mov cx,0

mov dx,0

int 21h

;--------------------FFFFFFFFFFFFFFFFFFFFFFFF

;-------------------------

START_1:

mov ah,09

mov dx ,offset s1 ;input name

int 21h

mov ah,0ah

mov dx,offset buff1

int 21h

;

MOV BX ,offset BUFF1+1 ;判断是否输入'Q'退出

MOV AL,[BX]

CMP AL,1

JNE NO_QUIT

INC BX

MOV AL,[BX]

CMP AL,'Q'

JNE NO_QUIT

JMP END_D

NO_QUIT:

;

mov ah,09

mov dx ,offset s2 ;input month

int 21h

mov ah,0ah

mov dx,offset buff2

int 21h

mov bx,offset buff2+1

mov al,[bx]

cmp al,2 ;is 2 wei?

jl is1

mov ah,10

inc bx

inc bx

mov al,[bx]

sub al,30h

add ah,al

mov m1,ah ;save month (2wei)

jmp m_end

is1:

inc bx

mov al,[bx]

sub al,30h

mov m1,al ;save month (1wei)

m_end:

;

mov ah,09

mov dx ,offset s3 ;input day

int 21h

mov ah,0ah

mov dx,offset buff3

int 21h

mov bx,offset buff3+1

mov al,[bx]

cmp al,2 ;is 2 wei?

jl is1_1

inc bx

mov al,[bx]

sub al,30h

mov dl,10

mul dl

inc bx

mov ah,[bx]

sub ah,30h

add al,ah

mov d1,al ;save day (2wei)

jmp d_end

is1_1:

inc bx

mov al,[bx]

sub al,30h

mov D1,al ;save day (1wei)

d_end:

MOV AH,09

MOV DX,OFFSET CRLF

INT 21H

mov dx,offset xz

mov ax,0

mov al,m1

DEC AL

call pd ;根据日判断AL是否减1或加12(如果是1月)

mov bl,xz_long ;xz中每一个XINZHUO CHANG

MUL BL

add dx,ax

mov file_ptr,dx ;save position went write to file from string xz

moV ah,09

int 21h

;

;-------------------------

mov cx,2

mov dx,offset crlf ;CRLF write TO file

mov ah,40h ;write file

mov bx,handle

INT 21H

mov dx,offset buff1 ;NAME write TO file

call file_w

mov ah,40h ;write 5 BLANK

mov Dx,OFFSET KONG

mov CX,5

mov bx,handle

INT 21H

mov dx,offset buff2 ;MONTH write TO file

call file_w

mov ah,40h ;write "."

mov Dx,OFFSET DIAN

mov CX,1

mov bx,handle

INT 21H

mov dx,offset buff3 ;DAY write TO file

Call file_w

mov ah,40h ;write 5 BLANK

mov Dx,OFFSET KONG

mov CX,5

mov bx,handle

INT 21H

MOV CH,0

mov CL,xz_long-1

mov dx,file_ptr

mov ah,40h ;XZ write TO file

mov bx,handle

INT 21H

JMP START_1

END_D:

mov ah,3eh ;close file

mov bx,handle

INT 21H

ret

main endp

;-------------------------------

file_w proc near

mov ah,40h ;write file

mov bx,dx

inc bx

mov ch,0

mov cl,[bx]

add dx,2

mov bx,handle

INT 21H

ret

file_w endp

;-----------------------------------

;==============================

PD PROC NEAR ;根据输入的"月日"做判断子程序

; 1.20 2.19 3/4/5.21 6/11/12.22 7/8/9/10.23

MOV AH,M1

CMP AH,1

JE YUE_1

CMP AH,2

JE YUE_2

CMP AH,3

JE YUE_345

CMP AH,4

JE YUE_345

CMP AH,5

JE YUE_345

CMP AH,6

JE YUE_61112

CMP AH,11

JE YUE_61112

CMP AH,12

JE YUE_61112

CMP AH,7

JE YUE_78910

CMP AH,8

JE YUE_78910

CMP AH,9

JE YUE_78910

CMP AH,10

JE YUE_78910

; 1.20 2.19 3/4/5.21 6/11/12.22 7/8/9/10.23

YUE_1:

MOV AH,D1

CMP AH,20

JL ADD11

JMP RET_PD

ADD11:

ADD AL,11

JMP RET_PD

;

YUE_2:

MOV AH,D1

CMP AH,19

JL AL_DEC1

JMP RET_PD

YUE_345:

MOV AH,D1

CMP AH,21

JL AL_DEC1

JMP RET_PD

YUE_61112:

MOV AH,D1

CMP AH,22

JL AL_DEC1

JMP RET_PD

YUE_78910:

MOV AH,D1

CMP AH,23

JL AL_DEC1

JMP RET_PD

AL_DEC1:

DEC AL

RET_PD:

RET

PD ENDP

;==============================

code ends

end start

标签: 星座查询的编程思路

发表评论 (已有0条评论)

还木有评论哦,快来抢沙发吧~