আমি এই কোডটাকে আউটপুটে upper case আকারে দেখাতে চাই কিন্তু প্রথমেই আউটপুট ঠিক মত আসতাছে না! name[i]=toupper(name[i]); এইটাও ব্যবহার করলাম কাজ হয় না। আমি ঠিক মত কনসেপ্ট বুঝতেছি না। যেমনঃ ইনপুট নিলাম error net আউটপুটে আসবে ERROR NET। উল্লেখ্য আমি নিচের কোডে নরমালি দেখার জন্যে ইনপুট নিলে প্রথম ইনপুট ঠিক মত আসে। পরবর্তি ইনপুট এর প্রথম ডিজিট আসে না। আমাকে একটু কনসেপ্টটা ক্লিয়ার করলে উপকৃত হবো।

#include<iostream>
#include<string>

using namespace std;

int main()

{

    int c,i;

    string name[100];

    cin>>c;

    for(i=1;i<=c;i++){

        cin.ignore();

        getline(cin,name[i]);

        cout<<name[i]<<endl;

    }

}

asked 20 Nov '16, 08:11

Error%20403's gravatar image

Error 403
875

edited 23 Nov '16, 15:41

Tamanna%20Nishat%20Rini's gravatar image

Tamanna Nishat Rini ♦♦
3.0k312


আপনি আপনার লুপের আগে cin >> c; এর পর একটা cin.ignore(); ব্যবহার করলেই কাজ হয়ে যাবে ।

এটা করতে হচ্ছে কারণ আপনি যখন cin >> c; দিয়ে ইনপুট নিয়ে Enter key চাপছেন সেই Enter কে বাদ দেয়ার জন্য cin.ignore() ব্যবহার করা হচ্ছে ।

এটা না করলে Enter কে getline(cin, name[i]) ফাংশনটি ইনপুট হিসাবে নিয়ে name এর মধ্যে রাখাছে । যার কারণে name এ প্রথম char দেখা যাচ্ছে না ।

আর Upper case এ নিয়ে যেতে হলে সেটা আপনাকে ম্যানুয়ালি করতে হবে :(

len = strlen(name[i]); for(l = 0; l < len l++) { printf("%c", toupper(name[l])); } এই ফাংশন টি একটা করে char নেয় এবং সেটা upper case এ কনভার্ট করে ।

ধন্যবাদ :)

permanent link

answered 21 Nov '16, 07:30

menon's gravatar image

menon
4.7k335

edited 21 Nov '16, 13:20

উত্তর এডিট করে দিলাম @Error 403

(21 Nov '16, 08:11) menon

যদি একটু বুঝাইয়া বলতেন কেন লাগবে cin.ignore(); লুপের আগে এবং ইনপুটের পরে। আর আমি যাই ইনপুট নেই না কেন! আমি আমার আউটপুট Upper case করতে চাই এক্ষেত্রে কি মেথড ব্যবহার করবো।

permanent link

answered 21 Nov '16, 07:49

Error%20403's gravatar image

Error 403
875

include<iostream>

include<string>

include<ctype.h>

include<stdio.h>

using namespace std;

int main()

{

int c,i;

string name[100];

cin>>c; cin.ignore(); for(i=1;i<=c;i++){

getline(cin,name[i]);
name[i] = toupper(name[i]);

cout<<name[i]<<endl;

}

}

error: no matching function for call to ‘toupper(std::string&)’

কাজ হয় না ভাই।

permanent link

answered 21 Nov '16, 11:06

Error%20403's gravatar image

Error 403
875

উত্তর আবার এডিট করে দিলাম । আর আপনি উত্তর করার অংশে কমেন্ট না করে কমেন্ট অংশে কমেন্ট করুন @Error 403

(21 Nov '16, 12:54) menon
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:

×56

question asked: 20 Nov '16, 08:11

question was seen: 698 times

last updated: 23 Nov '16, 15:41