কোন প্রোগ্রাম লিখে রান করার পর প্রোগ্রামটা শুধু একবার চলে বন্ধ হয়ে যায়। এরকম কি সম্ভব যে প্রোগ্রামটা আমি বন্ধ না করা পর্যন্ত সেটা বন্ধ হবে না? যেমনঃ

#include <stdio.h>

int main()
{
    int x, y, total;
    printf("Enter value of x:");
    scanf("%d", &x);
    printf("Enter value of y:");
    scanf("%d", &y);
    total = x + y;
    printf("\n %d + %d = %d"x, y, total);
    return 0;
}

এখানে আমি চাই যে ব্যবহারকারী যতক্ষণ পর্যন্ত নিজে থেকে প্রোগ্রামটা বন্ধ না করবে ততক্ষণ পর্যন্ত প্রোগ্রামটা একবার চলার পর আবার একটা নম্বর ইনপুট চাইবে। এটা কীভাবে করা যাবে?

asked 22 May, 18:45

Riad_Hasan's gravatar image

Riad_Hasan
325

wikified 26 May, 05:48

Mosharraf%20Hosain's gravatar image

Mosharraf Hosain ♦
24618


লুপ ব্যবহার করে সহজেই এটা করা যাবে। এভাবে করা যেতে পারে:

#include <stdio.h>

int main(){
    int x, y, total;
    char ch;

    do{
        printf("Enter value of x:");
        scanf("%d", &x);

        printf("Enter value of y:");
        scanf("%d", &y);

        total = x + y;
        printf("\n %d + %d = %d", x, y, total);
        printf("\n\nDo more?(y/n): ");

        getchar();  // Flush the '\n' from input stream
        scanf("%c",&ch);
    } while(ch != 'n'); // program will terminate if user input 'n'

    return 0;
}

আপনার প্রোগ্রামের অষ্টম লাইনে ভুল আছে। লিখা আছে scanf("%d", &x); এরকম। হওয়া উচিত scanf("%d", &y);।

permanent link

answered 22 May, 19:35

Ashfaqur%20Rahman's gravatar image

Ashfaqur Rahman
7599

ধন্যবাদ আপনাকে

(23 May, 18:32) Riad_Hasan

যদি উত্তরটি আপনার প্রশ্নের সমাধান দিয়ে থাকে তবে এটিকে সঠিক উত্তর হিসেবে চিহ্নিত করুন, সেক্ষেত্রে অন্যদের প্রশ্নের টাইটেল দেখেই বুঝতে সুবিধা হবে যে এই প্রশ্নের সঠিক উত্তর আছে।

(23 May, 18:37) Ashfaqur Rahman

যদি কোডব্লকস ব্যবহার করেন তাহলে আরো একটি সল্যুশন আছে সম্পূর্ণ কোড এর নীচে আবার main() কল করুন যেমনঃ

#include <stdio.h>

int main()
{
    int x, y, total;
    printf("Enter value of x:");
    scanf("%d", &x);
    printf("Enter value of y:");
    scanf("%d", &y);
    total = x + y;
    printf("\n %d + %d = %d"x, y, total);
    main();
}
permanent link

answered 01 Jun, 18:10

x86's gravatar image

x86
334

edited 09 Jun, 05:06

Mosharraf%20Hosain's gravatar image

Mosharraf Hosain ♦
24618

1

এটা শুধু কোডব্লকস না যেকোন আইডিই এবং যেকোন কম্পাইলারের ক্ষেত্রেই কাজ করবে। এখানে মেইন ফাংশন নিজের ভেরেই আবার মেইন ফাংশনকে কল করছে। একে রিকার্শন বলে। তবে এটা ভাল কোন পদ্ধতি না। বেশ কয়েকবার* লুপ ঘোরার পরেই স্ট্যাকওভারফ্লো হয়ে প্রোগ্রাম বন্ধ হয়ে যাবে।

*বেশ কয়েকবারটা অনেকবার হতে পারে। নির্ভর করে স্ট্যাক মেমরি কত তার উপর। নর্মালি উইন্ডোজে এক মেগাবাইট আর লিনাক্সে আট মেগাবাইট।

(01 Jun, 22:06) Ashfaqur Rahman

goto ইউস করতে পারেন । এভাবে:

 x: {
    .....
    .....
    .....
}
goto x;

permanent link

answered 03 Jun, 20:39

Ashikur%20Rahman%20Tomal's gravatar image

Ashikur Rahman Tomal
54510

1

কোডটা মনে হয় একটু আপডেট করা দরকার যাতে একটা নির্দিষ্ট কন্ডিশনের জন্য লুপ বন্ধ হয়ে যায়। এরকম করা যেতে পারে:

x: {
    ...
    ...
    ...
}

if(condition){
    goto x;
}

আর goto ব্যবহার না করাই ভাল। goto দিয়ে যা করা যায় তা সবই লুপ দিয়ে করা যায়। শুধু শুধু কোডের কম্প্লেক্সিটি বাড়ায়। কেউ একজন goto ব্যবহারে এক্সপার্ট হলেও সেই কোড অন্যদের অবস্থা খারাপ করে দিতে পারে। কোড রিডেবিলিটির জন্য goto এর ব্যবহার খুবই ভয়ঙ্কর। তারপরও অলটার্নেটিভ একটা উপায় সেজন্য আপভোট।

আর goto বুড়োদের জিনিস!

(03 Jun, 21:53) Ashfaqur Rahman
Your answer
toggle preview

Follow this question

By Email:

Once you sign in you will be able to subscribe for any updates here

By RSS:

Answers

Answers and Comments

Markdown Basics

  • *italic* or _italic_
  • **bold** or __bold__
  • link:[text](http://url.com/ "title")
  • image?![alt text](/path/img.jpg "title")
  • numbered list: 1. Foo 2. Bar
  • to add a line break simply add two spaces to where you would like the new line to be.
  • basic HTML tags are also supported

Question tags:

×381
×67
×1

question asked: 22 May, 18:45

question was seen: 147 times

last updated: 09 Jun, 05:06