I`ve been programming in Java, and started learning C++ a few days ago. I was playing around with codes and got this :

# include <iostream>

using namespace std;

int main(){

	char str[100]; 
	char *pnt[100];
	
	for(int x = 0; x <= 100; x++){
		pnt[x] = str[x];
	}
	
	read();
	
	
}

void read(){
	cout<<"Enter your command :";
	cin.get(*pnt, 100);
	
	if(*pnt[0] == 'e' && *pnt[1] == 'c' && *pnt[2] == 'h' && *pnt[3] == 'o'){
		for(int i = 4; i <= 100; i++){
			cout<<*pnt[1];
		}
	}else {
		cout<<"There is no such command !";
		read();
	}
}

As I said, I`ve been programming in Java, and I`m totaly new to pointers. I tried everything I had in my mind, I just don`t know what else to do... I appreciate any kind of help, thanks!

Recommended Answers

All 3 Replies

What is your program supposed to do?

It looks like:
1) you want to copy 100 unused characters into str to pnt
2) you want to wait for the user to type the word "echo", then you will print it 100 times.

Is that right?

If so, you will need to pass the variable to the read() function.

If not, please explain.

Basicly, yes, I started making kind`a command prompt, to practice a bit. So far I made the "echo" command. If the first character is 'e', the second - 'c', third - 'h', and fourth - 'o', the program prints the following characters, excluding 'echo'.

P.S. Sorry for my bad english...

Here's a much easier way to do that, if you don't want to compare character by character:

// Fujy.cpp : Defines the entry point for the console application.
//
#include <string>
#include <iostream>
using namespace std;

int main(int argc, char ** argv)
{
	string str = "";
	
	cout << "Enter your command" << endl;
	
	cin >> str;
	
	if("echo" != str)
	{
		cout << "unknown command";
	}
	else
	{
		for(int intLoop=0; intLoop < 100; intLoop++)
		{
			cout << str << endl;
		}
	}
	
	return 0;
}
Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.