1. Ignousolvedassignments.com
Thanks for visiting us!! Subscribe!! Page 1
A C program to generate Telephone Bill for
Consumer – IGNOU MCAAssignment 2015 – 16
MASTER OF COMPUTER APPLICATIONS
Course Code : MCSL-017
Course Title : C and Assembly Language Programming (Lab Course)
Assignment Number : MCA(I)/L-017/Assignment/15-16
Maximum Marks : 100
Weightage : 25%
Write an interactive program in C language to create an application program which
generates the telephone bills. It stores various details of users Telephone Number, Name,
Address, No. of calls, local or STD/ISD call. Compute the amount to be paid if the charges
per local call is Rs. 2/- and for STD/ISD call is Rs. 5/-. It should have feature of searching
the customer records using the telephone number. The application should be designed
user-friendly.
Note: You must execute the program and submit the program logic, sample input and output
along with the necessary documentation for this question. Assumptions can be made wherever
necessary.
#include<stdio.h>
#include<dos.h>
struct consumer
{
int TEL_NO;
char NAME[10];
char ADDRESS[25];
int LOCAL;
int STD_ISD;
}USER[12]={
{25621,”GANESH”,”KACHPADA,MALAD W”,15,5},
{25622,”MAHESH”,”DOMNIC COLONY,MALAD W”,30,0},
{25623,”SURESH”,”SUNDER NAGAR MALAD W”,128,15},
{25624,”KALPESH”,”KACHPADA,MALAD W”,826,7},
{25625,”RAHUL”,”DOMNIC COLONY,MALAD W”,24,3},
{25626,”SUBBU”,”SUNDER NAGAR MALAD W”,475,0},
{25627,”RAKESH”,”BHADRAN NAGAR MALAD W”,97,7},
{25628,”ATUL”,”KACHPADA,MALAD W”,152,45},
{25629,”DHARMESH”,”SUNDER NAGAR MALAD W”,326,45},
{25630,”AJAY”,”BHADRAN NAGAR MALAD W”,216,12},
{25631,”ABDUL”,”DOMNIC COLONY,MALAD W”,127,1},
{25632,”RASHMI”,”KACHPADA,MALAD W”,95,5}
};
void main()
{
int TELNO;
void gen_bill(int);
clrscr();
printf(“ENTER TELEPHONE NO.(BTWN 25621 TO 25632) TO GENERATE BILL : “);
scanf(“%d”,&TELNO);
if(TELNO>25620 && TELNO<25633)
gen_bill(TELNO);
2. Ignousolvedassignments.com
Thanks for visiting us!! Subscribe!! Page 2
else
printf(“nYOU HAVE ENTERED WRONG TEL NO. !!”);
getch();
}
void gen_bill(int TELNO)
{
struct date D;
float LOCAL_CH,STD_ISD_CH,SER_CH,T_CALLS,T_BILL,FIX_CH=750;
getdate(&D);
printf(“nnttt MUMBAI TELEPHONE NIGAM LIMITED.”);
printf(“ntttt**BILL SUMMARY**nn”);
LOCAL_CH=USER[TELNO-25621].LOCAL*2;
STD_ISD_CH=USER[TELNO-25621].STD_ISD*5;
T_CALLS=LOCAL_CH+STD_ISD_CH;
SER_CH=(FIX_CH+T_CALLS)/10;
T_BILL=FIX_CH+T_CALLS+SER_CH;
printf(“tCONS.NAME : %stttBILL GEN. DATE:%d/%d/%d “,USER[TELNO-
25621].NAME,D.da_day,D.da_mon,D.da_year);
printf(“nntADDRESS : %sttBILL MONTH : %d %dn”,USER[TELNO-
25621].ADDRESS,D.da_mon-1,D.da_year);
printf(“nt_____________________________________________________________________
_”);
printf(“nntNO. OF CALLSttttCHARGESttAMOUNT(RS.)”);
printf(“nt_____________________________________________________________________
_”);
printf(“nntLOCAL :t%dtttMONTHLY(FIXED) :t%.0f”,USER[TELNO-25621].LOCAL,FIX_CH);
printf(“nntSTD/ISD :t%dtttCALL USAGE :t%.0f”,USER[TELNO-25621].STD_ISD,T_CALLS);
printf(“nnttttttSERVICE TAXtt%.0f”,SER_CH);
printf(“nt_____________________________________________________________________
_”);
printf(“nnttttttPAYABLE AMTtt%.0f”,T_BILL);
printf(“nt_____________________________________________________________________
_”);
}
Code: -
A program in assembly language to find the
perimeter of a rectangle – IGNOU MCAAssignment
2015 – 16
3. Ignousolvedassignments.com
Thanks for visiting us!! Subscribe!! Page 3
MASTER OF COMPUTER APPLICATIONS
Course Code : MCS-017
Course Title : C and Assembly Language Programming(Lab Course)
Assignment Number : MCA(I)/L-017/Assignment/15-16
Maximum Marks : 100
Weightage : 25%
Write a program in assembly language to find the perimeter of a rectangle.
DATA SEGMENT
LEN DB ?
BRE DB ?
RES DB 10 DUP (‘$’)
MSG1 DB 10,13,”ENTER LENGTH OF RECTANGLE : $”
MSG2 DB 10,13,”ENTER BREADTH OF RECTANGLE : $”
MSG3 DB 10,13,”SQUARE OF NUMBER IS : $”
DATA ENDS
CODE SEGMENT
ASSUME DS:DATA,CS:CODE
START:
MOV AX,DATA
MOV DS,AX
LEA DX,MSG1
MOV AH,9
INT 21H
MOV AH,1
INT 21H
SUB AL,30H
MOV AH,0
MOV BL,2
MUL BL
MOV LEN,AL
LEA DX,MSG2
MOV AH,9
INT 21H
MOV AH,1
INT 21H
SUB AL,30H
MOV AH,0
MOV BL,2
MUL BL
MOV BRE,AL
4. Ignousolvedassignments.com
Thanks for visiting us!! Subscribe!! Page 4
ADD AL,LEN
LEA SI,RES
CALL HEX2DEC
LEA DX,MSG3
MOV AH,9
INT 21H
LEA DX,RES
MOV AH,9
INT 21H
MOV AH,4CH
INT 21H
CODE ENDS
HEX2DEC PROC NEAR
MOV CX,0
MOV BX,10
LOOP1: MOV DX,0
DIV BX
ADD DL,30H
PUSH DX
INC CX
CMP AX,9
JG LOOP1
ADD AL,30H
MOV [SI],AL
LOOP2: POP AX
INC SI
MOV [SI],AL
LOOP LOOP2
RET
HEX2DEC ENDP
END START
Program Code :
Assembly language program to find the Square of a
number – IGNOU MCAAssignment 2015 – 16
Q. Write a program in assembly language to find the Square of a given number.
Course Code : MCS-017
Course Title : C and Assembly Language Programming(Lab Course)
5. Ignousolvedassignments.com
Thanks for visiting us!! Subscribe!! Page 5
Assignment Number : MCA(I)/L-017/Assignment/15-16
Maximum Marks : 100
Weightage : 25%
Solution :
DATA SEGMENT
NUM DB ?
RES DB 10 DUP (‘$’)
MSG1 DB “ENTER NUMBER : $”
MSG2 DB 10,13,”SQUARE OF NUMBER IS : $”
DATA ENDS
CODE SEGMENT
ASSUME DS:DATA,CS:CODE
START:
MOV AX,DATA
MOV DS,AX
LEA DX,MSG1
MOV AH,9
INT 21H
MOV AH,1
INT 21H
SUB AL,30H
MOV NUM,AL
MOV AH,0
MUL NUM
LEA SI,RES
CALL HEX2DEC
LEA DX,MSG2
MOV AH,9
INT 21H
LEA DX,RES
MOV AH,9
INT 21H
MOV AH,4CH
INT 21H
CODE ENDS
HEX2DEC PROC NEAR
MOV CX,0
MOV BX,10
LOOP1: MOV DX,0
DIV BX
ADD DL,30H
6. Ignousolvedassignments.com
Thanks for visiting us!! Subscribe!! Page 6
PUSH DX
INC CX
CMP AX,9
JG LOOP1
ADD AL,30H
MOV [SI],AL
LOOP2: POP AX
INC SI
MOV [SI],AL
LOOP LOOP2
RET
HEX2DEC ENDP
END START
An assembly language program to reverse the given
number and check if the number is palindrome –
IGNOU MCAAssignment 2015 – 16
By GangadharKopella | August 16, 2015
0 Comment
MASTER OF COMPUTER APPLICATIONS
Course Code : MCS-017
Course Title : C and Assembly Language Programming(Lab Course)
Assignment Number : MCA(I)/L-017/Assignment/15-16
Maximum Marks : 100
Weightage : 25%
Develop and execute an assembly language program to reverse the given number and
check if the number is palindrome.
DATA SEGMENT
NUM1 DW 12321
NUM2 DW ?
ARRY DB 10 DUP (0)
TEMP DW ?
MSG1 DB 10,13,’STORED NUMBER IN MEMORY IS : $’
MSG2 DB 10,13,’REVERSE NUMBER IS : $’
MSG3 DB 10,13,’NUMBER IS A PALINDROME $’
MSG4 DB 10,13,’NUMBER IS NOT A PALINDROME $’
RES DB 10 DUP (‘$’)
DATA ENDS
7. Ignousolvedassignments.com
Thanks for visiting us!! Subscribe!! Page 7
DISPLAY MACRO MSG
MOV AH,9
LEA DX,MSG
INT 21H
ENDM
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START:
MOV AX,DATA
MOV DS,AX
DISPLAY MSG1
MOV AX,NUM1
LEA SI,RES
CALL HEX2DEC
LEA DX,RES
MOV AH,9
INT 21H
LEA SI,ARRY
MOV AX,NUM1
REVE:
MOV DX,0
MOV BX,10
DIV BX
MOV ARRY[SI],DL
MOV TEMP,AX
MOV AX,DX
INC SI
MOV AX,TEMP
CMP TEMP,0
JG REVE
LEA DI,ARRY
LAST:
INC DI
CMP ARRY[DI],0
JG LAST
DEC DI
MOV AL,ARRY[DI]
MOV AH,0
MOV NUM2,AX
MOV CX,10
CONV:
DEC DI
MOV AL,ARRY[DI]
MOV AH,0
MUL CX
ADD NUM2,AX
8. Ignousolvedassignments.com
Thanks for visiting us!! Subscribe!! Page 8
MOV AX,CX
MOV BX,10
MUL BX
MOV CX,AX
CMP ARRY[DI],0
JG CONV
DISPLAY MSG2
MOV AX,NUM2
LEA SI,RES
CALL HEX2DEC
LEA DX,RES
MOV AH,9
INT 21H
MOV AX,NUM1
CMP NUM2,AX
JE PALIN
DISPLAY MSG4
JMP FINISH
PALIN:
DISPLAY MSG3
FINISH: MOV AH,4CH
INT 21H
CODE ENDS
HEX2DEC PROC NEAR
MOV CX,0
MOV BX,10
LOOP1: MOV DX,0
DIV BX
ADD DL,30H
PUSH DX
INC CX
CMP AX,9
JG LOOP1
ADD AL,30H
MOV [SI],AL
LOOP2: POP AX
INC SI
MOV [SI],AL
LOOP LOOP2
RET
HEX2DEC ENDP
9. Ignousolvedassignments.com
Thanks for visiting us!! Subscribe!! Page 9
END START
A program in assembly language to find the largest
of 3 numbers – IGNOU MCAAssignment 2015 – 16
By GangadharKopella | August 16, 2015
0 Comment
MASTER OF COMPUTER APPLICATIONS
Course Code : MCS-017
Course Title : C and Assembly Language Programming(Lab Course)
Assignment Number : MCA(I)/L-017/Assignment/15-16
Maximum Marks : 100
Weightage : 25%
Write a program in assembly language to find the largest of 3 numbers.
DATA SEGMENT
NUM1 DB 5
NUM2 DB 9
NUM3 DB 7
LRGT DB ?
ENDS
CODE SEGMENT
ASSUME DS:DATA CS:CODE
START:
MOV AX,DATA
MOV DS,AX
MOV AL,NUM1
MOV LRGT,AL
CMP AL,NUM2
JGE SKIP1
MOV AL,NUM2
MOV LRGT,AL
SKIP1:
MOV AL,LRGT
CMP AL,NUM3
JGE SKIP2
MOV AL,NUM3
MOV LRGT,AL
SKIP2:
MOV AH,4CH
INT 21H