# Object oriented and process oriented ideas are different, and the code written in C language and Java language is different

Keywords: Java C

## preface

You are a programmer of a company. The company has two new batches of goods to sell. The boss wants you to write a sales procedure for these two batches of goods

## demand

boss:

First of all, the names of the two shipments are shukong   And border town, the price fluctuates with the market price. For example, the price of empty books is 1233 yuan per piece, while that of border town is 2564 yuan per piece. Then, our customers are some big customers, and the order quantity they order is very large, so we should give them preferential benefits. That's the way, as long as the order quantity reaches 200 pieces, Then we'll give you a 20% discount on more than 200 items.

Of course, the boss may really lose money, but you have to write anyway. First of all, as an elder in the company, a programmer using C language told you that he had ideas. Next, he snapped on the keyboard and his program came out

## code

```#include<stdio.h>

int main(){
int shukong_price = 1233; // The price of empty books
int biancheng_price = 2564;
int shukong_count; // Number of empty books
int biancheng_count = 0;
float shukong_perferential =  0; // Preferential price for book space
float biancheng_perferential =  0;
double shukong_cost = shukong_price * shukong_count - shukong_perferential; // Money to pay for an empty book
double biancheng_cost = biancheng_price * biancheng_count - biancheng_perferential;
double cost = biancheng_cost + shukong_cost; // Total money to be paid

printf("Please enter the number of empty books to purchase:\n");
scanf("%d",&shukong_count);

if (shukong_count > 200){
// Calculate whether the discount can be
shukong_perferential =  shukong_price * (shukong_count - 200) * 0.8;
printf("\n");
}

shukong_cost = shukong_price * shukong_count - shukong_perferential;
printf("The total price of empty books is:%lf",shukong_cost);
printf("\n");

printf("Please enter the number of border towns to purchase:\n");
scanf("%d",&biancheng_count);

if (biancheng_count > 200){
biancheng_perferential =  biancheng_price * (biancheng_count - 200) * 0.8;
printf("\n");
}

biancheng_cost = biancheng_price * biancheng_count - biancheng_perferential;
printf("The total price of border town is:%lf",biancheng_cost);
printf("\n");

cost = biancheng_cost + shukong_cost;
printf("You need to pay%lf element",cost);

}```

This is the operation lady next to me. When she came to see it, she said, but it's too ugly to pile it together, which is not conducive to code maintenance.

At this time, the elder said that he was right, and the backhand modified the code

```#include<stdio.h>

float perferential(int count,int price);

int main(){
int shukong_price = 1233; // The price of empty books
int biancheng_price = 2564;
int shukong_count; // Number of empty books
int biancheng_count = 0;
float shukong_perferential; // Preferential price for book space
float biancheng_perferential;
double shukong_cost = shukong_price * shukong_count - shukong_perferential; // Money to pay for an empty book
double biancheng_cost = biancheng_price * biancheng_count - biancheng_perferential;
double cost = biancheng_cost + shukong_cost; // Total money to be paid

printf("Please enter the number of empty books to purchase:\n");
scanf("%d",&shukong_count);

shukong_perferential = perferential(shukong_count,shukong_price);

shukong_cost = shukong_price * shukong_count - shukong_perferential;
printf("The total price of empty books is:%.2lf",shukong_cost);
printf("\n");

printf("Please enter the number of border towns to purchase:\n");
scanf("%d",&biancheng_count);

biancheng_perferential = perferential(biancheng_count,biancheng_price);

biancheng_cost = biancheng_price * biancheng_count - biancheng_perferential;
printf("The total price of border town is:%.2lf",biancheng_cost);
printf("\n");

cost = biancheng_cost + shukong_cost;
printf("You need to pay%.2lf element",cost);

}

float perferential(int count,int price){
// Judge whether the preferential quantity is reached, and return the preferential price if it is reached
float perferential_cost;
if (count > 200){
perferential_cost =  price * (count - 200) * 0.8;
printf("\n");
} else {
printf("If you order more than 200200 goods, you can enjoy a 20% discount!");
}
return perferential_cost;
}```

At this time, the operation lady looked at it and it looked really good. When you think about it, no, I have to write one

```import java.util.Scanner;

public class test{

public static void main(String[] args){
Scanner scan = new Scanner(System.in);
goods shukong = new goods("Book space"); // Initialize empty goods
shukong.price = 1233; // Set blank unit price
goods biancheng = new goods("Border town");
biancheng.price = 2564;

System.out.print(shukong.name + "The number of purchases is:");
shukong.set_count(scan.nextInt()); // User input purchase quantity
shukong.set_perferential(perferential(shukong.get_count(),shukong.price)); // Calculate preferential price
System.out.println("The price of the book is:" + String.format("%.2f",shukong.get_cost())); // Printout price

System.out.print(biancheng.name + "The number of purchases is:");
biancheng.set_count(scan.nextInt());
biancheng.set_perferential(perferential(biancheng.get_count(),biancheng.price));
System.out.println("The price of border town is:" + String.format("%.2f",biancheng.get_cost()));

System.out.println("The total price you need to pay is:" + String.format("%.2f",(shukong.get_cost() + biancheng.get_cost())));
scan.close();
}
static float perferential(int count,int price){
// Judge whether the preferential quantity is reached, and return the preferential price if it is reached
float perferential_cost = 0;
if (count > 200){
perferential_cost =  price * (count - 200) * 0.8f;

} else {
System.out.println("If you order more than 200200 goods, you can enjoy a 20% discount!");
}
return perferential_cost;
}
}

class goods{
// Commodity category
String name = new String(); // name
int price; // Price
private int count; // quantity
private float perferential; // Favorable Price
double cost = price * count - perferential; // Money to pay

goods(String name){
// Constructor to initialize the trade name
this.name = name;
}

void set_count(int count){
// Set item quantity
this.count = count;
}
int get_count(){
// Return item quantity
return count;
}

void set_perferential(float perferential){
// Set preferential price
this.perferential = perferential;
}
float get_perferential(){
// Return preferential price
return perferential;
}

double get_cost(){
// Return the money to be paid
cost = this.price * get_count() - get_perferential();
return cost;
}
}```

Your code has been written, but after seeing it, the little sister of operation said that there are too many lines of code and many fancy methods. It looks really troublesome. It's not as good as the predecessors. It looks very consistent with the logic of running the software.

First time   finish

## epilogue

First of all, this article, or this series of articles, is to compare the ideas between C and Java, but I may not be able to do it very well, because the learning time of C language is relatively short, and I have not experienced systematic learning. This time I wrote it by reading a lot of materials and reluctantly relying on memory, Therefore, the code level may not reflect the code level of our predecessors. Ha ha, although both of us are me, we can still see that one idea is different, but both languages can actually use each other's ideas to realize the functions they want.

Secondly, the following is for the members of the club. You can copy it once and twice according to the written code. In this way, you can speed up the progress of understanding. If you don't understand, you can actually go to Baidu

Finally, the next time the boss released new requirements, and the emergence of new requirements also made things develop in an unexpected direction

PS. how do you feel like writing a novel

Posted by Zoofu on Wed, 29 Sep 2021 14:29:52 -0700